[STM8] 关于STM8 IAP的注意事项

[复制链接]
3507|4
 楼主| qiujiahongde 发表于 2013-4-5 22:02 | 显示全部楼层 |阅读模式
使用ST官方固件做IAP主要要注意的问题是块操作,和64K以上地址访问;
1、使能块操作在RAM中运行,打开宏定义“#define RAM_EXECUTION  (1) ”;同时这里需要注意的是块操作数据源也必须在RAM中,如果不是,则先拷贝到RAM中再执行;
2、在库的FLASH操作函数中有如下代码:
*((PointerAttr uint8_t*) (uint16_t)startaddress + Count) = ((uint8_t)(Buffer[Count]));
这里(uint16_t)这个强制转换存在问题,因为如果地址值超过了64K,则16位无法表示;做如下修改:
*((PointerAttr uint8_t*) (uint32_t)startaddress + Count) = ((uint8_t)(Buffer[Count]));
我做IAP遇到就是这两个问题,记录下来,希望能对大家有所帮助。
iCreate 发表于 2013-4-5 22:07 | 显示全部楼层
做出来了吗IAP
 楼主| qiujiahongde 发表于 2013-4-5 22:42 | 显示全部楼层
做出来了,GPRS远程升级!!
cjhk 发表于 2013-4-6 19:19 | 显示全部楼层
牛人   远程升级   呵呵  以前用430单片机时   玩过  呵呵   STM的芯片也能这样玩   不错   呵呵
cjhk 发表于 2013-4-6 19:19 | 显示全部楼层
有时间   楼主把项目共享一下   呵呵    顶一个   呵呵
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:单片机技术交流群:142282597(入群请自觉修改网名,所在地+网名,如:深圳-Q)

4

主题

113

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部