APROM、LDROM的区别
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-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足以!
受教了。 LDROM和APROM不是同一个存储器;区别在于一般LDROM最大4K大小,而APROM是用户正常使用的存储器,一般看芯片型号而定,64K或更大。 感谢分享,受教了 感觉现在分类越来越多了,搞的懵懵的 study~~~~ 加个百多字节的E2PROM也还好吧 分的太多了,现在发展又快 真的,之前都没仔细研究过 属实如果把flash用好,能解决很多问题麻烦 感谢楼主分享,讲的很细致,如果能放一页讲就更好了 其实这些都不用过多的去研究吧,毕竟编译器都帮忙处理了 讲的挺好的,这种分区之前我是不知道的 以后可以研究研究,这种很有意义 感谢分享,讲的很好,而且很有帮助 以后想用flash里面资源,就知道怎么用了
页:
[1]