APROM、LDROM的区别!(flash)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? APROM、LDROM的區別
flash存儲控制器包含片上flash和boot loader,片上存儲器是可編程的,包含APROM、LDROM、數據flash、用戶配置去。
1.內部FLASH可以被分成三個區,LDROM,,APROM,Data Flash。
(1)APROM通常用來存儲IDE(如:KEIL)開發的應用程序代碼。
(2)LDROM用于存儲一些特殊代碼,如用于固件升級的ISP。
(3)Data Flash可以保存一些用戶數據。
2.一般單片機中只有2-3種數據,例如 FLASH(程序)、RAM/SRAM(數據)、EEPROM(數據)。新唐的有好多個:
? ?(1)APROM:Application Program ROM 用于存儲應用程序的FLASH
? ?(2)Data Flash: Data Flash ROM 用于存儲常量數據的FLASH(這個與EEPROM不一樣,不可單個擦出哦)
? ?(3)LDROM: ISP Loader ROM 用于存儲BOOTLOADER 固件程序
? ?(4)RAM:數據空間
?其實M0也跟一般單片機一樣、也是只有FLASH與RAM。新唐M0的單片機有兩個FLASH,一個是LDROM,另一個就是APROM與Data Flash(別看有兩個其實也只是一個,只是新唐的程序員將其分成了兩個而以)。
?特別說明: LDROM與另一個ROM是相互獨立的,由CONFIG中的CBS位選擇啟動。RAM這個就是數據空間了,有用存放變量數據。
?
3.那有些人會問 LDROM作用不是和APROM一樣都是記錄程序的,是不是可以將程序寫在LDROM不用APROM?
回答是可以的,若你的程序小就可以這么做,其實不要LDROM也可以做ISP。那新唐為什么要特意做一個LDROM出來呢,我個人認為是:
(1)這樣BOOTLOADER程序與APPLICATION程序互不相關不會有影響,便于開發人員(若不獨自開辟一個LDROM,你調試就必須擦出BOOTLOADER,等等).
(2)程序可以加載BOOTLOADER,但以開機可以根本不運行且不會影響到應用程序。
(3)更方便做BOOTLOADER程序,壇子里有將APROM做成U盤,直接將程序COPY到這個U盤里就可以升級
4.那為什么沒有EEPROM呢?
在ARM CORTEX-M架構中沒有EEPROM,若增加EEPROM需要額外的成本,EEPROM重要性不夠(且可以將FLASH中的幾頁做為EEPROM來使用)。縱觀大多CORTEX-M基本上都沒有,我有必要性也不是很高!好像前段時間TI出了一個M4系列 帶2K的EEPROM!有興趣的朋友可以支申請個樣片玩玩,我的想法是:若不是頻繁操作,使用FLASH當EEPROM足以!
?
?
總結
以上是生活随笔為你收集整理的APROM、LDROM的区别!(flash)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Flash存储控制器组成!(flash)
- 下一篇: 计算机系统的储存器结构