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

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

[复制链接]
STMCU小助手 发布时间:2022-2-21 20:13
一. 应用背景
- E" b- w$ f; o2 E6 E当客户遇到存储小量的数据,同时数据写的频率比较低的情况下。从成本角度希望省掉外置 EEPROM,STM32 提供了 Backup SRAM(4K)和 Flash 模拟 EEPROM 两种方案来解决该问题。但是,BackupSRAM 需要提供备用电源,Flash 模拟 EEPROM 又比较浪费空间(存放复杂的结构体数据也不方便)。如果数据擦鞋频率较低(Flash 擦写次数有限),可以考虑直接将数据存放在 Flash 中。本文提供了如何在 IAR6.5 实现该操作。
$ J0 ^. E" h3 m; D4 ^) C6 Y  x! I& \. F3 F3 `; v2 p
二. IAR 下的实现
/ p8 V- }% N# _1. icf 文件的配置
7 `$ ], H& f  h) o1 n   在 IAR 的 linker,config file editer 中设置中断向量表位置保持不变 0x0800 0000,代码的存放地址设置为 0x0800 8000 ~ 0x080F FFFF。我们将数据保存在 0x0800 4000 ~ 0x0800 7FFF 中。, m+ J0 W0 O) ~& z

% {. W8 {* a( z2 l2 i# x) P% C' |4 v `@LE@KX3]W(LJLROQX1MIGP.png
' v( l7 ^/ y: T0 ~; a: ^/ i8 _/ M0 [4 |% D
   同时在.icf 文件中做添加脚本:6 X" B, X# b. }* T9 I% y" o
   define symbol __ICFEDIT_region_DATAROM_start__ = 0x0800 4000;6 {% x9 d* E# f! @! c1 X& i7 H
   define symbol __ICFEDIT_region_DATAROM_end__ = 0x0800 7FFF;5 r$ B1 v# A9 e; @
   define region DATA_region = mem:[from __ICFEDIT_region_DATAROM_start__ to- `6 A9 ?, m! t  m7 m  Z& T
   __ICFEDIT_region_DATAROM_end__];
* \) G+ v& y' n: m$ e: Q) Y2 ]   place in DATA_region { readonly section .rom_data };

& C( B8 w" R* c/ }! p' r3 N% i6 p# Q. c  {# S0 H) f1 F* P
2. 预编译的处理- A. H  {9 B0 d# c0 y
   #define DATA_ROM _Pragma("location=\".rom_data\"")4 E8 Z1 L" U5 D! Q1 v' c
   DATA_ROM const uint32_t test_data[] = {32,33,34};
7 H5 f& A! i; V* t, t" a   DATA_ROM const uint32_t test_data2[] = {33,33,34};

# ]) w  _2 V& }, _0 m   编译后的.map 文件中
) Q  J2 h+ e1 L9 t+ D& H
2 x$ K* ?0 y) S2 @9 z Z96Z2X0TC@O9F@~DRRY3W.png 1 Y1 I% ]1 S7 N, s3 B

) q- V6 u) ]' I, u4 J% B   可以看到 test_data 已经放在了我们希望存储的地址。' V; y# T8 w/ b# s' D+ S
   用户可以通过调用标准外设库提供的 flash 函数对该数据进行修改。2 p8 C9 s, {% d; t& x

# C% r/ p7 B/ d* C1 h+ G
赞 收藏 评论0 发布时间:2022-2-21 20:13

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版