[Embedded] [FL2440] ADS实验一: 汇编语言编程1 (找到GPBCON和GPBDAT的地址)
来源:互联网 发布:php和java的区别 编辑:程序博客网 时间:2024/05/22 07:57
PS: 这个问题在FL2440的BBS上已经有零碎的解答(!急!!急!!μC/OSⅡ下跑马灯程序该如何编写?4个LED的地址呢?),我写在这里目的是为了整理自己所学,并当作笔记方便以后查找。绝没有重复劳动的意思,另外我没有确定飞凌公司对源代码的授权,如果需要我撤消源代码,请在回复里知会一声或发邮件到 (dooit.lee@gmail.com)
在做第一个ADS实验时, 发现仅仅看板上的《开发使用手册》是不够的,当你进行ARM汇编编程时,你需要找到板上部件的相关控制寄存器和数据存储器,拿FL2440板来说,当你想做点亮LED的ADS汇编程序时,你需要知道FL2440板上LED的control register和data register的地址,那么你要去那里查找呢?
在《开发板使用手册》上只找到相应的LED对应的管脚是GPB,则你可能需要找到GPBCON(控制寄存器)和GPBDAT(数据寄存器)的地址。一般来说,每个板上的光盘的资料都有一个hardware的目录,里面的内容包括有对应的开发板的硬件设计图,相应的硬件地址。在FL2440里,GPBCON和GPBDAT可以在hardware文件夹里的关于2440芯片的文档查看到(FL2440: FL2440\Hardware\芯片DATASHEET\um_s3c2440a_rev10.pdf),对于其他开发板我想也可以在相应的目录找到相关的资料。
找到了相关部件的控制寄存器和数据寄存器后,ARM的汇编编程实际上也就和以前学的80386和单片机编程差不多了,只是汇编语言有所不同而已。
这里是FL2440的点亮LED的ADS汇编程序的代码,里面有一些我个人的笔记痕迹
; by Dooit.Lee@gmail.com; Description: Light up LED; Refer to: www.witech.com.cn;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;公司名称:保定飞凌嵌入式技术有限公司;描 述:LED点亮;版 权:保定飞凌嵌入式技术有限公司;网 址:www.witech.com.cn;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AREA SAMPLE,CODE,READONLYENTRYSTART; refer to: FL2440\Hardware\芯片DATASHEET\um_s3c2440a_rev10.pdf P65/595LDR R3,=0x56000010 ; 把GPB的控制寄存器保存在R3中;LDR R4,=0x555555;LDR R4,=0x511400; only set LED0-LED3 as ouputSTR R4,[R3]; 初始化GPB口的控制寄存器, ; 使LED0-LED3对应的管脚为输出LDR R1, =0x56000014; GPB的DAT寄存器地址;MOV R2,#0x00000; light up led 0-4MOV R2,#0x00040; shutdown LED{2} (GPB{8})STR R2,[R1]; 点亮LED0-LED3BSTART; 跳回去START,一个死循环END
- [Embedded] [FL2440] ADS实验一: 汇编语言编程1 (找到GPBCON和GPBDAT的地址)
- [Solved] [Embedded] [FL2440] ADS实验二:汇编语言编程2:相同的源代码和同样的配置,自已对着打上去的却得不到结果:结论是粗心的代价非常大
- [Solved] [Embedded] [FL2440] ADS实验4: 蜂鸣器实验: 蜂鸣器响都不响一声
- [Embedded] [FL2440] ADS实验五: 按键与蜂鸣器: 修改了光盘配的代码的一句错误, 并优化了当中 的计数值
- [Embedded] [FL2440] ADS实验三:LED跑马灯:增加了一个程序启动声音 (运行程序时beep一声)
- [Not Solved] ][Embedded] [FL2440] ADS实验六: ADC实验: 还没有完全理解代码
- ADS汇编语言1
- ADS汇编语言1 .
- ADS + JLink + FL2440调试
- ARM中ADS环境下C语言和汇编语言混合编程及示例
- 哈工大汇编语言实验一
- FL2440下的fork实验
- FL2440下的IIC实验
- FL2440下的看门狗实验
- FL2440下的USB实验
- 汇编语言实验1-实验平台、理解寄存器和内存
- FL2440下的流水灯实验
- FL2440下的CAN总线实验
- android intent
- mkimage制作linux内核映像----uImage是怎么制作的
- cmd中用PING命令时,出现'Ping' 不是内部或外部命令
- Android编译没有找到AndroidManifest.xml问题解决
- Android学习总结(三)---进度条(ProgressBar)
- [Embedded] [FL2440] ADS实验一: 汇编语言编程1 (找到GPBCON和GPBDAT的地址)
- 提问的智慧(转载)
- c# lambda简化委托
- 使用Java中的ArrayList给所存对象排序问题
- 3D视界- 观《变形金刚3》有感
- java学习---内部类
- 我的源代码(php实现的简单万年历)
- [sql server] 行转列问题总结1 - 行转列
- [转载]配置DAVINCI内存在DVEVM步骤--转