久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標(biāo)題: S3C2440 啟動(dòng)代碼分析 [打印本頁(yè)]

作者: liuyy    時(shí)間: 2015-1-12 02:01
標(biāo)題: S3C2440 啟動(dòng)代碼分析
啟動(dòng)代碼是系統(tǒng)上電或復(fù)位以后運(yùn)行的第一段代碼,它的作用是在用戶(hù)程序運(yùn)行之前對(duì)系統(tǒng)硬件及軟件運(yùn)行環(huán)境進(jìn)行必要的初始化并在最后使程序跳轉(zhuǎn)到用戶(hù)程序,它直接面對(duì)ARM 處理器內(nèi)核及硬件控制器進(jìn)行編程,所執(zhí)行的操作與具體的目標(biāo)系統(tǒng)緊密相關(guān)。
     S3C2440 支持兩種方式的啟動(dòng):Nor Flash 啟動(dòng)和Nand Flash 啟動(dòng)。Nor Flash 和Nand Flash 都是非易失性存儲(chǔ)器,Nor Flash 的特點(diǎn)是芯片內(nèi)執(zhí)行,程序可以直接在其中運(yùn)行,而不必將程序讀取到RAM 中運(yùn)行。Nor Flash 雖然具有這個(gè)優(yōu)點(diǎn),但是它的性?xún)r(jià)比遠(yuǎn)低于Nand Flash,因而很多系統(tǒng)采用Nand Flash 啟動(dòng)。Nand Flash 的特點(diǎn)是采用非線(xiàn)性存儲(chǔ)模式,程序無(wú)法在其中運(yùn)行,它只能作為程序或數(shù)據(jù)的存儲(chǔ)載體,存儲(chǔ)在其中的程序只能先拷貝到RAM 中才能運(yùn)行。      從Nor Flash 啟動(dòng)時(shí),與nGCS0 相連的Nor Flash 就被映射到nGCS0 片選的空間,其地址被映射為0x00000000;從Nand Flash 啟動(dòng)時(shí),S3C2440 芯片內(nèi)部自帶的一塊容量為4K 的被稱(chēng)為“Steppingstone”(“起步階石”)的BootSRAM 被映射到nGCS0 片選的空間,其地址被映射為0x00000000。當(dāng)系統(tǒng)上電或復(fù)位時(shí),程序會(huì)從0 地址處開(kāi)始執(zhí)行,因此我們編寫(xiě)的啟動(dòng)代碼要確保存儲(chǔ)在0 地址處。
      當(dāng)啟動(dòng)方式為Nor Flash 啟動(dòng)時(shí),沒(méi)有額外需要考慮的問(wèn)題,因?yàn)檫@種情況下程序在系統(tǒng)啟動(dòng)前就存儲(chǔ)在Nor Flash 中,我們只要保證將啟動(dòng)代碼保存在Nor Flash 開(kāi)始的位置即可,系統(tǒng)上電或復(fù)位時(shí),0 地址處的啟動(dòng)代碼就會(huì)被執(zhí)行。

      在啟動(dòng)方式為Nand Flash 啟動(dòng)的情況下,系統(tǒng)啟動(dòng)前所有的程序存儲(chǔ)在Nand Flash 中,系統(tǒng)的啟動(dòng)過(guò)程稍微有點(diǎn)復(fù)雜:系統(tǒng)上電或復(fù)位時(shí),0 地址處為S3C2440 內(nèi)部自帶的BootSRAM,啟動(dòng)前里面沒(méi)有任何存儲(chǔ)內(nèi)容,啟動(dòng)后S3C2440 先通過(guò)硬件機(jī)制將Nand Flash 前4K 的內(nèi)容拷貝至其中,然后再運(yùn)行里面的程序(從0 地址處)。這種情況下我們需要保證將啟動(dòng)代碼保存在Nand Flash 開(kāi)始的位置,并且啟動(dòng)代碼的大小要小于4K。如果系統(tǒng)的所有程序在編譯鏈接后的大小小于4K,那在系統(tǒng)的啟動(dòng)代碼中無(wú)需考慮將程序從Nand Flash 搬運(yùn)到SDRAM 這個(gè)問(wèn)題,因?yàn)樗械某绦蛟趩?dòng)時(shí)即全部由Nand Flash 拷貝至BootSRAM,程序在BootSRAM 中運(yùn)行即可;如果系統(tǒng)的所有程序在編譯連接后的大小大于4K,那在系統(tǒng)的啟動(dòng)代碼中需要包含一段將系統(tǒng)的全部程序從Nand Flash 搬運(yùn)到SDRAM 的代碼,因?yàn)橄到y(tǒng)啟動(dòng)時(shí)只將Nand Flash 的前4K 拷貝到了BootSRAM 中,還有部分程序保存在Nand Flash 中, Nand Flash 中是無(wú)法運(yùn)行程序的,需要將所有程序拷貝至SDRAM 并在其中運(yùn)行,所以在系統(tǒng)的啟動(dòng)代碼中要包含這段有關(guān)程序拷貝的代碼,并在所有程序拷貝完成后使程序跳轉(zhuǎn)到SDRAM 中運(yùn)行。也就是說(shuō)在啟動(dòng)方式為NandFlash 啟動(dòng)的情況下,因?yàn)镹and Flash 的特性,程序需要涉及到兩次的搬移,一次是從Nand Flash 搬移到BootSRAM,搬運(yùn)的程序量大小是4K,目的是使系統(tǒng)能夠啟動(dòng);第二次搬運(yùn)是從Nand Flash 搬運(yùn)到系統(tǒng)的SDRAM,如果系統(tǒng)的所有程序量小于4K,這一步可以省略,搬運(yùn)的程序量大小是系統(tǒng)的所有程序,目的是使程序在SDRAM 中運(yùn)行。第一次搬運(yùn)是S3C2440 通過(guò)硬件機(jī)制自動(dòng)實(shí)現(xiàn)的,我們無(wú)需干預(yù),第二次則需要我們程序員來(lái)實(shí)現(xiàn)。






歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 日本天堂网 | 亚洲毛片在线 | 亚洲精品一区二区三区在线观看 | 亚洲精品成人 | 96av视频 | 亚洲精品在线免费 | 懂色av蜜臀av粉嫩av分享 | 麻豆一区二区三区 | 精品国产欧美一区二区三区成人 | 国产999视频 | 青草视频网站 | 四虎影院在线 | av一区二区三区在线观看 | a级片在线免费观看 | 国产视频在线观看视频 | 国产这里只有精品 | 狠狠操狠狠爱 | 黄色片观看 | 国产成人精 | 午夜在线视频观看 | 天天干天天色天天射 | 亚洲在线播放 | 九色91popny蝌蚪新疆 | 午夜久久久久久久 | 国产成人高清 | 日韩精品小视频 | 一级久久 | 97精品在线 | 日韩一区二区在线视频 | 手机看片福利视频 | 欧美一二区 | 日韩免费高清视频 | 91精品国产麻豆国产自产在线 | 美女黄色一级片 | 特级西西444www大胆免费看 | 亚洲一区二区精品视频 | 女教师合集乱500篇小说 | 97在线免费视频 | 日韩免费一区二区三区 | 午夜av片 | 黄色在线免费观看视频 |