1. 程式人生 > >2440燒寫flash問題

2440燒寫flash問題

講解Makefile和交叉編譯工具篇幅較長,先說flash問題。

燒寫norflash&nandflash?

對於我個人來說,下載到norflash可以,但是因為我是從norflash啟動uboot然後在uboot中通過dnw燒寫的,如果norflash中是裸機程式,那麼uboot啟動不起來了,燒寫也就不能進行。

S3C2440中有被稱為“Steppingstone”的4KB內部RAM。當從NandFlash啟動CPU時,CPU會通過內部的硬體將NAND Flash開始的4KB位元組資料複製到這4KB內部的RAM中(此時內部RAM的起始地址為0),然後跳轉地址0開始執行。

NorFlash雖然可以像記憶體一樣進行讀操作,卻不可以像記憶體一樣進行寫操作,所以從NorFlash啟動時,一般現在程式碼的開始部分使用匯編指令初始化外接的記憶體器件(外存),然後將程式碼複製到外存中,最後跳到外存中繼續執行,即重定位!

對於小程式,一般將它燒入NAND Flash中,藉助CPU的內部RAM直接執行。

從上面可以引入S3C2440的兩種啟動方式:

  • Nand啟動
    ①Nand前4K-> SRAM(2440中有4K的SRAM)
    ②CPU從0地址執行(SRAM的0地址)