我现在使用F13的芯片,参考例程把Boot和APP做成了单独的例程,Boot和APP分别独立运行都正常,但是将APP设置为0x6000启动之后,就出现APP中无法进入中断的现象,并且APP中操作Flash会引起芯片软件复位,从boot开始重新执行。
芯片是96K,我把0000-6000用作Boot区域,中断向量表做了偏移,如图:
Demo.zip
请大神有空帮忙看看!
1. WDT有没有启动? 是不是WDT造成的
2. 可以查看一下复位后的RESF是什么复位造成的
3. section的定义有问题, App的section是从6000H开始的. 这里怎么定义在0x2800
4. Boot已经做了向量表的映射, 为什么app还要做一次?
请认真对照样例程序, boot 和app的编译选项设置有差别, 仔仔细细按照样例程序去做.
非常感谢您的回复。我先和您讨论中断的问题,复位的问题后续我在查看。
3. 我这边之前有修改过,如图所示,也是一样的现象。
4. Boot这边是我后来修改的,之前是空的。
我按照下图的配置,也是一样的现象。
请问除了这两个配置和 函数跳转表,还有其他地方需要设置吗?
两个独立工程, 不用fsy的话, boot就不需要使用这个
感谢您的回复,这边改了之后现象一样。我单独调试boot,如下图,是可以跳转到APP的
调试APP+Boot时,可以成功跳转到APP执行,但是就是进不去中断,包括timer定时中断和CAN接收中断,不知道和Section的这些值有没有关系?
有没有可能是中断跳转到Boot的的中断服务函数那里去了,而APP部分的中断服务函数和Boot的中断服务函数没有指向同一个区域?