HC89S003的bootloader开发中遇到的奇怪问题,顺便分享半成品。

2020-01-12 17:21发布

有一个小项目,准备用HC89S003,当初就是看中了他有第二复位向量,价格挺便宜,做IAP省事。
芯片手册我就不发了,芯圣官网有。
第二复位向量的看了芯片我的理解大概是这样,设定以后,程序不从0000H开始,从某个比较后面的地址开始,比如3800H,那么从3800H之后,就可以放bootloader,然后mcu提供了不使能第二复位向量的软复位,执行以后就可以从0000H开始跑业务代码。
然后就买了一些芯片和仿真器开搞了。
一开始为了省事,第二复位向量没有启用,直接在0000H写bootloader,测试读取和写入flash是否ok。测试过了。
然后,问题来了。
我把设置修改了,中断向量放在0x3800,存储空间从0x3800开始。就是以下两项。
TIM图片20180425124903.png (12.34 KB, 下载次数: 0) 下载附件 2018-4-25 12:49 上传
去咨询FAE,FAE也不知道什么情况,销售代理也不知道·····
叫我另外再买烧录器来测试····
论坛里有大神知道这是为什么么?我设置有错?还是什么情况??
而且很神奇的是,起始地址设定在0x0fff或者更低,就没事。
0x1000开始,就不行了,起始地址设定在哪里,就报哪个地址的错误?

半成品bootloader上传上来了,和原厂的比,不需要占用4K空间,目前只要1K就够了。
只有读取和写入功能,crc做了会超过1K,被我注释了。
上位机还没写······
test.rar (36.6 KB, 下载次数: 15) 2018-4-25 12:53 上传 点击文件名下载附件
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
22条回答
sypf
1楼-- · 2020-01-12 19:46
对了,这个问题,我在3个环境下测试,都能重现,分别是虚拟机下的xp+c905 uv4,win7+c905 uv4和win10+uv5。所以,应该不是兼容性问题吧?
health
2楼-- · 2020-01-13 00:23
是否是手册中提到的这个问题?

HC.jpg (180.23 KB, 下载次数: 0)

下载附件

2018-4-25 13:09 上传

sypf
3楼-- · 2020-01-13 03:00
本帖最后由 sypf 于 2018-4-25 13:23 编辑
health 发表于 2018-4-25 13:09
是否是手册中提到的这个问题?


这是哪个手册啊?我看到的手册里面,都没有这一段啊·····
我擦,找到了
代理商给的HC-LINK手册里面没有这一段,官网上的版本增加了这个说明,我去掉校验试试看
kinoko
4楼-- · 2020-01-13 06:55
我用demo板+HCLINK测试你的工程可以烧进去。
sypf
5楼-- · 2020-01-13 08:48
 精彩回答 2  元偷偷看……
kinoko
6楼-- · 2020-01-13 11:43
sypf 发表于 2018-4-25 13:25
直接烧录?没去掉校验也可以?你确认一下中断向量地址和起始地址都是0x3800? ...

Video_2018-04-25_133351.rar (1.81 MB, 下载次数: 8) 2018-4-25 13:36 上传 点击文件名下载附件
你工程的设置全部没动过,
该不会是你之前调试IAP时有死循环把flash写坏了吧

一周热门 更多>