fl2440 的菜鸟学习之路1
来源:互联网 发布:java 声明base64 编辑:程序博客网 时间:2024/05/29 13:49
.text
.global _start
_start:
LDR R0,=0x53000000 @关闭看门狗,《嵌入式linux应用开发完全手册》 83页貌似有个错误,关看门狗的寄存器写成0x56000010了,跟 @GPBCON寄存器弄混了,但是视频讲解没有讲错
MOV R1,# 0
STR R1,[R0]
LDR SP,=1024*4@设置栈,利用soc内4kSRAM内存
bl main
MAIN_LOOP:
B MAIN_LOOP
led.c 文件
#define GPBCON (*(volatile unsigned long *) 0x56000010)
#define GPBDAT (*(volatile unsigned long *) 0x56000014)
int main(void)
{ unsigned int i;
GPBCON=0x111400;
GPBDAT=0xfff;
while(1){
for( i=65535;i>0;i--);
GPBDAT=0x3f1;
for(i=65535;i>0;i--);
GPBDAT=0x6f0;
for(i=65535;i>0;i--);
GPBDAT=0xfb0;
for( i=65535;i>0;i--);
GPBDAT=0xfd0;
}
return 0;
}
makefile:
ledon.bin : led.o
arm-linux-gcc -g -c -o led.o led.c
arm-linux-gcc -g -c -o crt0.o crt0.s
arm-linux-ld -Ttext 0x0 -g crt0.o led.o -o led-elf
arm-linux-objcopy -O binary -S led-elf ledon.bin
arm-linux-objdump -D -m arm led-elf > ledon.dis
ledon.bin 就是所得的流水等文件,我的是nor flash ,安装的是bootloader 5.1在nor flash上,开机启动默认nor,烧写hex文件很麻烦,试过往第三分区Myapp烧写过,但是就一个灯亮,百思不得其解(估计是boot已经初始化内存,导致栈错误)。这里给初学者一点建议,修改下fl2440核心板子上的J 5条线,用杜邦线引出来,连接的话就是从nand flash启动(只需要在bootloader;里把文件烧写到nand flash的boot(第一分区)里,然后连接杜邦线,开机就能看到流水灯了),我是菜鸟,非科班出身,fl2440也是买的二手,竟然屏幕是坏的。。。。)
就当是自己笔记,
- fl2440 的菜鸟学习之路1
- java菜鸟的Python学习之路(1)
- java菜鸟的Python学习之路(1)
- 菜鸟我的JAVA学习之路
- 小菜鸟的学习之路!
- android菜鸟的学习求职之路
- 小菜鸟的ubuntu学习之路
- 菜鸟的机器学习之路
- 菜鸟app开发学习之路1
- Python菜鸟学习之路(1)
- 菜鸟学习redis之路(1)
- 菜鸟学习之路——SQLite数据库的学习
- iOS学习--老菜鸟的storyboard学习之路
- 菜鸟学习之路------学习DNS的配置(LINUX)
- IOS菜鸟学习之路
- android菜鸟学习之路
- 菜鸟学习JS之路
- 菜鸟机器学习之路
- Android倒计时功能的实现(CountDownTimer)
- linux乱码问题:LANG变量的秘诀
- 产品开发第一步-架构设计
- 快速排序(递归实现)
- 神雕侠侣网络文件排序与替换
- fl2440 的菜鸟学习之路1
- Linux基础知识---Shell编程之正则表达式
- java JNDI介绍
- 四个开源商业智能平台比较(二)
- HDOJ 1063 Exponentiation(小数高精度)
- 详解java中staitc关键字
- Mac OS 系统 做 USB bootable 启动盘
- java.util.Date和java.sql.Date的区别和相互转化
- jQuery Ui Draggable在移动端浏览器不起作用解决方案