打印
[STM8]

STM8S EEPROM块操作的一种跑死原因--防微杜渐

[复制链接]
1786|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hufengweixx|  楼主 | 2017-7-20 15:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 hufengweixx 于 2017-7-20 15:22 编辑

STM8S105S 芯片以及相似系列的单片机均具备EEPROM的读写功能,库函数中还提供了块操作函数FLASH_ProgamBlock(),有些人应该和我一样在新建工程后,调试此部分功能是会发现程序在这一函数中跑死;

查找原因后得解决方法:
1、STM8S_conf.h中将“stm8_flash.h”启用,把注释去掉;
2、修改stm8s.h的注射,让使Flash功能能够从RAM中运行:

#if !defined (RAM_EXECUTION)
    #define RAM_EXECUTION  (1)                             // 打开这里的注释才可启用块操作功能
#endif /* RAM_EXECUTION */

希望对刚用这个功能的兄弟有用!!!!
沙发
feelhyq| | 2017-7-20 16:01 | 只看该作者
希望能提出现情况的具体原因,以及具体解决方法,好让大家了解原理

使用特权

评论回复
板凳
mmuuss586| | 2017-7-20 18:12 | 只看该作者
调试的时候可以改成RAM运行,最后使用还是要改回来;

使用特权

评论回复
地板
yiyigirl2014| | 2017-7-20 20:47 | 只看该作者
非常有用,参考学习。

使用特权

评论回复
5
hufengweixx|  楼主 | 2017-7-21 10:12 | 只看该作者
本帖最后由 hufengweixx 于 2017-7-21 10:47 编辑
mmuuss586 发表于 2017-7-20 18:12
调试的时候可以改成RAM运行,最后使用还是要改回来;

1、有点不知道为什么需要切换?意思是:调试试需要上面的修改为RAM中运行;正常使用时得改回去?请指点下  如果可以的话可以告知下原因,不胜感激。
2、据我所知,在需要有点块函数时,应该需要在RAM中运行,要是去掉了,应该就不可以调用块函数。


使用特权

评论回复
6
Brand2| | 2017-7-21 17:18 | 只看该作者
在哪设置的RAM运行,flash运行

使用特权

评论回复
7
hufengweixx|  楼主 | 2017-7-24 08:54 | 只看该作者
Brand2 发表于 2017-7-21 17:18
在哪设置的RAM运行,flash运行

在库函数中的配置里面可修改,详见文中

使用特权

评论回复
8
yfgww| | 2017-10-19 11:48 | 只看该作者
先收藏起来

使用特权

评论回复
9
stm32jy| | 2017-10-19 11:56 | 只看该作者
对了要设置成成RAM运行,可以试试。

使用特权

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

本版积分规则

6

主题

219

帖子

4

粉丝