发新帖我要提问
12
返回列表
打印
[STM32F1]

STM32F103C8T6 读写内部flash,导致重新上电不能启动问题

[复制链接]
楼主: ousj
手机看帖
扫描二维码
随时随地手机跟帖
21
ousj|  楼主 | 2021-1-5 23:35 | 只看该作者 回帖奖励 |倒序浏览

0x08009766   0x00000490   Data   RO         1008    .constdata          bmp_icon.o
    0x08009bf6   0x00000200   Data   RO         1072    .constdata          mbcrc.o
    0x08009df6   0x00000028   Data   RO         1365    .constdata          c_w.l(_printf_hex_int.o)
    0x08009e1e   0x00000011   Data   RO         1395    .constdata          c_w.l(__printf_flags_wp.o)
    0x08009e2f   0x00000001   PAD
    0x08009e30   0x00000094   Data   RO         1617    .constdata          c_w.l(bigflt0.o)
    0x08009ec4   0x00000063   Data   RO         1087    .conststring        mbrtu.o
    0x08009f27   0x00000001   PAD
    0x08009f28   0x00000044   Data   RO         1167    .conststring        mbascii.o
    0x08009f6c   0x00000020   Data   RO         1749    Region$$Table       anon$$obj.o
    0x08009f8c   0x0000001c   Data   RO         1645    locale$$data        c_w.l(lc_numeric_c.o)
    0x08009fa8   0x00004058   PAD
    0x0800e000   0x0000000c   Data   RO          639    .ARM.__AT_0x0800E000  Reserved_Data.o//此处我定义了三个 const  unsigned int  常量在这个位置,前后都没有东西的。

使用特权

评论回复
22
hanwe| | 2021-1-5 23:35 | 只看该作者

还有什么现象?能再详细描述下吗?

使用特权

评论回复
23
ousj|  楼主 | 2021-1-5 23:39 | 只看该作者
其实,我是指定地址,在0X0800E000上定义了一个const常量,然后我的flash 也是操作的这个地址

使用特权

评论回复
24
ousj|  楼主 | 2021-1-5 23:43 | 只看该作者
可以看到,从 0X08009FA8 开始,都是PAD,也就是填充空白的。倒数第二段是没有数据的,

使用特权

评论回复
25
huanghuac| | 2021-1-5 23:47 | 只看该作者
PAD 可是有数据的,因为对齐的原因,程序的大小和实际占用的ROM大小不一致,才用PAD来表示。

使用特权

评论回复
26
zhuhuis| | 2021-1-5 23:50 | 只看该作者
看你的MAP文件最后占用ROM大小就知道了。

使用特权

评论回复
27
songqian17| | 2021-1-5 23:53 | 只看该作者
也就是我要读写最后定义的那个const常量

使用特权

评论回复
28
chuxh| | 2021-1-5 23:57 | 只看该作者
需要把1page数据都读出来,然后擦除掉,然后改掉需要修改的部分,再把数据都写进去是吗

使用特权

评论回复
29
llljh| | 2021-1-6 20:19 | 只看该作者
是的,这是flash的自身的特性,只能按照页来擦除

使用特权

评论回复
30
dingy| | 2021-1-6 20:23 | 只看该作者
如果你只是改这页上的部分数据,那么必须全读出来

使用特权

评论回复
31
xxrs| | 2021-1-6 20:28 | 只看该作者
修改需要修改的部分,然后再写回去。

使用特权

评论回复
32
ousj|  楼主 | 2021-1-6 20:31 | 只看该作者

哦,那我就知道怎么回事了,多谢大家

使用特权

评论回复
33
磨砂| | 2021-2-2 21:05 | 只看该作者
楼主的问题好奇怪啊

使用特权

评论回复
34
晓伍| | 2021-2-2 21:06 | 只看该作者
难道破坏了原有代码?

使用特权

评论回复
35
八层楼| | 2021-2-2 21:10 | 只看该作者
在这种情况下 可以恢复出厂设置吗

使用特权

评论回复
36
观海| | 2021-2-2 21:11 | 只看该作者
这些代码能看出来什么啊

使用特权

评论回复
37
guanjiaer| | 2021-2-2 21:12 | 只看该作者
重新写入新的程序试试看

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则