完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我想将我的软件版本和数据存储在STM32的Flash的一个特定部分。我试图在keil mdk中配置stc文件,但它似乎不起作用。所以谁能帮我找到哪一步不对,谢谢。
的 1.我在keil中设置使用用户配置的stc文件; 的 2.我这样设置sct文件: ;添加0x0x0801B000起始地址,2k=0x800长度定义为myram段存放用户数据 3.我将 MYRAM 定义为 __attribute__((section("myram"))): 的 4.我使用MYRAM来定义用户数据const变量: 然后我重建这个程序并将十六进制下载到STM32G4,但是sct文件定义了样式 在 0x0801B000 的 MYRAM 部分找不到变量; 的 但是当我在+地址使用style liking属性时,它很有用; 所以属性at+address方法是有用的,但是如果我想在UserData_BlockValue2后面再定义一个const变量,由于UserData_BlockValue2的长度,我不得不计算地址,这似乎有点乏味。 我想知道是否可以使用 sct 文件来定义闪存的一部分来存储我的常量变量 Value1、Value2、Valu3...等等,这些变量的地址会自动依次位于该部分?谢谢。 |
|
相关推荐
1个回答
|
|
将版本字符串定义为 const
static const char xxxx[]={"version string"};// 确保将编译为 RO 数据 新建一个REGION,写入LOAD地址*(.rodata.xxxx) LR_IROM2 0x0801B000 0x00000800 { ; 加载区域 size_region ER_IROM2 0x0801B000 0x00000800 { ; 加载地址=执行地址 *(.rodata.xxxx) } } 请注意,LR_IROM2 区域必须在默认区域之外。 |
|
|
|
只有小组成员才能发言,加入小组>>
请教:在使用UDE STK时,单片机使用SPC560D30L1,在配置文件怎么设置或选择?里面只有SPC560D40的选项
2593 浏览 1 评论
3197 浏览 1 评论
请问是否有通过UART连接的两个微处理器之间实现双向值交换的方法?
1772 浏览 1 评论
3595 浏览 6 评论
5975 浏览 21 评论
927浏览 4评论
1303浏览 4评论
在Linux上安装Atollic TRUEStudio的步骤有哪些呢?
569浏览 3评论
使用DMA激活某些外设会以导致外设无法工作的方式生成代码是怎么回事
1290浏览 3评论
1342浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-11 00:55 , Processed in 0.953427 second(s), Total 77, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号