矿石收音机论坛

 找回密码
 加入会员

QQ登录

只需一步,快速开始

搜索
查看: 3390|回复: 19

用flash当eeprom用,实现掉电保存的疑问

[复制链接]
     
发表于 2021-12-4 22:04:56 来自手机 | 显示全部楼层 |阅读模式
编好的程序也放在flash中对吧,我在flash中划出一个区域当eeprom.我怎么知道这个区域是空闲可用的,万一已存放的是主程序代码,不会把主程序删掉么。
     
发表于 2021-12-14 15:34:08 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 1 反对 0

使用道具 举报

     
发表于 2021-12-4 22:06:02 | 显示全部楼层
看编译信息, 占用的空间
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2021-12-4 22:16:20 来自手机 | 显示全部楼层
iffi123 发表于 2021-12-4 22:06
看编译信息, 占用的空间

看来是有潜在冲突可能了,那我简单的从flash的最高处地址写,应该就能暂时不担心这个问题了,是这样的吗?
回复 支持 反对

使用道具 举报

     
发表于 2021-12-4 22:19:25 | 显示全部楼层
本帖最后由 iffi123 于 2021-12-4 22:24 编辑
爱咋咋地了 发表于 2021-12-4 22:16
看来是有潜在冲突可能了,那我简单的从flash的最高处地址写,应该就能暂时不担心这个问题了,是这样的吗 ...


那可能是堆栈的空间

其实还有个办法, 程序先定义你需要的空间大小的数组, 然后通过指针获得空间起始地址, 这样就很安全
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2021-12-4 22:28:11 来自手机 | 显示全部楼层
哦哦哦,好的
回复 支持 反对

使用道具 举报

     
发表于 2021-12-7 19:23:27 | 显示全部楼层
你不看芯片Datasheet的吗?
回复 支持 反对

使用道具 举报

     
发表于 2021-12-7 23:46:42 来自手机 | 显示全部楼层
是STC的吗?
回复 支持 反对

使用道具 举报

发表于 2021-12-13 19:26:51 | 显示全部楼层
堆栈空间应该在RAM吧。
回复 支持 反对

使用道具 举报

     
发表于 2021-12-14 15:32:51 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

     
发表于 2021-12-14 15:40:08 | 显示全部楼层
本帖最后由 iffi123 于 2021-12-14 15:41 编辑
bis 发表于 2021-12-14 15:34
那种单片机会让堆栈使用flash区域?讲给我听听让我也乐一乐。


头昏搞错了,   堆栈在RAM
回复 支持 反对

使用道具 举报

     
发表于 2021-12-14 15:41:28 | 显示全部楼层
堆栈使用的SRAM,固件才是FLASH,一般来说有烧写地址信息
不要重复使用地址就没事了,但FLASH寿命有限,频繁写入的话建议外置24、25芯片
回复 支持 反对

使用道具 举报

     
发表于 2021-12-14 15:56:31 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

发表于 2021-12-20 16:50:26 | 显示全部楼层
用休眠方式来保存数据(到RAM)也可,许多芯片的休眠电流已经做到1uA以下,与电池自然损耗差不多了。
回复 支持 反对

使用道具 举报

     
发表于 2022-2-8 09:43:52 | 显示全部楼层
看stc的pdf,stc单片机模拟eeprom掉电存储我也做过,放心写好了,厂方是不会让你改掉程序的,有寄存器设定的,比24c方便多,毕竟可以少用一个芯片。但注意的是这东东擦写是整个扇区,我是把改写的字节全先放在单片机ram,然后一下子写入flsh
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入会员

本版积分规则

小黑屋|手机版|矿石收音机 ( 蒙ICP备05000029号-1 )

蒙公网安备 15040402000005号

GMT+8, 2025-4-27 21:55

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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