Bootloader能够正常跳转,一个串口的APP也能运行成功,但是PX4飞控作为APP运行就会卡死。

2019-07-20 22:38发布

主控芯片:   STM32F427VI   2MB  FLASH
问题描述:   自己写了一个Bootloader,是从SD卡读取bin文件,再写前16k的FLASH。  加载FATFs文件系统,读写什么的都没有问题。跳转app也OK。  
                     一共有两个测试app  ,第一个为串口app(用到的资源很少,就只有串口什么的),跳转成功,运行也ok。第二个app是PX4飞控(几乎把班上的资源用了70%以上吧),跳转OK,但是运行OK,总是卡死在一个地方。
                 跳转前,时钟什么的都关闭的。尝试过Bootloader什么都不做,直接跳转,依然卡死在同一个地方。
  谢谢各位了。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
11条回答
浪溢泽沉
2019-07-21 06:59
shibusha 发表于 2016-4-23 18:20
1. 看看APP里是否重定义了向量地址。
2. APP中是否改变了像PENDSV这类中断的入口。

reply 1: vetor table,在Bootloader跳转前已经重定义过,NVIC_SetVectorTable(App_Base_Address, 0);      

reply 2: 不太明白,因为Bootloader重定义了中断向量表,那么app直接 处理中断就行。这个PENDSV我之前没有接触过,不太懂。  但是我是这么想的,PX4飞控官方的Bootloader能够跳转正常,飞控运行正常。那么应该不是app有问题。   


一周热门 更多>