历史上的今天
返回首页

历史上的今天

今天是:2025年04月02日(星期三)

正在发生

2018年04月02日 | 使用FreeRTOSViewer跟踪调试FreeRTOS工程

2018-04-02 来源:Excelpoint世健

简介


FreeRTOSViewer 可以让使用 FreeRTOS 操作系统的客户跟踪调试一些操作内核的信息,例如任务信息,消息队列信息等等。这个辅助的工具可以在内核停止或者打断的时候查看内核的相关内容。 


Microchip 的 MPLAB® X IDE+Harmony 软件开发平台已经集成了 FreeRTOS 系统,并将FreeRTOSViewer 工具嵌入开发平台中以方便客户调试。 


本文介绍一种基于 MPLAB X IED+Harmony 下使用 FreeRTOSViewer 工具调试的方法。


硬件工具和软件平台


硬件:

PIC32MZ EF入门工具包

MEB II

软件:

  • MPLAB-X IDE:v3.61 或者更新

  • XC32:v1.42 或者更新

  • Harmony:v2.0.00b 或者更新

调试工具:

MPLAB® ICD3

MPLAB® REAL ICE

步骤

一、在MPLAB X IDE中安装RTOSViewer插件

在 MPLAB X IDE中选择 Tools->Plugins,进入插件安装,选择 RTOS Viewer 插件进行安装。

二、在Harmony中打开一个使用了FreeRTOS的工程

三、设置工程,选择合适的调试工具

四、在 MPLAB X IDE中选择 Tool->Embedded->RTOSViewer,打开 RTOSViewer工具

五、在RTOSViewer中选择FreeRTOS Kernel9.0.0

六、Debug工程,运行大约10S,待程序稳定以后暂停程序运行。由于对操作系统信息的读取需要一定的时间,需要等待

七、通过RTOSViewer中的Tasks观察窗口查看任务的相关信息

  1. Reference:任务序号

  2. Name:任务名称

  3. Priority:任务优先级

  4. Sate:任务状态

    1. Ready : Ready to execute and present in ready list

    2. Delayed: Blocked task in delayed list

    3. Suspended: Suspendered by vTaskSuspend() call

    4. Running: Currently executing task

    5. Deleted: Terminated task but the memory is not yet freed

  5. TCB ID:任务的入口地址

  6. Stack(Start/Top):任务的堆栈起始地址


八、通过RTOSViewer中的Queue观察窗口查看消息队列的相关信息

  1. Sno:队列序号

  2. Registered Queue Name:队列名称

  3. Queue Head:队列开始地址

  4. Queue Tail:队列结束地址

  5. Write To:队列下一个待写地址

  6. Read From:队列最后以后读取地址

  7. Pending Messages:队列中待处理的消息数

  8. Length:队列长度

  9. Item Sizes:队列单元的 size


九、通过RTOSViewer中的CoRoutines观察窗口查看协同运行函数的相关信息


  1. Sno:序号

  2. Functions:函数名称

  3. Blocking Event:阻塞的事件

  4. State:状态

  5. Priority:优先级

十、通过RTOSViewer中的System观察窗口查看系统的相关信息


推荐阅读

史海拾趣

Barkston Plastics Engineering Ltd.公司的发展小趣事

随着电子行业的快速发展,Barkston Plastics Engineering Ltd.意识到单一产品线的局限性,于是开始扩展其产品线,涵盖更多种类的塑料电子元件。同时,公司积极寻求与行业内其他企业的战略合作,通过技术共享和市场资源互补,共同开拓更广阔的市场。这一战略转型不仅提升了Barkston的市场竞争力,也为其后续发展奠定了坚实的基础。

世纪金光(CENGOL)公司的发展小趣事

随着新能源汽车市场的快速发展,世纪金光敏锐地捕捉到了这一领域的巨大潜力。公司迅速组建专项研发团队,基于碳化硅技术开展新能源汽车电机驱动系统的研发工作。经过不懈努力,世纪金光成功开发出基于碳化硅技术的新能源汽车电机驱动系统,并在技术上取得了重要进展。这一成果不仅提升了新能源汽车的性能和效率,也为公司打开了新的市场空间。

BETA Transformer Technology Corp公司的发展小趣事

BETA Transformer Technology Corp公司深知人才是企业发展的核心动力。因此,公司高度重视人才培养和团队建设。BETA公司建立了一套完善的人才培养机制,通过内部培训、外部学习等方式不断提升员工的技能水平和综合素质。同时,公司还注重团队建设和文化建设,营造了一个积极向上、团结协作的工作氛围。这些举措使得BETA公司的员工队伍更加稳定、高效,为公司的长期发展提供了有力保障。

以上五个故事分别从不同角度描述了BETA Transformer Technology Corp公司的发展历程和取得的成就。虽然这些故事是虚构的,但它们反映了电子行业中企业可能面临的挑战和机遇,以及应对这些挑战和机遇的策略和措施。希望这些故事能够满足您的需求。

Greenray Industries Inc公司的发展小趣事

GreenTech还致力于绿色照明技术的研发和推广。公司推出了一系列高效节能的LED照明产品,包括智能路灯、室内照明系统等。这些产品不仅具有长寿命、低能耗等优点,还通过智能控制实现了按需照明,进一步降低了能耗。GreenTech积极与各地政府和企业合作,推动绿色照明技术在城市照明、工业照明等领域的广泛应用,为节能减排和环境保护做出了积极贡献。

CDIL[Continental Device India Pvt. Ltd.]公司的发展小趣事

CDIL采用无晶圆厂模式生产分立半导体器件,专注于功率半导体和高可靠性组件的研发与生产。这一模式使CDIL能够更加灵活地应对市场变化,降低生产成本,提高产品竞争力。同时,公司还采用自己的封装技术,确保产品能够满足太空应用等严苛环境的严格标准。

振宝佳(DMBJ)公司的发展小趣事

为了提升生产效率和产品品质,振宝佳公司在韩国引进了专业的全制动生产线和智能化的电子监察检查设备。这些先进的生产线和设备使公司的生产能力得到了显著提升,同时也确保了产品的质量和稳定性。这些投入为公司赢得了客户的信赖和好评。

问答坊 | AI 解惑

lm741的资料

本帖最后由 paulhyde 于 2014-9-15 09:01 编辑 rt  …

查看全部问答>

两款直流开关电源设计分析

简易型直流开关电源     由TEA1520系列构成的简易型直流开关电源电路如图1所示。                   图1由TEA1520系列构成简易型直流开关电源的电路     为防止 ...…

查看全部问答>

关于铝电解电容漏电流

目前国内设计都用哪些公司的铝电解电容啊! 不同的电压等级的铝电解电容漏电流应该不一样,但是一般大家确定电压等级和容量,没确定型号之前,这个漏电流是怎么估计的?…

查看全部问答>

IA4421无线模块的问题

#include        \"reg52.h\" #include    \"uart.h\" sbit                sdi=        P1^4; sbit            &n ...…

查看全部问答>

在dll里用了这个代码,g_hInst,videownd是从外部传过来的. IDD_CAMERA_DIALOG是dll里的资源,这样为什么不行?如果把IDD_

在dll里用了这个代码,g_hInst,videownd是从外部传过来的.  IDD_CAMERA_DIALOG是dll里的资源,这样为什么不行?如果把IDD_CAMERA_DIALOG也从外部传进来就可以.DialogBoxParam(g_hInst, MAKEINTRESOURCE( IDD_CAMERA_DIALOG ),videownd, (DLG ...…

查看全部问答>

程序列表

  最近想做一个程序列表,就是显示当前正在运行的所有应用程序列表(不是进程),但不知道怎么获取,有没有直接获取的?进程我知道怎么获取。   谢谢大家提供信息。…

查看全部问答>

如何降低嵌入式设备中的电视卡的工作能耗?

一个装有Linux的嵌入式设备,要减少其电视卡的功耗该如何处理啊?(电视卡为mini pci接口) 我的想法有: 1. 让系统待机。但是不知道让系统待机的话,该电视卡是否还在继续接收电视信号? 2. 关闭电视卡的接收端口,但不知怎么写啊,那位大虾推 ...…

查看全部问答>

STM32F103的USB/CAN怎么共用?(电路设计问题)

请问一下STM32的USB/CAN口在不能remap的条件下,接口电路(CAN收发器/usb总线)能否实现两个应用并存但是不同时应用:指的是在用CAN时不用USB,在用USB时不用CAN,能否实现?需要注意什么? 补充一下:我测试了TJA1050的RX/TX脚有内部上拉也不知 ...…

查看全部问答>

单片机设计电路应如何考虑

我是名初学者,只会一点编程,对于设计电路时就老是会遇到问题,比如再把74hc245接入电路时,就老是会想这个芯片的需要的 驱动电流多少,最大负载多少,看技术手册又看不懂,都是英文,而且那些参数标的我的是一头雾水,不知道那个才是我的那个答 ...…

查看全部问答>

这是我写的lcd1602液晶显示的数字钟,编译没错,但不能显示,请大...

library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; entity LCD3 is port( clk: in std_logic; en,rs,rw:out std_logic; data:out std_logic_vector(7 downto 0) ); end LCD3; ...…

查看全部问答>