打印

最近想写一个基于iap15f2k61s2的isp程序,希望得到一些指导

[复制链接]
2604|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jiegex|  楼主 | 2013-5-8 10:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这个程序命名为Boot,
空间排布如下:
从0开始的512字节正常使用firstsector
从512开始的1K用于存放之前的512字节(bootsector_cpy)和APP的最前512字节(appsector_cpy)
接下来从0600H开始保留(61K-4K-1K-512)字节,为APP保留
最后的E400H开始的4K的空间用于编写Boot代码
从61K开始的空间是芯片自带的isp程序,我不会也不敢动

程序运行原理:
Boot从多种数据源(SD卡,串口,红外,以太网。。。)接收App代码,然后写入App保留区和appsector_cpy中,再将firstsector写入bootsector_cpy中,最后将appsector_cpy写入firstsector中,重启进入app

相关帖子

沙发
coody| | 2013-5-8 10:41 | 只看该作者
要遵守51的规则,BOOT放在最后面,AP放在从0开始的地方。
我5-1时写了一个,用超级终端的Ymodem协议发送程序文件更新的。

使用特权

评论回复
板凳
autopccopy| | 2013-5-8 14:00 | 只看该作者
:)

使用特权

评论回复
地板
coody| | 2013-5-8 14:49 | 只看该作者
因为看到STC说Y5的CPU速度快了,详细看了汇编,确实好多常用的指令都减少了一个周期。
5-1假期时,我顺便改了个DDS的程序,用32.768MHZ的有源时钟,正弦表采样可以到1638400HZ,输出200KHZ正弦波,步进1HZ,不错。

使用特权

评论回复
5
jiegex|  楼主 | 2013-5-9 10:27 | 只看该作者
coody 发表于 2013-5-8 10:41
要遵守51的规则,BOOT放在最后面,AP放在从0开始的地方。
我5-1时写了一个,用超级终端的Ymodem协议发送程 ...

求进一步交流qq1192322386

使用特权

评论回复
6
liulangmao| | 2013-5-27 10:49 | 只看该作者
coody 发表于 2013-5-8 14:49
因为看到STC说Y5的CPU速度快了,详细看了汇编,确实好多常用的指令都减少了一个周期。
5-1假期时,我顺便改 ...

请问用IAP时 如果要用U盘或者SD卡更新程序,boot区是不是要有这些设备的驱动程序啊?

希望能和您交流,我最近急着搞这个。

使用特权

评论回复
7
coody| | 2013-5-27 15:23 | 只看该作者
当然要驱动

使用特权

评论回复
8
守望未来bzx| | 2014-1-6 23:14 | 只看该作者
求助呀,官网上只有12系列的,并且用了BRT硬件,而15系列没有这个东西,汇编勉强看的懂,不知道你做出来了吗?

使用特权

评论回复
9
coody| | 2014-1-7 10:12 | 只看该作者
我用的C语言写的,超级终端YMODEM协议发送二进制程序,接收完一包保存一包。
也想过把Bootloader写在程序区前面,还没空写,因为51结构的特点,还有编译器的特点,有一些硬规定,要解决中断向量的重影射,并且AP程序规定一个开始地址,比如前面4K放Bootloader,则AP程序编译时,必须从4K之后开始。过年放假无事时写一个看看。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

25

帖子

0

粉丝