你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【经验分享】IAR6.5 下如何将数据存放至 Flash 中

[复制链接]
STMCU小助手 发布时间:2022-2-21 20:13
一. 应用背景
9 s+ b# t3 S5 I) m' a- C" p7 N当客户遇到存储小量的数据,同时数据写的频率比较低的情况下。从成本角度希望省掉外置 EEPROM,STM32 提供了 Backup SRAM(4K)和 Flash 模拟 EEPROM 两种方案来解决该问题。但是,BackupSRAM 需要提供备用电源,Flash 模拟 EEPROM 又比较浪费空间(存放复杂的结构体数据也不方便)。如果数据擦鞋频率较低(Flash 擦写次数有限),可以考虑直接将数据存放在 Flash 中。本文提供了如何在 IAR6.5 实现该操作。7 v* X: G% E. Y0 u
. |! M9 R$ J1 V- m8 Y3 U" }& [4 U
二. IAR 下的实现# ^2 H9 N+ n, J& n
1. icf 文件的配置
, y8 C/ w) L8 b3 @* [3 l   在 IAR 的 linker,config file editer 中设置中断向量表位置保持不变 0x0800 0000,代码的存放地址设置为 0x0800 8000 ~ 0x080F FFFF。我们将数据保存在 0x0800 4000 ~ 0x0800 7FFF 中。
4 r6 N* X/ k% t( d5 R
+ Q9 j' U* }' t3 f `@LE@KX3]W(LJLROQX1MIGP.png
$ e! w: ]# o1 F2 z: j6 E5 X- Z! x1 ^5 A2 K/ r0 i  \0 A
   同时在.icf 文件中做添加脚本:$ n  G, H" \7 a  y- F6 R, o
   define symbol __ICFEDIT_region_DATAROM_start__ = 0x0800 4000;" ?1 J1 H- j6 I# t3 w8 i" M
   define symbol __ICFEDIT_region_DATAROM_end__ = 0x0800 7FFF;& ^- ^1 b+ K8 ^8 W) ^: |. ?! s4 v! ]/ e% w
   define region DATA_region = mem:[from __ICFEDIT_region_DATAROM_start__ to
3 m' O5 `: E  @   __ICFEDIT_region_DATAROM_end__];. l( f& l! t$ f8 u7 I
   place in DATA_region { readonly section .rom_data };
) w+ x9 Y5 j; n; }3 m9 j% W

4 P5 ]% @2 U4 O- P3 u1 X
2. 预编译的处理; q; m6 X" Q; A
   #define DATA_ROM _Pragma("location=\".rom_data\"")3 T6 |# Y; y2 ^5 Y  D% K
   DATA_ROM const uint32_t test_data[] = {32,33,34};; e: {/ y5 a" Q, e
   DATA_ROM const uint32_t test_data2[] = {33,33,34};

. m+ B/ J, \. q, K+ i1 l   编译后的.map 文件中
! N% T; r1 ~# p1 Z/ ]  j
4 L! I9 x# w9 n4 L& x  y1 e Z96Z2X0TC@O9F@~DRRY3W.png * K- ?( ^) a" l
4 ~$ R4 g( _: x- g% f! B$ O; F
   可以看到 test_data 已经放在了我们希望存储的地址。
, v  F9 O, s1 G0 x% S6 ~   用户可以通过调用标准外设库提供的 flash 函数对该数据进行修改。
# E% h# ~+ u: o) M: W" z4 o* H# T3 p+ ^: D! ^
收藏 评论0 发布时间:2022-2-21 20:13

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版