当前位置:首页 > 嵌入式 > 嵌入式分享
[导读]在嵌入式系统中,诸如变频器和伺服驱动器等工业应用,乃至CD播放器等众多消费电子产品,都需要保存最近的用户设置,在下次上电后加载使用。如果使用MCU内置Flash,一般擦写次数限制在10k次,无法满足寿命和耐久性要求,所以只能通过外置EEPROM实现。

在嵌入式系统中,诸如变频器和伺服驱动器等工业应用,乃至CD播放器等众多消费电子产品,都需要保存最近的用户设置,在下次上电后加载使用。如果使用MCU内置Flash,一般擦写次数限制在10k次,无法满足寿命和耐久性要求,所以只能通过外置EEPROM实现。

TI新推出的MSPM0系列MCU支持使用Flash模拟EEPROM,在小容量存储需求的场合能节省外部EEPROM芯片,实现成本控制。MSPM0系列MCU的Flash容量覆盖16KB到128KB,其中低32KB的Flash区域支持10万次擦写,而剩余区域支持1万次擦写,如下图MSPM0G3507规格书所示。所以,在使用Flash模拟EEPROM时,应尽可能选择低32KB区域。

当使用<=32KB Flash容量产品时,这时芯片的全部Flash区域都支持10万次擦写,只需要根据用户代码量以及存储需求确定模拟EEPROM的容量大小,然后放置到Flash的尾部地址即可。

当使用>32KB Flash容量产品时,这时用户代码占用空间可能较大,如果直接选取低32KB尾部地址作为模拟EEPROM,有可能与用户代码地址相冲突而造成误擦写,如下图所示:

这时则需要在代码中向编译器声明EEPROM的位置及长度,使其安排Code及Data时避开用户设置的EEPROM区域。

在CCS IDE with TI Clang中,需要做两步修改:

1. 在.cmd文件中添加Sections的声明如下图:

其中EEPROM 为自定义的section名字,0x00001000为自定义的开始地址。

2. 在需要使用的.c文件中(如c)添加数组定义如下:

Fullscreen

1

const uint32_t EEPROM[4096] __attribute((used)) __attribute((section(".EEPROM")))={0};

以上语句定义了一个名为EEPROM、类型为uint32,长度为4096的const数组,并且存放在上面开辟的.EEPROM Sections,其中添加__attribute((used))可以避免编译器把该数组优化掉。

完成以上修改后,编译器会避开自定义的EEPROM SECTIONS,代码只会存放于.text SECTIONS,这样修改后就可以保证EEPROM地址和长度都落在期望的Lower 32KB区域且不会与代码段冲突。

添加修改并编译后,查看Memory Allocation如下图,可见EEPROM段与.text代码段分开,所定义的EEPROM数组也成功初始化。

最后就可以进行Flash的Erase/Program操作,具体可参考drivelib中的flashctl_program_with_ecc等例程,这里不再赘述。

本文针对MSPM0系列MCU使用Flash模拟EEPROM时需要在Lower 32KB开辟EEPROM专用区域的工况,提出使用SECTIONS分配的方式解决与EEPROM和Code可能重合的问题,配合SDK的Flash操作,可以很容易实现EEPROM在任意Flash区域的开辟。

使用MCU(微控制器单元)内置Flash存储器具有多方面的优势,主要包括以下几点:

1. 紧凑性和集成度

· 高度集成:内置Flash存储器直接集成在MCU内部,与语音处理电路或其他核心电路紧密结合,构成完整的系统。这种设计减少了外部电路的复杂性和所需元件数量,从而减小了整体系统的体积。

· 降低成本:由于减少了外部元件和连接的需求,使用内置Flash的MCU在制造成本上通常更低。

2. 性能与效率

· 快速读取和写入:内置Flash通常能够实现数据的快速读取和写入,这有助于提升系统的整体性能和响应速度。

· 优化程序执行:对于支持XIP(eXecute In Place,芯片内执行)的Flash,应用程序可以直接在Flash内存内运行,无需先拷贝到RAM中,从而减少了程序启动时间和内存占用。

3. 可靠性与稳定性

· 减少外部干扰:内置Flash减少了与外部电路的连接,降低了因外部电磁干扰或其他环境因素导致的数据错误或损坏的风险。

· 保护机制:许多MCU内置的Flash存储器都配备了各种保护机制,如写保护、擦除保护等,以确保数据的安全性和完整性。

4. 应用灵活性

· 多用途存储:除了存储程序代码外,内置Flash的剩余空间还可以被用作数据存储器,如模拟EEPROM(电可擦可编程只读存储器)的功能,用于存储重要数据和关键记录。

· 升级与维护:部分MCU支持通过OTA(Over-The-Air,空中下载技术)进行固件升级,内置Flash为这一功能提供了便利的存储空间。

5. 功耗优势

· 低功耗设计:内置Flash通常具有较低的功耗特性,有助于延长MCU系统的电池寿命或降低整体能耗。

总结

综上所述,使用MCU内置Flash存储器在紧凑性、集成度、性能与效率、可靠性与稳定性、应用灵活性以及功耗方面均表现出显著优势。这些优势使得内置Flash成为许多嵌入式系统和微控制器应用的理想选择。然而,需要注意的是,内置Flash的容量可能相对较小,无法满足所有应用场景的需求。因此,在选择使用内置Flash还是外挂Flash时,需要根据具体的应用场景和需求进行权衡。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭