实验三 嵌入式Linux驱动(1)(3)

2019-03-27 19:15

printf(\ [3] All Display\\n\ printf(\ [4] Clear Display\\n\ printf(\ [5] Write Display\\n\ printf(\ [C] Close Device\\n\ printf(\ [x] Exit Test\\n\ printf(\ ***********************\\n\ printf(\ }

int main(intargc, char **argv) { intfd=-1; intnum=0; charch=0x00; unsigned char led[4]; display_menu(); while(1) {

ch=getchar();

switch(ch) { case '0': if(fd>0) { printf(\ } else { fd = open(SEG_DEV, O_RDWR); if(fd< 0) printf(\ else printf(\ } display_menu(); break; case '1': if(fd>0) { appear_same(fd); clear_led(fd); }

else

printf(\ display_menu(); break; case '2': if(fd>0) { appear_roll(fd); clear_led(fd); } else

printf(\display_menu(); break; case '3': if(fd>0) display_led(fd); else printf(\display_menu(); break; case '4': if(fd>0) clear_led(fd); else printf(\display_menu(); break; case '5': if(fd>0) { printf(“please input a number(0 <= number <=9999):”); scanf(“%d”, &num); if (num<0 || num> 9999) printf(“can not display this number.\\n”); else { led[0]=num/1000; led[1]=(num00)/100; led[2]=(num0)/10; led[3]=num; write(fd,led,4); } } else

printf(\display_menu(); break; case 'c': case 'C': if(fd>0) { clear_led(fd); sleep(1); close(fd); printf(\ fd=-1; } display_menu(); break; case 'x': case 'X': if(fd>0) { clear_led(fd); sleep(1); close(fd); } exit(0); break; } } return(0); }

2) 测试程序的Makefile文件内容: seg7_test:seg7_test.c arm-linux-gcc seg7_test.c -o seg7_test clean: rm -f seg7_test

5. 七段数码管驱动的交叉编译

1) 进入目录/root/Backup/source下,解压缩驱动源代码到指定路径。

图4

2) 交叉编译驱动:进入/root/Backup/Driver/xidian_seg7目录下,编译源程序。

图5

3) 在确认测试代码和Makefile文件编写无误之后,交叉编译测试代码。

图6

4) 调用file命令查看文件格式,编译出来的可执行程序seg7_test是ARM

的ELF文件。

图7

6. 驱动程序的移植、注册与测试

1) 首先确认实验板和主机的网络连通,然后调用scp命令将测试程序和驱

动程序模块拷贝到目标机上(目标机root用户的密码为“xidian”)。

图8

拷贝成功后,驱动和测试程序保存在目标机的/opt目录下面,如图9所示:

图9

2) 在目标机上利用mknod命令建立设备文件节点;并利用insmod命令动

态加载驱动模块,同时利用lsmod命令查看驱动模块的加载情况。

图10

执行完以上三条命令后,驱动模块成功添加进内核中,完成注册。 3) 在目标机的/opt目录下执行驱动测试程序。


实验三 嵌入式Linux驱动(1)(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:群文阅读让学生主动,让课堂灵动

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: