网站大量收购闲置独家精品文档,联系QQ:2885784924

嵌入式实验报告流水灯.doc

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
LED流水灯 一、【实验目的】 1、掌握基本的ARM中C语言编程方法. 深入理解ARM开发环境的体系结构。 2、演示程序的效果,并对程序结果进行分析。 3、熟悉并掌握windows平台下的嵌入式开发的基本步骤和原理,并对嵌入式系统有更深入的了解。 二、【实验步骤】 一、打开Virtual Machine虚拟机软件,在打开的软件中打开存在的虚拟机或分组,并在E盘中找到ubuntu系统打开。 二、安装交叉编译器 1、将cross-4.2.2-eabi.tar.bz2文件拷贝到Ubuntu的/forlinux目录下。在Uuntu中新建一个终 端,输入下面的命令安装交叉编译器: #cd /forlinux (进入/forlinux目录) #mkfir /usr/local/arm (创建目录,若目录存在会提示错误,跳过即可) #tar jxvf cross-4.2.2-eabi.tar.bz2 -C /usr/local/arm (编译器解压到/usr/local/arm) 2、完成解压后将在/usr/local/arm目录下生成“4.2.2-eabi”目录。 三、挂载NFS文件系统目录 1、启动nfs服务之前,必须在Ubuntu上准备好NFS共享目录。 例如我们采用Ubuntu的“/forlinux/root”作为NFS共享目录,就需要将“FORLINX_6410_yaffs2_v1.0.tgz”压缩文件拷贝到这个目录下,然后解压缩,得到根文件系统所需要的目录。 2、在Ubuntu上打开一个终端,输入以下命令:#mkdir /forlinux/root 3、将FORLINX_6410_yaffs2_v1.0.tgz文件拷贝到该目录下, 4、解压命令:#tar -zxf FORLINX_6410_yaffs2_v1.0.tgz 四、启动超级终端 1、启动开始—附件—通讯—超级终端。 2、在超级终端弹出的连接描述中输入111作为名称,接着选择第一个电话图案,接着点击确定。 3、在弹出的COM1属性窗口中选择每秒位数为115200,数据位为8,奇偶校验为无,,停止位为1,数据流控制为无,然后点击确定。如下图所示 4、完成配置后,用串口线连接开发板的COM1,接着在打开开发板的电源时立刻不断敲键盘的空格键。这时,超级终端里面完成一些配置后停住,我们在 SMDK6410 #setenv bootargs root=/dev/nfs nfsroot=172.43.24.140:/forlinux/root ip=172.43.24.141:172.43.24.140:172.43.24.0:255.255.255.0::eth0: console=ttySAC0, 115200. 5、保存 SMDK6410 # saveenv 6、重新启动开发板,Linux内核启动后会自动挂载NFS文件系统。 LED驱动 1、编写LED驱动程序myled.c 2、编写Makefile 3、编写应用程序myled_app.c 4、在Ubuntu的forlinux目录下新建一个led目录把上面编写的3个文件拷贝到led目录下,在led目录下输入make编译myled.c生成myled.ko。 5、用交叉编译工具链编译应用程序myled_app.c,在nfs的共享目录/forlinux/root新建myled目录,并把myled_app,myled.ko拷贝到led目录下 6、开发板上电,进入myled目录,加载myled模块使用insmod,最后输入./app number on/off运行程序,观察led的变化。 三、【Makefile文件分析】 obj-m := myled.o //目标文件:myled.o KDIR := /linux2.6.28 //内核路径 all: make -C $(KDIR) M=$(PWD) modules //在内核路径KDIR := /linux2.6.28下生成myled.o clean: rm -f *.ko *.o *.mod.o *.mod.c *.symvers *.order//删除这些后缀的文件 四、【驱动程序分析】 1、 static int __init Led_init(void) { int ret; /* 实现地址映射*/ Clock_Address=ioremap(SEG_LED, 1); Led_Address=ioremap(LED_DATE, 1); Gpkcon_Address=ioremap(GPKCON0, 1);

文档评论(0)

xingyuxiaxiang + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档