STM8S的EEPROM块擦除问题
我最近在用STM8S103k3做东西,用到了里面的EEPROM。我想字节编程,字编程,我都用着好好的,但是最近我需要用到块编程。发现一用块编程,程序就死在块编程的函数上面,我搞了好久都没有解决问题。官方提供的库函数我也试了,也不行。论坛里面有没有用过块编程的朋友。指导就弟一下直接用字编程就行了。干嘛还用块? ts2000 发表于 2015-6-9 10:19
直接用字编程就行了。干嘛还用块?
字编程慢啊,它的字节编程、字编程、块编程的时间都是一样的。反正这芯片RAM也够了,还不如直接块编程了 不懂帮顶 同问同问……大神 大神,问题解决了没呀?给大家传授下经验呗:loveliness: alvin_ 发表于 2015-7-28 08:46
大神,问题解决了没呀?给大家传授下经验呗
好了,块编程需要在RAM中运行,IAR编译器默认把在RAM中编程的那一项关闭了。在函数前面加上关键字就可以了 w453509596 发表于 2015-8-22 13:29
好了,块编程需要在RAM中运行,IAR编译器默认把在RAM中编程的那一项关闭了。在函数前面加上关键字就可以 ...
什么关键字?求指点~ 加上关键字 __ramfunc
正常的函数voideepromWriteBlock();
想在RAM中运行,定义成这样__ramfuncvoideepromWriteBlock();
之前用库函数也是发现使用块编程程序就死在那里了,后来发现原来库文件已经说明要怎么用了,没注意到
- 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.
页:
[1]
2