在线时间1 小时
UID3264305
注册时间2016-4-21
NXP金币0
该用户从未签到
新手上路

- 积分
- 13
- 最后登录
- 2016-4-24
|
我现在在用dz60的开发板尝试实现用can刷程序,遇到了问题好几天也没弄通,希望有高手指点。我所做的工作:
1. 编写bootloader程序, prm文件设置如下
APP_ENRTY = READ_ONLY 0xF300 TO 0xF30F; //用户程序入口地址
APP_ISR_TBL = READ_ONLY 0xF3C0 TO 0xF3FF; //用户程序中断表地址
BOOT_MEM = READ_ONLY 0xF400 TO 0xFBFF RELOCATE_TO 0x400; // bootloader程序地址
ROM_INIT = READ_ONLY 0xFC00 TO 0xFFAD;
并在bootloader的main函数中写入
nvopt = 0x02;
nvprot = 0xfd;
SaveToFlash(0xffbd,&nvprot,1);
SaveToFlash(0xffbf,&nvopt,1);
定义了flash保护区域0xf400到0xffff,向量重定向使能,bootloader的向量重定向到0xffc0(其实没变)。
2.编写用户应用程序,prm文件为
ROM = READ_ONLY 0x1900 TO 0xF2FF;
APP_ENRTY = READ_ONLY 0xF300 TO 0xF30F; //用户程序入口地址
VECTOR 0 app_entry //用户程序入口地址
并在用户程序中 定义了flash保护区域0xf400到0xffff,向量重定向使能,重定向到0xF3C0 TO 0xF3FF。
先给dz60 烧录bootloader程序,用自己做的上位机给dz60刷 用户程序。
遇到问题:刷入用户程序后,关机,开机,可以进入用户程序,中断也正常。但却无法再进入bootloader刷flash模式,我看了下memory,bootloader的程序并没有被刷掉,敢问高手,这是为什么呀,愁死了,再弄不出来估计boss要大发飙了!
|
|