Tsed 发表于 2020-12-22 11:13:07

stm32f103 freertos系统 iap功能

stm32f103 freertos系统上iap的sd卡升级功能,
问题详细描述:
   原本在ucosiii上面的整体程序+iap升级(此程序可用),将ucosiii上面的逻辑程序都移植到freertos后再上iap升级结果遇到程序死在vTaskStartScheduler的prvStartFirstTask的svc 0处没有向下执行(无iap程序时freertos系统运行没有任何问题)。
试过的解决办法:
   1、在iap程序里面将所有的中断和gpio口都关闭,并不管用;
   2、iap程序中跳转前已经增加了如下程序段
   SCB->VTOR=appAddr;
    __set_BASEPRI(0);
    __set_FAULTMASK(0);               
    __set_PSP(*((volatile unsigned long int *)appAddr));                  //重新设置进程PSP堆栈地址
    __set_MSP(*((volatile unsigned long int *)appAddr));
    __set_CONTROL(0);
    __ISB();
    __disable_irq();         /*关闭中断*/
    3、app程序main函数之后增加过__enable_irq(); SCB->VTOR = FLASH_BASE | offsetf;也没有能起作用。
特地来贴吧上咨询各位大佬解决办法,还望各位大佬不吝赐教

eric2013 发表于 2020-12-23 09:52:43

参考我的吧,比较简单,任何RTOS都可以使用

基于STM32H7的BOOT和APP代码都使用最新版uCOS-III V3.08.00的案例,相互之间任意跳转
http://www.armbbs.cn/forum.php?mod=viewthread&tid=97260&fromuid=58
(出处: 硬汉嵌入式论坛)

分享个基于STM32H7的BOOT和APP代码都使用RTX5的案例,相互之间任意跳转
http://www.armbbs.cn/forum.php?mod=viewthread&tid=97247&fromuid=58
(出处: 硬汉嵌入式论坛)

Tsed 发表于 2020-12-30 18:49:38

eric2013 发表于 2020-12-23 09:52
参考我的吧,比较简单,任何RTOS都可以使用

基于STM32H7的BOOT和APP代码都使用最新版uCOS-III V3.08.00 ...

好的 谢谢我借鉴一下 哈哈:D
页: [1]
查看完整版本: stm32f103 freertos系统 iap功能