S3C2440啟動方式研究
圖1 S3C2440啟動方式說明
由上圖可知,S3C2440支持兩種啟動模式:NAND和非NAND(這里是Nor Flash),具體采用的方式取決于OM0、OM1兩個引腳的狀態(tài)。
OM[1:0所決定的啟動方式
OM[1:0]=00時,處理器從NAND Flash啟動
OM[1:0]=01時,處理器從16位寬度的ROM啟動
OM[1:0]=10時,處理器從32位寬度的ROM啟動。
OM[1:0]=11時,處理器從Test Mode啟動。
由于NAND FLASH是接在NAND FLASH控制器上而不是系統(tǒng)總線上,所以沒有在S3C2440A的8個BANK中分配地址空間。如果S3C2440被配置成從Nand Flash啟動,在S3C2440上電后,Nand Flash控制器的會自動的把Nand Flash上的前4K數(shù)據(jù)搬移到內(nèi)部SRAM中,也就是所謂的”Steppingstone”, 同時把這段片內(nèi)SRAM映射到nGCS0片選的空間(即0x00000000)。系統(tǒng)會從這個內(nèi)部SRAM中啟動,程序員需要完成的工作,就是把最核心的啟動程序放在Nand Flash的前4K中,也就是說,你需要編寫一個長度小于4K的引導(dǎo)程序,作用是將主程序拷貝到RAM (一般是SDRAM)中運(yùn)行。而在Nand Flash方式啟動的情況下,系統(tǒng)是”看不到”Nor Flash的,因?yàn)镹or Flash也是掛在nGCS0上的,而nGCS0的地址空間已經(jīng)被占用了。
TQ2440使用的Nor Flash是AMD公司的AM29LV160DB,它是16bit數(shù)據(jù)位寬的Nor Flash。因此,當(dāng)選擇從NOR FLASH啟動時,OM1和OM0應(yīng)該分別是低電平和高電平。此時,NOR FLASH被映射到0x00000000地址(就是nGCS0,這里就不需要片內(nèi)SRAM來輔助了,而片內(nèi)SRAM的起始地址還是0x40000000)。 然后2440從0x00000000開始運(yùn)行(也就是在Nor Flash中運(yùn)行)。
評論