根據加載方式,加載源有幾種
1.映射
stm32的主flash
s3c2440的nand
2.bootrom 加載 進 sram dram
exynos4412 的 sd卡 搬運到sram
i.mx6ull 的 sd卡 搬運到 dram
3.XIP on nor
s3c2440的nor
芯片對flash的驅動
只要是操作了flash,那麼肯定有時序出來,而這種時序如果不是類ram接口
那麼肯定是要驅動的.
stm32 主Flash支持 XIP ,且在執行時就是 XIP
stm32內部的主Flash 是 類ram接口?
- 爲什麼有的rom在 memory map 裏面,且可以用地址來直接訪問
例如bootrom就被映射到了 memory map 裏面
srom 是不是也是因爲類ram接口,是不是也是XIP.
- s3c2440 的搬運是什麼原理(無代碼,怎麼實現搬運)
1. 類ram接口的norflash的搬運是不是就是映射
2. nand 的 搬運是怎麼回事?
https://blog.csdn.net/ffdia/article/details/87437872
https://blog.csdn.net/segments/article/details/7623613
https://www.docin.com/p-731715109.html
Nand 也可以 XIP ,請查看https://wenku.baidu.com/view/c1229a22a32d7375a4178012.html
NorFlash 有自己的數據和地址總線,因此可採用類似RAM的隨機訪問。
NorFlash的特點是芯片內執行(XIP: eXecute In Place),
這樣應用程序應用程序可以直接在flash閃存內運行,不必再把代碼讀到系統RAM中。
如果uboot中的ro段就可以直接在 NorFlash上運行,只需要把rw段和zi段拷貝到RAM中運行即可。
這要看bootrom 支持哪些 二級啓動 設備.
一般有
USB
eMMC
SD
NAND
SPI Nor Flash
總結
1. 在memory map 裏的flash
可以通過地址訪問,這些flash有類ram接口
2. 不在memory map 裏的flash
需要通過驅動訪問