嵌入式实验报告1-6要求(1) 下载本文

内容发布更新时间 : 2024/12/26 23:53:52星期一 下面是文章的全部内容请认真阅读。

实验六 综合设计实验

实验类型:□验证 ■综合 ■设计 □创新 实验日期:2018.12.15-2019.1.5(12) 实验成绩: 一、实验目的

1、掌握linux移植的过程。

2、掌握在Android或QT上驱动开发的过程。 二、实验内容

1、刷写Android或QT,调用内核文件运行某个模块; 2、编写代码在Android或QT上驱动LED或KEY。 三、实验过程

1、Linux系统下安装MiniTools

Linux下的MiniTools使用静态编译的方式发行。但要注意的是,必须要使用root用户来运行MiniTools,否则有可能会出现USB无法连接到开发板的情况,建议平时就使用root用户来进行日常开发。Linux系统下的MiniTools安装比较简单,只需要用命令解压A光盘tools目录下的MiniTools-Linux-YYYYMMDD.tgz到本地即可,要启动MiniTools,进入MiniTools目录,在命令行下执行./start.sh 即可,如非root用户,需要先su切换到root用户,再执行。

2、SD卡准备工作

a. 用SD-Flasher工具将Superboot烧写到SD卡中。

b. 将光盘中的images/FriendlyARM.ini文件拷贝到SD卡中的images目录下。

c. 编辑SD卡中的images/FriendlyARM.ini文件文件,增加一行代码:USB-Mode = yes

3、使用MiniTools工具烧写系统

a. 先使用su命令切换root用户。

b. 在虚拟机中打开MiniTools,此时Ubuntu的终端命令行中会显示root@FriendlyARM c. 烧写配置基本与FriendlyARM.ini配置文件相同,你可以参照FriendlyARM.ini手动填写界面上的配置,不过,一个更方便的办法是点击界面上的“选择images目录”按钮,并将目录定位到光盘的images目录下,MiniTools会自动所选目录下的FriendlyARM.ini配置内容,并填写到界面上。

d. 将在Ubuntu中编译自己写的led.c文件。编译方式:使用gcc编译器,利用gcc led.c命令就可以对c程序进行编译并且会生成一个led.o文件。

e. 将编译后生成的可执行文件led.o放到SD卡中

4、在Ubuntu中进行控制

先将Tiny4413和电脑用串口连接起来。然后在Tiny4412的显示界面关闭LED灯自动闪烁。然后按SD卡中编写的代码,在Ubuntu的中断命令行中输入对应控制代码,可以观察到Tiny4412母板上的LED灯被控制点亮或者熄灭。

四、实验代码 #include #include #include #include #include #include #include

int main(int argc, char **argv) { int on; int led_no; int fd; if (argc != 3 || sscanf(argv[1], \ on < 0 || on > 1 || led_no < 0 || led_no > 3)

{ fprintf(stderr, \ exit(1); } fd = open(\ if (fd < 0) { fd = open(\ } if (fd < 0) { perror(\ exit(1); } ioctl(fd, on, led_no); close(fd); return 0; }

五、实验结果及分析

实验结果:

在Ubuntu的终端命令行中键入./led 2 1时,Tiny4412母板上的2号LED灯被点亮,键入./led 2 0时,Tiny4412母板上的2号LED灯熄灭

实验分析: