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 01:24
shibusha 发表于 2016-4-23 16:45
其实还是和中断向量指向有关。
在APP程序中,将用到中断的外设,在初始化时,进行一次恢复至默认操作,再 ...

嗯,是这样的,APP端我没有办法改变,我只能在Bootloader端做修改,我懂你的意思,就是可能是Bootloader中的中断什么的可能影响了app。但是我尝试过,Bootloader中什么都不做,直接初始化时钟,就跳转至app,仍然卡死在那个地方。
还有就是,我用官方的PX4Bootloader是没有任何问题的。
当然我用的是ST的库,它用的是libopencm3.

一周热门 更多>