Microchip
直播中

黄芙蓉

8年用户 212经验值
私信 关注
[问答]

代码的某些部分被重复

大家好,我在dspic33FJ128MC804的引导加载器中工作,现在我可以发送(通过UART)和闪存程序(只有当程序没有中断时)。我的问题开始于我试图发送带有中断的简单代码,在这种情况下是带有定时器的工具:在程序存储器中,代码的某些部分被重复(您可以在附加的.txt文件中看到),确切地说,位置0x538的代码在位置0x5B8被重复。(我想这是由于中断映射造成的)。您可能知道我如何在引导加载器中对中断进行编程吗?我会感谢任何帮助。快乐的HalyDay. Carlos Ramirez。

回帖(2)

吕聪

2019-9-24 12:13:37
我刚刚为dsPIC33fj(606610802)编写了一个引导加载程序,使用了1Mbit的ECAN模块和625kbaud的UART,并且还运行了一个定时器中断。通信通道是中断驱动的。没问题?您的代码没有显示引导加载程序的内容。请记住,处理器在擦除/写入功能期间“冻结”。中断将在此期间被推迟。您应该将LED位写入锁存器(_LATB8),而不是端口(_RB8)。我假设您的链接器脚本正在重新定位代码而不是引导加载器,并解决中断向量?文斯
举报

李艳

2019-9-24 12:23:49
很抱歉,我花了一些时间在其他项目中工作。在代码和链接器文件中做了一些修改之后(基于这篇文章,我使用参考手册修改了中断的地址),我可以在代码中使用中断,不幸的是,我注意到一些中断ption的偏移量为12(例如定时器1中断),因此我正被重定向到默认中断代码(重置)。您知道我的代码可能出错吗(我还上传了正在使用的链接器文件)?谢谢你们的回答。很抱歉,我花了一些时间在其他项目中工作。在代码和链接器文件中做了一些修改之后(基于这篇文章,我使用参考手册修改了中断的地址),不幸的是,我可以使用代码中的中断。我注意到一些中断的偏移量是12(例如定时器1中断),因此(我假设)我正被重定向到默认中断代码(重置)。您知道我的代码可能出错吗(我还上传了我正在使用的链接器文件)?
BooLoad .txt(43.49 KB)-下载74次
举报

更多回帖

发帖
×
20
完善资料,
赚取积分