席萌0209 发表于 2016-8-17 15:31:53

第9章 IAR中的FreeRTOS插件使用方法



第9章       IAR中的FreeRTOS插件使用方法

    本章节介绍IAR中所带的FreeRTOS插件的使用方法,这个插件的功能比较弱,初学的话,有个了解即可。
9.1 特别说明
9.2 IAR中FreeRTOS插件的使用方法
9.3总结


9.1 特别说明

    由于教程配套的IAR版本是7.5,所以我们这里也是以IAR7.5版本为例进行说明的。如果大家使用的是其它的版本,也可以进行参考设置。
    对于STM32F103,STM32F407和STM32F429来说,设置方法都是一样的。

9.2 IAR中FreeRTOS插件的使用方法

    使能IAR的FreeRTOS特性比较简单,通过下面三个步骤就可以完成:
u 第1步:使能FreeRTOSConfig.h中的宏定义
    #defineconfigUSE_TRACE_FACILITY    1
u 第2步:打开IAR的option选项,点击Project->Options

    打开option对话框后,选择Debugger->Plugins->FreeRTOS and OpenRTOS

u 第3步:通过上面两步设置后,将工程进行全编译,然后进入调试状态,在IAR的菜单选项中多了一个FreeRTOS-SafeRTOS

此时,我们再点击FreeRTOS-SafeRTOS菜单中的Tasks和Queues,将其添加到调试界面中

另外要注意一点,我们选择Tasks时,需要将选项Stack checking –> on 也选上。

如果点击了Queues后,再选择Stack Checking时,会发现这个选项已经呈现灰色,无法选择。此时,重新点击Tasks就可以重新选择Stack Checking的选项了。

也许初学者会问,这个选项有什么用呢,且听我下面继续介绍。设置到这里,基本该配置的都配置好了,那么如何才可以让Tasks和Queues界面显示任务信息呢?可以选择单步调试,断点调试,调试的过程中界面信息会更新。这里我们简单些,直接点击全速运行,过5-10s后,点击break暂停运行

此时可以看到Tasks中显示了如下信息:


可以看到,除了信息量少以外,任务栈使用情况的显示也不够直观。没有上节教程中介绍的串口打印显示信息那么丰富和直观。
    接下来我们看看不选择Stack checking -> off选项的显示效果,实际效果如下:

只是最后一个Min Free Stack栏被关闭了。对于Queues界面来说,如果没有使用消息队列的话,Queues界面是没有内容的。
    至此,使用IAR的FreeRTOS插件就给大家介绍完了,有兴趣的可以实际操作下。

9.3总结

    本章节主要为大家讲解了IAR中的FreeRTOS插件使用方法,初学的同学可以实际演练下。其实不光FreeRTOS,IAR带的uCOS-II和uCOS-III的插件功能也比较弱。

yunqi 发表于 2022-4-25 22:11:40

插件不能查看CPU 使用率和每个任务的实时剩余堆栈吗?
我记得Ucos 可以的
页: [1]
查看完整版本: 第9章 IAR中的FreeRTOS插件使用方法