有一个小项目,准备用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 上传
点击文件名下载附件
一周热门 更多>