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

友坚 4412开发板 如何在Linux平台下UT4412BV03裸机开发指南(二).ppt

友坚 4412开发板 如何在Linux平台下UT4412BV03裸机开发指南(二).ppt

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
友坚 4412开发板 如何在Linux平台下UT4412BV03裸机开发指南(二)

Linux平台下UT4412BV03裸机开发指南(二) 友坚4412开发板 友坚UT4412BV03开发板 友坚4412开发板 第一章 汇编点亮LED 第一节 查看原理图 友坚4412开发板 UT4412BV03开发板上提供了4个可编程用户LED,原理图如下: 第一章 汇编点亮LED 友坚4412开发板 在原理图中有哪些信誉好的足球投注网站引脚“EINT5”,可得: 可见,LED的D3、D4、D6、D7分别使用CPU端口资源为GPX0_5、GPX0_7、GPX2_4、GPX2_5. 第一章 汇编点亮LED 友坚4412开发板 第二节 程序相关讲解 完整代码见目录1.leds_s。 1. start.S 由原理图可知,点亮UT4412BV03的4个LED需如下2个步骤: 第一步:设置寄存器GPX0CON和GPX2CON,使GPX0_5、GPX0_7、GPX2_4、GPX2_5四个引脚为输出功能; 第二步:往寄存器GPX0DAT/GPX2DAT相应的位写0,使GPX0_5、GPX0_7、GPX2_4、GPX2_5四个引脚输出低电平,4个LED会亮;相反,往寄存器GPJ2DAT写1,使GPX0_5、GPX0_7、GPX2_4、GPX2_5四个引脚输出高电平,4个LED会灭; 以上两个步骤即为start.S中的核心内容,start.S里面涉及的汇编指令请自行学习GNU汇编指令集,这里不再进行赘述。 第一章 汇编点亮LED 友坚4412开发板 1. Makefile led.bin: start.o arm-linux-ld -Tled.lds -o led.elf $^ arm-linux-objcopy -O binary led.elf led.bin arm-linux-objdump -D led.elf led_elf.dis gcc -o my_mkbl2 my_mktools.c ./my_mkbl2 $@ bl2.bin 14336 sudo ./sd_fusing.sh /dev/sdb bl2.bin %.o : %.S arm-linux-gcc -o $@ $ -c %.o : %.c arm-linux-gcc -o $@ $ -c clean: rm *.o *.elf *.bin *.dis my_mkbl2 –f 在Makefile所在的目录下执行make命令,系统会进行如下操作: 第一步 :执行arm-linux-gcc -o $@ $ -c命令将当前目录下存在的汇编文件和C文件编译生成.o文件; 第二步:执行arm-linux-ld -Tled.lds -o led.elf $^将所有.o文件链接成elf文件,-Tled.lds表示程序的链接地址,由于目前我们编写的代码是位置无关码,所以程序能在任何一个地址上运行; 第三步:执行arm-linux-objcopy -O binary led.elf led.bin将elf文件抽取为可在开发板上运行的bin文件; 第四步:执行arm-linux-objdump -D led.elf led_elf.dis将elf文件反汇编后保存在dis文件中,调试程序时可能会用到; 第五步:执行./my_mkbl2 $@ bl2.bin 14336命令,my_mkbl2处理led.bin文件,my_mkbl2由my_mktools.c编译而来,具体解释请看my_mktools.c相关讲解; 第六步 :执行sudo ./sd_fusing.sh /dev/sdb bl2.bin将bl2.bin烧写进SD卡。 第一章 汇编点亮LED 友坚4412开发板 3. my_mktools.c 4412的启动过程,我们在下一章再说.my_mktools.c大家可以看看源码,韦东山老师已经做好了注释.现在只要知道my_mkbl2的作用是截取用户提供的bin文件前(14K-4)字节数据,算出4字节的校验码,然后这两部分数据组合成14KB的文件bl2.bin,它就是BL2. 第一章 汇编点亮LED 友坚4412开发板 4.led.lds SECTIONS { . = 0 .text : { start.o * (.text) } .rodata : { * (.rodata) } .data : { * (.data) } .bss : { * (.bss) } } 0是程序要加载的地址,.text是代码段,.rodata是只读数据段,.data是数据段,.bss 是bss段。 第一章 汇编点亮LED 友坚4412开发板 第三节 编译代码和烧写运行 将sd卡插入PC,

文档评论(0)

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

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

1亿VIP精品文档

相关文档