我最近在用STM8S103k3做东西,用到了里面的EEPROM。我想字节编程,字编程,我都用着好好的,但是最近我需要用到块编程。发现一用块编程,程序就死在块编程的函数上面,我搞了好久都没有解决问题。官方提供的库函数我也试了,也不行。论坛里面有没有用过块编程的朋友。指导就弟一下 |
测试标签123
IAR FOR ARM和IAR FOR STM8无法共存,
STM8L052,液晶内部电源怎么用?
STM8S103飞线外接芯片,I2C不能得到slaveAddress应答,通讯失败。
STM8S105C6T6 UART2串口,能接收数据,不能发送数据
STM8S105K4 串口2 无奇偶校验,也能接收 偶校验的 数据
在STM8S的IAP使用中断和APP使用中断问题
STM8L151 SMBUS设计
STM8S103F复位异常
STM8L的LCD调试时不亮
字编程慢啊,它的字节编程、字编程、块编程的时间都是一样的。反正这芯片RAM也够了,还不如直接块编程了
好了,块编程需要在RAM中运行,IAR编译器默认把在RAM中编程的那一项关闭了。在函数前面加上关键字就可以了
什么关键字?求指点~
正常的函数 void eepromWriteBlock();
想在RAM中运行,定义成这样 __ramfunc void eepromWriteBlock();
- 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.