|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機 | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
大家討論下用SPI即串口flash的啟動問題吧。 |
| 作者:cramkl 欄目:DSP技術(shù) |
我的板子和華恒的差不多,只不過CPU改為532,并口FLASH改為SPI FLASH.html">FLASH。,我移植好U-BOOT,現(xiàn)在已經(jīng)可以從spi FLASH.html">FLASH啟動并運行u-boot了。 現(xiàn)在假設(shè)我的FLASH.html">FLASH里面即有u-boot,又有應(yīng)用程序。因為SPI FLASH對應(yīng)于CPU沒有地址映射,所以要訪問FLASH的話,需要指定FLASH的sector,而不是CPU映射的地址。一般U-BOOT是從FLASH的開始放的,所以啟動時,就從開始執(zhí)行。因為U-BOOT放在開始一段空間內(nèi),我的應(yīng)用程序只能放在U-BOOT之后了。一般U-BOOT啟動后,都是指定一個地址比如0x20001000(CPU映射的FLASH.html">FLASH地址),但是串口FLASH.html">FLASH沒有此地址,所以應(yīng)該是指定一個FLASH.html">FLASH的sector,把這個sector地址起始處的代碼搬到SDRAM內(nèi)運行。所以應(yīng)用程序應(yīng)該燒到FLASH的哪個sector,怎么燒,怎么從FLASH的sector讀出應(yīng)用程序到SDRAM中,是U-BOOT應(yīng)該干的事情。估計U-BOOT代碼還要修改很多。能給些意見,主要修改哪些代碼嗎? |
| 2樓: | >>參與討論 |
| 作者: hardfire 于 2006/12/8 9:37:00 發(fā)布:
你用不用linux? 如果用,那么就是把linux和ramdisk整個從FLASH復(fù)制到SDRAM上,那么這個起始地址你就從u-boot的env扇區(qū)后面的第一個扇區(qū)開始就可以了啊。你自己畫一個扇區(qū)--空間分布圖就是啦,加載到SDRAM中之后,就跟u-boot無關(guān)啦,跟FLASH也徹底無關(guān)啦,一切都在RAM中跑啦。 如果不用linux的話,那么u-boot就是你的調(diào)度中心,要負責(zé)加載每個不同的應(yīng)用程序,那么你的不同的程序就要占用不同的扇區(qū),哈哈,這樣就要細細規(guī)劃了。u-boot運行完一個程序,怎么返回u-boot呢?要有一個進程loader啦? |
|
|
|
| 免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |