你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM8S的EEPROM块擦除问题

[复制链接]
w453509596 提问时间:2015-6-9 08:18 /
我最近在用STM8S103k3做东西,用到了里面的EEPROM。我想字节编程,字编程,我都用着好好的,但是最近我需要用到块编程。发现一用块编程,程序就死在块编程的函数上面,我搞了好久都没有解决问题。官方提供的库函数我也试了,也不行。论坛里面有没有用过块编程的朋友。指导就弟一下
收藏 1 评论15 发布时间:2015-6-9 08:18

举报

15个回答
ts2000 回答时间:2015-6-9 10:19:51
直接用字编程就行了。干嘛还用块?
w453509596 回答时间:2015-6-11 12:20:29
ts2000 发表于 2015-6-9 10:19
直接用字编程就行了。干嘛还用块?

字编程慢啊,它的字节编程、字编程、块编程的时间都是一样的。反正这芯片RAM也够了,还不如直接块编程了
为什么是EEFOCUS小白 回答时间:2015-6-15 16:47:18
不懂帮顶
alvin_ 回答时间:2015-6-16 12:03:49
同问同问……大神
alvin_ 回答时间:2015-7-28 08:46:15
大神,问题解决了没呀?给大家传授下经验呗
w453509596 回答时间:2015-8-22 13:29:13
alvin_ 发表于 2015-7-28 08:46
大神,问题解决了没呀?给大家传授下经验呗

好了,块编程需要在RAM中运行,IAR编译器默认把在RAM中编程的那一项关闭了。在函数前面加上关键字就可以了
alvin_ 回答时间:2015-8-22 13:47:53
w453509596 发表于 2015-8-22 13:29
好了,块编程需要在RAM中运行,IAR编译器默认把在RAM中编程的那一项关闭了。在函数前面加上关键字就可以 ...

什么关键字?求指点~
w453509596 回答时间:2015-8-28 12:11:33
加上关键字 __ramfunc

正常的函数  void  eepromWriteBlock();
想在RAM中运行,定义成这样  __ramfunc  void  eepromWriteBlock();
负西弱 回答时间:2015-9-2 23:19:55
之前用库函数也是发现使用块编程程序就死在那里了,后来发现原来库文件已经说明要怎么用了,没注意到

- For IAR Compiler:
    1- Use the __ramfunc keyword in the function declaration to specify that it
    can be executed from RAM.
    This is done within the stm8s_flash.c file, and it's conditioned by
    RAM_EXECUTION definition.
    2- Uncomment the "#define RAM_EXECUTION  (1)" line in the stm8s.h file, or
   define it in IAR compiler preprocessor to enable the access for the
   __ramfunc functions.
12下一页
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版