历史上的今天
今天是: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观察窗口查看任务的相关信息
Reference:任务序号
Name:任务名称
Priority:任务优先级
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
TCB ID:任务的入口地址
Stack(Start/Top):任务的堆栈起始地址
八、通过RTOSViewer中的Queue观察窗口查看消息队列的相关信息
Sno:队列序号
Registered Queue Name:队列名称
Queue Head:队列开始地址
Queue Tail:队列结束地址
Write To:队列下一个待写地址
Read From:队列最后以后读取地址
Pending Messages:队列中待处理的消息数
Length:队列长度
Item Sizes:队列单元的 size
九、通过RTOSViewer中的CoRoutines观察窗口查看协同运行函数的相关信息
Sno:序号
Functions:函数名称
Blocking Event:阻塞的事件
State:状态
Priority:优先级
十、通过RTOSViewer中的System观察窗口查看系统的相关信息
史海拾趣
|
在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; ...… 查看全部问答> |




