gpt4 book ai didi

stack-overflow - 在 FreeRTOS 中从 ISR 提供​​信号量后堆栈溢出

转载 作者:行者123 更新时间:2023-12-02 04:03:43 25 4
gpt4 key购买 nike

我正在尝试使用 FreeRTOS 的 xSemaphoreGiveFromISR函数和随附的 portEND_SWITCHING_ISR宏从处理 I2C 事务结束的中断中提供信号量。

每次我这样做时,我都会遇到程序的应用程序堆栈溢出 Hook 函数。与工作版本的唯一变化是将此行添加到 ISR,并且我将堆栈大小从 8192 增加了一倍至16384这没有帮助。

有人对我得到了什么有想法吗?

我的 configCHECK_FOR_STACK_OVERFLOW值为 1。

最佳答案

您可能需要检查中断是否以与 RTOS configKERNEL_INTERRUPT_PRIORITY 相同的优先级运行。

不幸的是,它没有明确说明。

我遇到了与 RTOS 默认配置设置的中断优先级低于芯片默认值相同的问题,至少对于 Microchip 设备而言。

您还需要为每个任务提供足够的内存来处理优先级,如果您有任何 taskYield,它必须是中断的最后一条指令。

关于stack-overflow - 在 FreeRTOS 中从 ISR 提供​​信号量后堆栈溢出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8829058/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com