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条回答
farfar
1楼-- · 2020-01-15 14:20
sypf 发表于 2019-9-5 07:53
之前好像有个说明说单步进去似乎会停在下一步还是啥,调试看变量是没问题的 ...

感谢,之前用了N76E003,单步时跳得乱七八糟的,无法正常单步执行,如果这颗料可以单步的话倒是不错的选择。
kebaojun305
2楼-- · 2020-01-15 17:07
 精彩回答 2  元偷偷看……
farfar
3楼-- · 2020-01-15 21:24
kebaojun305 发表于 2019-9-5 09:30
这个是 keil 51编译器的问题,只要用51核 用keil 都有这个问题。

应该不是Keil的问题,应该是在单步执行时内核没有暂停运行才会这样的,STM32也是用的Keil就没有这样的问题。
kebaojun305
4楼-- · 2020-01-15 22:34
farfar 发表于 2019-9-5 09:47
应该不是Keil的问题,应该是在单步执行时内核没有暂停运行才会这样的,STM32也是用的Keil就没有这样的问 ...

请问  STM32是 51核吗?

一周热门 更多>