请教在RTOS用DFU下载遇到的问题
我在DFU模式下,将一个带freeRTOS的程序通过USB下载到0x800C000起始位置的flash,但发现程序跑到启动调度器函数时就跑飞了,请教下这是怎么回事?个人怀疑可能是中断映射问题,但不知道用DFU怎么设置中断映射,请知道的麻烦提示下,谢谢了!启动调度器函数如下:
vTaskStartScheduler();
RE:请教在RTOS用DFU下载遇到的问题
找到原因了,确实需要中断重映射,在初始化时增加如下函数即可void NVIC_Configuration(void)
{
/* Set the Vector Table base location at 0xC000 */
NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0xC000);
}
RE:请教在RTOS用DFU下载遇到的问题
还有一点,你的启动程序最好,要做关所有中断的处理。回复:请教在RTOS用DFU下载遇到的问题
回复第 3 楼 于2013-10-29 18:29:19发表:还有一点,你的启动程序最好,要做关所有中断的处理。
能解释下为什么需要关所有中断吗?以及在什么时候关闭所有中断?谢谢了!
RE:请教在RTOS用DFU下载遇到的问题
在IAP启动程序跳入APP之前 关闭所开中断。 这种可以防止跳入APP时依然触发IAP的中断。会产生硬件故障。
页:
[1]