首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

擦除和写falsh问题

擦除和写falsh问题

1、按照68HC908SR12手册上,擦除和写flash程序必须在RAM进行,在编程时怎么实现啊? 怎么把擦除和写flash的程序先写到RAM,然后执行时怎么定到RAM,然后怎么回到Flash区。迷惑了!
2、其它单片机(比如C8051F020等)在写Flash之前,必须先擦除当前页(相当于清空),因为Flash里各位只能由1变为0,而不能由0变为1,在68HC908的手册并没有提到这一点,不知道是否也必须那样。
3、另外,在写Flash时是否最好是关闭所有中断?因为其它单片机一般都如此。

   希望斑竹和各位大侠解惑,谢谢!
怎么没有人回答
不断学习,摸索中进步!
首先要明确HC08的存储结构

 边凿磨边用
 
 经验同分享
第1题:
是的,擦除和写FLASH必须在RAM中进行。编程时,应先将擦除和写FLASH的子程序写入RAM中,然后在调用这个放在RAM中的子程序即可。执行子程序本身的返回指令,即可回到FLASH区。
第2题:
908的FLASH在写之前,也必须擦除。但908的FLASH的擦除状态是1,而不是0。写FLASH时,只能将1写为0,而不能将0写为1。这在908的数据手册中肯定有介绍,仔细找找看。
第3题:
是的,在写FLASH时最好关闭所有中断,而且最好也关闭WATCHDOG(COP)。
海纳百川  有容乃大
论坛可能有些问题,前两天我登录了但不能进来
最近我有看到不少帖子给重复成两份,就像上面的帖子,怎么出来两个,头像也不一样。

 边凿磨边用
 
 经验同分享
正在处理中,不好意思,对不起大家了
 
返回列表