dzguang的个人空间 https://bbs.21ic.com/?700971 [收藏] [复制] [RSS]

日志

对stm8s的iap部分说明

已有 1057 次阅读2014-5-11 23:26 |个人分类:项目经历小结|系统分类:单片机| stm8, bootloader, iap, hex

之前在论坛里看到了stm8s003的mini bootloader,觉得很不错,想用到自己一个项目当中,芯片也是stm8s的芯片,所以也采用类似的做法,(不知侵权与否,侵权的话,就删掉啊!!)
做法也是将bootloader的代码放在0x8080~0x8500之间,之后的应用代码放在0x8500之后。由于我的代码大小会超过32K所以需要将代码大小选择长堆栈的那个模式。
现在实现了,可以使用自己编写的上位机代码将stvd生成的hex码更新到单片机。
bootloader 代码的主要作用是:
一、上电发现有上位机连接后,根据协议的内容对指定地址的内容进行写操作
二、跳转到用户程序
三、更新中断地址,但是需要保证上电时0x8000地址的中断地址
上位机代码的说明:
1.选择并打开串口:115200,8,1,0
2.上电连接控制器
3.导入由stvd生成的hex代码,
4.根据通信协议,将hex码分成块大小,发送
5.根据块进度更新完成进度
用户代码的说明:
1.用户代码放在0x8500之后,
2.用户代码的中断是会被更新到0x8000这一块地址的。
3.需要注意用户中断代码,必须放在0x8500~0x10000之内,否则不能正确执行中断,而且会出错。
准备过一段时间,将自己编写的上位机软件和bootloader代码及相关注意点发出来。

路过

鸡蛋

鲜花

握手

雷人

全部作者的其他最新日志

评论 (0 个评论)