硬汉嵌入式论坛

 找回密码
 立即注册
查看: 753|回复: 5
收起左侧

[技术讨论] 尝试在STM32启动文件中的reserved添加版本信息失败

[复制链接]

12

主题

36

回帖

72

积分

初级会员

积分
72
发表于 2024-12-27 00:06:21 | 显示全部楼层 |阅读模式
在STM32中的启动文件中,中断函数并没有把所有的空间都占满,我尝试通过attribute,在reserved中添加版本信息,但是发现flash的信息不正常了,请问该如何利用reserved?

注释掉attribute,先按正常流程下运行,flash数据正常



最后解除注释,使用attribure,flash数据异常

请问,加入我想利用reversed的空间,添加一些固件信息,该怎么操作?
回复

使用道具 举报

12

主题

36

回帖

72

积分

初级会员

积分
72
 楼主| 发表于 2024-12-27 00:07:18 | 显示全部楼层
使用attribute后直接死机了
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117529
QQ
发表于 2024-12-27 07:58:53 | 显示全部楼层
直接写道reserved位置即可
回复

使用道具 举报

356

主题

2180

回帖

3253

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3253
发表于 2024-12-27 10:02:45 | 显示全部楼层
本帖最后由 caicaptain2 于 2024-12-27 10:04 编辑

这么用,很简单。这个区域总共有4x4=16个字节。
我这个是app中的代码,起始地址是0x08010000

Snipaste_2024-12-27_10-02-17.png

回复

使用道具 举报

12

主题

36

回帖

72

积分

初级会员

积分
72
 楼主| 发表于 2024-12-27 18:32:47 | 显示全部楼层
caicaptain2 发表于 2024-12-27 10:02
这么用,很简单。这个区域总共有4x4=16个字节。
我这个是app中的代码,起始地址是0x08010000

谢谢版主,按照你的方法,问题已经解决了,可是我想了解一下,为什么我用attribute去写入,会导致flash数据错乱然后死机呢?这是什么原理呢?
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117529
QQ
发表于 2024-12-28 07:50:03 | 显示全部楼层
麦克斯韦Maxwell 发表于 2024-12-27 18:32
谢谢版主,按照你的方法,问题已经解决了,可是我想了解一下,为什么我用attribute去写入,会导致flash数 ...

如果你要在其他文件定义好,应该用下面这种方式。

定义变量可以加const定义到内部Flash,或者指定其它地址



声明



读取的时候获取的是变量的地址,你用指针变量读取这个地址的内容即可。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-8-12 11:10 , Processed in 0.138527 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表