完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我正在使用 STM32f746 和 touchGFX 开发一个项目。我需要将一些数据存储到闪存中并在需要时更改它,我想我必须擦除整个扇区,但我不想这样做,因为我在每个扇区都有一些数据。我现在使用 85% 的闪存。那么有没有办法在写入前删除特定内存呢?
|
|
相关推荐
1个回答
|
|
我将为向量表创建一个新的内存定义,并将 FLASH 的开头移到保留的闪存扇区之后。
现在 0x08008000 和 0x08018000 之间的内存,即闪存扇区 1 和 2 不再由链接器管理,因此您可以拥有自己的函数来读写该区域,如参考手册闪存章节中所述。 vector table之后大约有31kbytes的flash空间被浪费了,如果内存还紧张,可以把一些只读的数据移进去。查看 .map 文件,寻找只读数据结构,大小加起来大约为 31 k 的数组。CubeIDE 在 Build Analyzer 视图中有一个内存详细信息表,其中包含与 .map 文件或多或少相同的信息,打开 flash 下的 .rodata 部分,按大小排序,然后从中选择一些对象。在 .c 源代码中将以下行放在它们的定义之前:
|
|
|
|
只有小组成员才能发言,加入小组>>
请教:在使用UDE STK时,单片机使用SPC560D30L1,在配置文件怎么设置或选择?里面只有SPC560D40的选项
2718 浏览 1 评论
3235 浏览 1 评论
请问是否有通过UART连接的两个微处理器之间实现双向值交换的方法?
1807 浏览 1 评论
3643 浏览 6 评论
6031 浏览 21 评论
1333浏览 4评论
208浏览 3评论
195浏览 3评论
对H747I-DISCO写程序时将CN2的st-link复用为usart1,再次烧录时无法检测到stlink怎么解决?
348浏览 2评论
STM32G474RE芯片只是串口发个数据就发烫严重是怎么回事?
440浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-19 22:14 , Processed in 1.018445 second(s), Total 77, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号