欢迎来到天天文库
浏览记录
ID:32601509
大小:375.89 KB
页数:13页
时间:2019-02-13
《022440裸机程序(gpio和内存管理)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、第一节、GPIO实验(1)、汇编语言编写点亮LED1。原理图:111*7rviviviz^nLED1M17(nLED1nLED2L14nLED2nLED4L15nLED4门tpnI1AVOI^3.3Vcun13/vjrrjEINT4/GPF4EINT5/GPF5EINT6/GPF67AR75mo__R73HrtSnLI£I)4编辑程序:§led_on.S@File:led_on.S@功能:LED黃灯程序•点^LEDl.textarm-linux・gcc・g・cled_on.oled_on.Sarm-linux-l
2、d-Ttext0x0000000-gled_on.oaria・linuxbjcopybinary-Sled_on_elfclean:-oledonelfledon.binrmledon.binledonelf*.o是・O•此妙书写就是这样78.global_startstart:9LDRR0,=0x56000050@R0设为GPFCON^存器.此寄存器10@用于选择踹口B各引脚的功能:11@晟输出g晟输也还是蔑他12MOVRl,#0x00000100@设置GPF4另输出口,®.[8:7]=0b0113ST#R1J
3、R0]@STR是写内存指令,将R1的值写到R014LDRR0,=0x56000054@R0设为GPBDAT窃存器・此窃存話15@瑕无璨/写踹各引脚的数据16HOVRl,$0x00000000@此值改为0x00000010,17@可让LEDJL熄灭18STRRl,[R0]@GPF4输出0,LRD1点壳19MAIN_LOOP:@死循•坯.20BMAIN_LOOPiled_on.SMakefile1ledon.bin:ledon.S编译:-R:加入一些调试信息,这里只烧写,-只可以去一个程序在编译的时候,经过以卜•步骤
4、:1)预处理一>语法分析之类2)编译一>.c编译成.S3)汇编一>.S汇编成.o4)链接一>把多个.。合并成-个可执行文件烧写/启动:a.oflash,exeb.dnw(3)、C语言点亮LED。a.软件初始化(启动文件的工作):①•设置栈SP,SP指向某块内存。1)、SP指向2440片内SRAM(4K),不用初始化就能使用;2)、SP指向片外SDRAM,需要首先初始化SDRAMo②.设迸返回地址。③.调用mairio④.清理工作。b.硬件初始化:①.关看门狗。②•初始化时钟。2440—上电时钟为12MHz;最快可
5、跑到400MHz0③.初始化SDRAMoC.a和b加起来就是启动文件。d.指针操作介绍:①.inta;int*p;p=&a;*p=0x100;//等效于a二0x100类型转换强制指向某个地址防止编译器自动优(int*)0x56000050;0x100;//等效于*((volatileint*)0x56000050)0x100;编辑程序:Makefileledoitc.cJ@File:crt0.S@功能二通过它辕入C程序・text9rO^・0x530000010讥.10x011rl,(rOJ1213H=1024*4
6、1415main16halt._loop:17bhalt_loop•
7、曰crtOS曰“donc・c
8、5678.global_itart■匕・rt:#defineGPFCONSdefineGPFDATxaaln(>VATCHPOC^存詩地址写入(b禁止VATCHDOGe否则CPU会不断里设置堆伐.注意:不絶大于4打因为现在可用的内存只有4Knandflash中的代码在震位后会抄到内部fam中•此raia只有4R凸用C程庠中的函数unsignedlong*)0x56000050)(*(vo1x1•unsigned丄o
9、ng*)0x56000054)Eli1011查看反汇编:GPFCON■1门Id:GPFDAT=OxOOOOOOOO;ledonce丄10丄丄//t^SCPF4为输出口.[9:8]-ObOl//GPF4输出0・LED丄点壳Dxsasseiotoiyofsection.t^ext:OOOOOOOOvstairt>zO:4:8:<3^00453^.QXrO,e3aOlOOOrl.eS8O±OOOM丄"e3aOdaOlmov>PeEbOOOOOO1801392SO89Z8#O;OxO[rO]#4096vmainA0x53
10、000000关看门狗OxlOOO>设晉桟14丄4:b14:1718:elaOcOOd»Q35Nd♦z18lc:e9Zdd8OO⑷!•1920:•N4ubOO4礬3b3.tf4•20Z4:e3aO34S6工3,#1442840sNJL28:<2833050■dd0802ZZc:e3^O2cOlxN.#2S6■•
此文档下载收益归作者所有