u-boot-2014.10移植第24天----nand flash啟動(二)
硬體平臺:tq2440
開發環境:Ubuntu-3.11
u-boot版本:2014.10
本文允許轉載,請註明出處:http://blog.csdn.net/fulinus
nand flash啟動
比較新的u-boot版本包括u-boot-2014版本的都是用重定向的機制,而且用到了程式碼位置無關的技術,在u-boot連線時使用了-pie選項:
-pie :
Produce a position independent executable on targets which support it. For predictable results,
you must also specify the same set of options that were used to generate code (-fpie, -fPIE, or model
suboptions) when you specify this option.
"產生的程式碼中,沒有絕對地址,全部使用相對地址,故而程式碼可以被載入器載入到記憶體的任意
位置,都可以正確的執行。"
you must also specify the same set of options that were used to generate code (-fpie, -fPIE, or model
suboptions) when you specify this option.
"產生的程式碼中,沒有絕對地址,全部使用相對地址,故而程式碼可以被載入器載入到記憶體的任意
位置,都可以正確的執行。"
u-boot是可以在Nor flash中執行的,u-boot.bin的起始位置在Norflash的0地址處,當MO[1:0] = 01、10時,系統上電後從Nor flash啟動,從0地址處開始執行。並將u-boot重定向到SDRAM中執行。但是Nand flash是不能像Nor flash那樣可以當做RAM操作,因為nand flash是地址和資料匯流排複用的。好在s3c2440從nand flash啟動時會從nand flash讀4Kbytes的內容到s3c2440晶片內部自帶的DRAM中,如果在nand flash的前4Kbytes儲存空間放上一段可以執行的程式碼,其功能就是將nand flash中u-boot拷貝到SDRAM中,再將使用重定向的方法,跳轉到SDRAM中去執行u-boot即可。
可惜的是2440中跑的u-boot並不支援從Nand flash啟動。因此,我們需要在u-boot的前4K程式碼中加入操作nand flash的程式碼,然後重定向。
相關文章
- u-boot-2014.10移植第30天----nand flash的SPL啟動(二)bootNaN
- u-boot-2014.10移植第28天----nand flash啟動(六)bootNaN
- u-boot-2014.10移植第27天----nand flash啟動(五)bootNaN
- u-boot-2014.10移植第25天----nand flash啟動(三)bootNaN
- u-boot-2014.10移植第26天----nand flash啟動(四)bootNaN
- u-boot-2014.10移植第23天----nand flash啟動(一)bootNaN
- u-boot-2014.10移植第29天----nand flash的SPL啟動(一)bootNaN
- u-boot-2014.10移植第20天----新增nand flash命令支援(二)bootNaN
- u-boot-2014.10移植第16天----Nor flash啟動boot
- u-boot-2014.10移植第21天----新增nand flash命令支援(三)bootNaN
- u-boot-2014.10移植第22天----新增nand flash命令支援(四)bootNaN
- u-boot-2014.10移植第19天----新增nand flash命令支援(一)bootNaN
- u-boot-2014.10移植第15天----nor flash操作boot
- u-boot-2014.10移植第31天----核心啟動(一)boot
- S3C2440從NAND Flash啟動和NOR FLASH啟動的問題S3NaN
- ZYNQ FLASH+EMMC手動移植LINUX啟動Linux
- NAND FlashNaN
- u-boot-2014.10移植第18天----新增DM9000網路卡支援(二)boot
- NAND Flash和NOR Flash的區別NaN
- Mini2440 64M Nand Flash 更改為128M Nand FlashNaN
- nor flash 和nand flash 傻傻分不清楚NaN
- NAND FLASH的介面控制設計NaN
- NAND FLASH系統的權衡利弊NaN
- u-boot-2014.10移植第17天----新增DM9000網路卡支援(一)boot
- Nand Flash結構及錯誤機制NaN
- 關於NAND FLASH解釦的認識NaN
- NAND Flash是如何生產出來的?NaN
- ARM學習之Nand FLash控制器NaN
- 宏旺半導體科普SPI NAND Flash和SPI NOR Flash的區別NaN
- uboot1: 啟動流程和移植框架boot框架
- DRAMeXchange:2019年第二季全球NAND Flash 品牌廠商營收排行NaN營收
- TrendForce:預估2022年第二季NAND Flash價格翻漲5~10%NaN
- 怎麼看時序圖--nand flash的讀操作詳解時序圖NaN
- Nand Flash基礎知識與壞塊管理機制的研究NaN
- 東芝停工、NAND Flash又要漲價了?宏旺半導體:國產替代來臨NaN
- TrendForce:預計2022年第二季度NAND Flash價格上漲5-10%NaN
- redis啟動流程(二)Redis
- (轉)關於NAND flash的MTD分割槽與uboot中分割槽的理解NaNboot