freertos应用程序常见错误排查

本文档列举并解答了FreeRTOS系统中常见的应用程序错误,包括任务创建导致的内存不足、中断调用API错误、中断服务例程中的崩溃、调度器启动问题、临界区嵌套错误、调度器启动前的API调用以及调度器挂起时的API误用等问题,提供了详细的故障排查和解决方案。
摘要由CSDN通过智能技术生成

freertos系统应用程序常见问题

对一些比较常见的问题,下面简要的以 FAQ(问答)的形式给出可能的原因和解决方法。

问题现象:在一个 Demo 应用程序中增加了一个简单的任务,导致应用程序崩溃

  1. 任务创建时需要在内存堆中分配空间。许多 Demo 应用程序定义的堆空间大小只
    够用于创建 Demo 任务——所以当任务创建完成后,就没有足够的剩余空间来增加其
    它的任务,队列或信号量。
  2. 空闲任务是在 **vTaskStartScheduler()**调用中自动创建的。如果由于内存不足而无法创建空闲任务,**vTaskStartScheduler()**会直接返回。在调用 vTaskStartScheduler()
    后加上一条空循环[for( ; ; )]可以使这种错误更加容易调试。
  3. 如果要添加更多的任务,可以增加内存堆空间大小,或是删掉一些已存在的 Demo
    任务。

问题现象:在中断中调用一个 API 函数,导致应用程序崩溃

除了具有后缀为”FromISR”函数名的 API 函数,千万不要在中断服务例程中调用其
它 API 函数。

问题现象:有时候应用程序会在中断服务例程中崩溃

需要做的第一件事是检查中断是否导致了栈溢出。

在不同的移植平台和不同的编译器上,中断的定义和使用方法是不尽相同的——所
以,需要做的第二件事是检查在中断服务例程中使用的语法,宏和调用约

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值