摘要:
以下裸机程序基于GT2440,编译器为arm-linux-gcc-4.4.3。 程序的功能为:开机上电首先跳转到复位异常处理,在复位异常处理里关闭看门狗,然后执行LED控制程序,程序运行结果为板上4个LED全亮。led.S文件: 1 @寄存器物理地址宏定义 2 #define WTCON 0x53000000 3 #define GPBCON 0x56000010 4 #define GPBDAT 0x56000014 5 #define GPBUP 0x56000018 6 #define nGPB_OUTPUT ((1<<10)|(1<<12)|(1<< 阅读全文
摘要:
上半个月在学习bootloader,突然找到了一个非常好的vboot,vboot只有最基本的内核引导功能(基于s3c2440,从nand flash启动),对其深入研究后,发现对bootloader有了比较全面的理解,虽然没有像uboot那么多功能,但vboot已经实现了bootloader最核心的功能,其他像什么网络功能、烧写功能等等也只是一些裸机驱动而已。学习bootloader需要有汇编的基础,如果有单片机编程经验的话那更是“如鱼得水”了。 先看vboot的整体架构,下面是vboot包含的所有文件:很简单是吧,其中核心的文件是head.S、main.c和nand.c,vboo... 阅读全文