关于RTX5的提问:BOOT和APP都使用了最新封装的RTX5
BOOT和APP都使用了最新封装的RTX5,在BOOT里面如果在创建了多任务, 在执行osKernelStart(); 前跳转APP,或者裸机跳转, APP可以正常执行.
如果BOOT里面一旦执行了osKernelStart();
跳转到APP, 在APP运行osKernelInitialize(); 就会触发硬件中断, 明显是两个RTX有冲突造成的.
跳转前已关闭了可能有影响的中断:
HAL_SuspendTick();
__set_PRIMASK(1);
SCB_DisableICache();
SCB_DisableDCache();
HAL_NVIC_DisableIRQ(PendSV_IRQn);
HAL_NVIC_DisableIRQ(SysTick_IRQn);
我想在跳转前把所有任务删除, 但是封装后的RTX5好像没有删除任务功能?
没找到删除任务的函数.
或者有什么办法把BOOT的RTX系统停止? osThreadTerminate eric2013 发表于 2020-4-9 19:51
osThreadTerminate
这个函数我试过, 还是硬件中断. `dc2018 发表于 2020-4-9 20:08
这个函数我试过, 还是硬件中断.
我回复的是RTX5的任务关闭API是osThreadTerminate 。
而你程序问题的解决,参考此贴:
【解决】Bootloader使用RTX无法跳转应用
http://www.armbbs.cn/forum.php?mod=viewthread&tid=93857&fromuid=58
(出处: 硬汉嵌入式论坛)
eric2013 发表于 2020-4-9 20:13
我回复的是RTX5的任务关闭API是osThreadTerminate 。
而你程序问题的解决,参考此贴:
这贴我看过了, 也没有解决方法.
看来只能裸机了.
谢谢硬汉! 帮你改下了下题目,方便后期检索:handshake eric2013 发表于 2020-4-9 20:16
帮你改下了下题目,方便后期检索
好滴! :handshake `dc2018 发表于 2020-4-9 20:18
好滴!
做了个APP和boot都使用RTX5的案例,明天我分享下。 分享个基于STM32H7的BOOT和APP代码都使用RTX5的案例,相互之间任意跳转
http://www.armbbs.cn/forum.php?mod=viewthread&tid=97247&fromuid=58
(出处: 硬汉嵌入式论坛)
{:8:}
页:
[1]