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