|
|||||||||||
| 技術交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術 | 電源技術 | 測控之家 | EMC技術 | ARM技術 | EDA技術 | PCB技術 | 嵌入式系統(tǒng) 驅動編程 | 集成電路 | 器件替換 | 模擬技術 | 新手園地 | 單 片 機 | DSP技術 | MCU技術 | IC 設計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
Flash和ram的優(yōu)缺點 |
| 作者:上善若水 欄目:ARM技術 |
把程序下載到FLASH和ram中有什么區(qū)別?各用在什么場合?是否只有調試程序的初期才將程序下載到ram中? * - 本貼最后修改時間:2005-12-26 21:20:50 修改者:上善若水 |
| 2樓: | >>參與討論 |
| 作者: eaivip 于 2005/12/27 11:20:00 發(fā)布:
對 對 |
|
| 3樓: | >>參與討論 |
| 作者: 天涯神密客 于 2005/12/27 13:03:00 發(fā)布:
從ARM來看FLASH 與ram區(qū)別 如果只是調試跟蹤時,只需將code寫到ram中就可以運行啦!但是對于實際產(chǎn)品或者需要寫到FLASH中測試,運行時ARM先運行boot code將功能code解壓縮讀取送到ram中,然后運行ram中的功能code. |
|
| 4樓: | >>參與討論 |
| 作者: computer00 于 2005/12/27 13:42:00 發(fā)布:
在RAM中運行程序速度快,但關電后RAM中數(shù)據(jù)會丟失 燒入FLASH后就不會丟失了。有些系統(tǒng)可直接在FLASH中運行程序,而有些系統(tǒng)則必須將FLASH中的程序加載到RAM中才能運行。 |
|
| 5樓: | >>參與討論 |
| 作者: 上善若水 于 2005/12/28 13:45:00 發(fā)布:
請問computer00 “有些系統(tǒng)則必須將FLASH中的程序加載到RAM中才能運行”請問LPC2131是這樣運行的嗎? |
|
| 6樓: | >>參與討論 |
| 作者: zlgmarket 于 2005/12/29 12:17:00 發(fā)布:
re:上善若水 LPC2131,包括其他的LPC2000片內帶FLASH的芯片都不需要加載到RAM中運行。 干脆我來解釋一下。 FLASH的速度較慢,比如-50的FLASH,讀取只能達20M的速度,而ARM核可以工作在50-60M,甚至更高。那么ARM芯片的CPU執(zhí)行完一條指令就要等下一條指令讀取出來,而不能馬上執(zhí)行下一條。這樣因FLASH慢而CPU快就造成資源的浪費和系統(tǒng)速度下降。為了解決該矛盾,有廠家采用FLASH 中只存儲程序(相當于電腦的硬盤),將程序讀取到RAM中去執(zhí)行(類似電腦的內存),那么CPU的速度就能發(fā)揮出來。 而PHILIPS的少管腳ARM芯片(LPC2100系列)沒有外部總線,不能接外部程序存儲器。所以只能使用片內的FLASH存儲程序。也不能接外部RAM來運行程序。于是PHILIPS采用了一個比較特殊的方法來解決這個速度矛盾。就是在內部FLASH和內部總線之間加了存儲加速模塊,有128位數(shù)據(jù)寬度,一次可以從FLASH中讀取4條指令(注意是4條而不是1條),另外再加上預測分支等功能,使得CPU全速運行時,從FLASH 中讀取的程序能源源不斷地輸送進CPU,無需等待。只是在有分支(如調用,跳轉)時需要清空流水線造成臨時性速度稍微下降。我們知道,程序中絕大部分是順序執(zhí)行的指令。 所以PHILIPS的LPC2100系列不需要調到RAM中運行。 致于前面的問題,我看下載程序到RAM中運行是為了方便,更快,此情況適合在學習編寫小程序時使用,而且不會因下載到FLASH而等待。如果程序超出了RAM的范圍,那就必須要下載到FLASH中運行。每次改一點點程序都要重新下載,會耽誤些時間的,特別是很大的程序。前面講過,FLASH的讀寫速度是比較慢的,肯定比RAM要慢得多。 * - 本貼最后修改時間:2005-12-29 12:20:23 修改者:zlgmarket |
|
| 7樓: | >>參與討論 |
| 作者: 小馬 于 2005/12/29 13:46:00 發(fā)布:
不同用途的東西怎么能說成有缺點呢 |
|
| 8樓: | >>參與討論 |
| 作者: 上善若水 于 2005/12/29 14:53:00 發(fā)布:
謝謝zlgmarket 那也就是說LPC2000系列芯片中的RAM主要就是為了在調試小程序中使用,更方便,也延長了FLASH的應用。一旦程序下載FLASH中去了,RAM就不在參與程序的存取和執(zhí)行了。這種說法對嗎? |
|
|
|
| 免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |