本博文记录一些关于ARM芯片的一些知识点,与U-boot源代码无关,但是是学习U-boot的基础。
环境:S3C2440(ARM920T),U-boot-1.1.6
1、ARM9地址空间分配
1)ARM9为32位,采用统一编址
即可以寻址4GB空间,内存(SDRAM)和端口(特殊寄存器),还有ROM都映射到同一个4G空间里。
2)开发板上一般都用SDRAM做内存,Flash(Nor、Nand)来当做ROM。
其中Nand flash没有地址线,一次至少要读一页(512B).其他两个有地址线,所以Nand Flash不用来运行代码,只用来存储代码。
Nor Flash,SDRAM可以直接运行代码。
2、启动流程
1)当从NAND启动时
CPU会自动从Nand Flash中读取前4KB的数据放置在片内SRAM里(S3C2440是SOC),同时把这段片内SRAM映射到nGCS0片选的空间(即 0x00000000)。CPU是从
0x00000