1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
IAP是使用FOTA的代码做的。基于NANO V3.13,没有增加变动。
APP是裸机代码运行。 使用裸机IAP跳转裸机代码正常运行。 使用FOTA代码跳转只有串口输出的APP正常运行。 使用FOTA代码跳转裸机代码运行失败。 经过排查发现,在RTT进入系统调度之前跳转到裸机app后可以正常运行。 进入系统调度后,跳转裸机app运行失败。 失败现象为进入硬件错误中断。 rt_system_scheduler_start();这句函数后面就进行跳转会失败,在这前面跳转正常 IAP跳转前代码如下 __disable_irq(); for (IRQn_Type irq = WWDG_IRQn; irq <= FPU_IRQn; irq++) { HAL_NVIC_DisableIRQ(irq); HAL_NVIC_ClearPendingIRQ(irq); } //Resets the RCC clock configuration to the default reset state. HAL_RCC_DeInit(); SysTick->CTRL = 0; SysTick->LOAD = 0; SysTick->VAL = 0; HAL_DeInit(); extern int uart_deinit(void); uart_deinit(); //用户代码区第二个字为程序开始地址(复位地址) app_func = (rt_fota_app_func)*(__IO uint32_t *)(app_addr + 4); /* Configure main stack */ __set_MSP(*(__IO uint32_t *)app_addr); /* jump to application */ app_func(); app运行前代码如下 __enable_irq(); __set_FAULTMASK(0);//开启总中断 #define VECT_TAB_OFFSET 0x00020000U /*!< Vector Table base offset field. This value must be a multiple of 0x200. */ |
|
相关推荐
1个回答
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
529 浏览 0 评论
AI模型部署边缘设备的奇妙之旅:如何在边缘端部署OpenCV
2000 浏览 0 评论
tms320280021 adc采样波形,为什么adc采样频率上来波形就不好了?
1174 浏览 0 评论
1674 浏览 0 评论
1439 浏览 0 评论
74752 浏览 21 评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 01:01 , Processed in 0.445506 second(s), Total 39, Slave 33 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号