欢迎来到天天文库
浏览记录
ID:6320875
大小:136.50 KB
页数:7页
时间:2018-01-10
《linux数码管驱动详细过程》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、嵌入式Linux系统系列培训基于JXARM9-2410-1实验嵌入式Linux中驱动程序的编写(静态加载方式,模块(动态)加载方式)与应用程序开发。分5个步骤:①数码管驱动程序seg和应用程序segtest编译;②修改驱动程序seg虚拟地址空间――smdk.c;③(静态或动态)加载驱动程序seg到linux内核(zImage);④修改文件系统Ramdisk.gz,将应用程序segtest加入其中;⑤下载linux内核和文件系统,并自动运行应用程序运行。一、在Linux下编译驱动程序,以学习机上的数码管显示驱动Seg应用程序为例。数码管显示驱动和应用程序包括
2、seg.h,seg.c,segtest.c,segc四个文件,其中seg.h,seg.c是驱动程序,segtest.c是调用驱动的应用程序,segc是编译文件。DEVICE_NAME:“char_dev”(seg.c定义)MAJOR_NUM:96(seg.h定义)DEVICE_FILE_NAME:“seg”(seg.h定义)1.将WinXP下的seg目录下的四个文件复制到VMware中的linux中的/home/cvtech/jx2410/examples/seg目录下。采用两种方法将winxp中的文件夹映射到VMware中的linux系统中。方法①:(共
3、享目录)在VMware中,选择;VM>Settings>Option,选sharedfolders,eg:e:segAdd共享文件夹在VMware下的linux中,显示的文件夹为:/mnt/hgfs/seg方法②:(TFTP)通过tftp将winxp中的seg文件夹中的文件复制到VMware中的linux中,具体步骤:a)改winxp主机IP为192.168.1.160,子网掩码为:255.255.255.0,其它不填b)在VM>Linux中,输入:$ifconfigeth0192.168.1.180↙(激活IP)(Linuxlogin:root,pas
4、sword:123456)c)在Winxp下启动tftp,设置e:seg为目录,serverinterface:192.168.1.160d)在VM>linux中,执行$cd/home/cvtech/jx2401/examples↙$mkdirseg↙$cdseg↙$tftp192.168.1.160↙Tftp>get*.↙(getseg.c按照文件名copy,copy完,q退出)$chmod777*↙(设置刚复制的文件属性为可读写)以上步骤,则将winxp中的E:seg下的文件,复制到VMware->linux下的/home/cvtech/jx24
5、01/examples/seg中。2.Linux下的seg编译步骤:$cd/home/cvtech/jx2410/examples/seg↙$./segc↙(seg.c批处理编译脚本,生成segtest应用程序和seg.o)$cpseg.o/tftpboot$cpsegtest/tftpboot一、修改驱动程序所涉及到的虚拟地址空间Linux系统中不允许应用程序直接访问设备的物理地址,所有的物理地址需要转换为虚拟地址。$cd/home/cvtech/jx2401/linux/arch/arm/mach-s3c2410$vismdk.c↙在map_desc_
6、smdk_io_desc[]结构体中增加数码管物理地址0x1000006的映射。….…..0xd3000000,0x10000000,0x01000000,DOMAN_IO,0,1,0,0…..退出vi并保存(wq)。如图1:编译新修改的内核:$makezImage下载到目标机:在DNW中,执行:JX2410#runloadlinux启动Linux后#mount192.168.1.180:/tftpboot/mnt/nfs(在目标机上映射主机(虚拟机)tftpboot目录为目标机的/mnt/nfs目录)#cd/mnt/nfs↙#insmodseg.o#mk
7、nod/dev/segc960↙(创建设备文件名)#segtest↙(运行应用程序)一、修改Linux内核,加载驱动程序到嵌入式Linux内核zImage中,并设置系统启动时自动运行应用程序(调用驱动)在Linux中,执行以下命令:1.$cd/home/cvtech/jx2410/linux↙(进入嵌入式Linux路径)2.$cddriver/char↙3.$viconfig.in↙(修改menuconfig界面内容,增加新的驱动程序选项)在vi中,查找supportS3C2410TouchScreen在其下行加入新驱动程序支持项Support…SEG通
8、过这里在菜单中进行添加。如图2:4.$viMakefile(在Ma
此文档下载收益归作者所有