FreeRTOS打印任务对CPU的占有率

2023-11-08

1:配置RTOS

1:打开RTOS Config Parameter
	找到Run Time And Task States gathering related definitions
	使能GENERATE_RUN_TIME_STATS
		USE_TRACE_FACILITY
		USE_STATS_FORMATTING_FUNCTIONS
		如果不使能,API将使用不了

在这里插入图片描述

2:添加高精度计时器

因为OS的的节拍周期是1ms 
需要一个更高精度周期的计数器来对它进行检测,从而得出任务占用率
根据参考手册 计数器需要在 10us - 50us 之间 ,当计数值达到时需要产生
一个中断来更新计数值

在这里插入图片描述
3:配置其他需要用到的外设和时钟

4:打开工程

定义一个全局变量来保存TIM6的计数更新
下图两个函数是系统提供的,需要在里面打开中断,计数清0
并且返回全局变量

在这里插入图片描述

找到TIM6的中断回调函数
我设置的更新事件触发中断,追源码找到更新事件触发的回调函数

在这里插入图片描述

在任务中调用此接口

void vTaskGetRunTimeStats( char *pcWriteBuffer )
参数是一个保存结果的buffer

最后打印buffer就可以看到任务对CPU的占用率

通过任务对CPU的占用率,可以合理的分配任务资源
这对于单片机来说是很重要的
如果空闲任务一直高占用CPU,说明选型的CPU 性能过剩,需要换到较低的芯片上
如果某个任务一直占用cpu,或者空闲任务占有率低于10% ,则需要更换
性能高一些的芯片
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

FreeRTOS打印任务对CPU的占有率 的相关文章

  • 140-基于stm32单片机智能晾衣杆控制系统Proteus仿真+源程序

    资料编号 140 一 功能介绍 1 采用stm32单片机 LCD1602显示屏 独立按键 DHT11传感器 ds1302时钟 光敏传感器 蜂鸣器 LED灯 制作一个基于stm32单片机智能晾衣杆控制系统Proteus仿真 2 通过光敏传感器
  • 135-基于stm32单片机超声波非接触式感应水龙头控制系统Proteus仿真+源程序

    资料编号 135 一 功能介绍 1 采用stm32单片机 LCD1602显示屏 独立按键 DHT11传感器 电机 超声波传感器 制作一个基于stm32单片机超声波非接触式感应水龙头控制系统Proteus仿真 2 通过DHT11传感器检测当前
  • STM32F103

    提示 来源正点原子 参考STM32F103 战舰开发指南V1 3PDF资料 文章目录 前言 一 pandas是什么 二 使用步骤 1 引入库 2 读入数据 总结 前言 提示 这里可以添加本文要记录的大概内容 开发环境硬件普中科技 接线图在g
  • [MM32硬件]搭建灵动微MM32G0001A6T的简易开发环境

    作为学习单片机的经典 自然是通过GPIO点亮LED 或者是响应按钮的外部中断例程 这我们看看SOP8封装的芯片MM32G0001A6T得引脚 除了VDD和GND固定外 我们可以使用PA14 PA1 PA13 PA15 PA2 PA3这六个G
  • 在 Atollic TrueStudio、STM32CubeMX 中导入 C 库

    我目前正在开发 STM32F767ZI Nucleo 板和一个小安全芯片 microchip atecc508a 通过 i2c 连接进行连接 该芯片有一个可用的库加密验证库 https github com MicrochipTech cr
  • 跟着野火学FreeRTOS:第一段(任务定义,切换以及临界段)

    在裸机系统中 系统的主体就是 C P U CPU CP U 按照预先设定的程序逻辑在 m a i n
  • Freertos低功耗管理

    空闲任务中的低功耗Tickless处理 在整个系统运行得过程中 其中大部分时间都是在执行空闲任务的 空闲任务之所以执行 因为在系统中的其他任务处于阻塞或者被挂起时才会执行 因此可以将空闲任务的执行时间转换成低功耗模式 在其他任务解除阻塞而准
  • CMSIS & STM32,如何开始? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我想在 STM32 上使用 CMSIS 启动项目 网上一搜 没找到具体的教程 有些使用 SPL 开始项
  • FreeRTOS 匈牙利表示法 [重复]

    这个问题在这里已经有答案了 我是 RTOS 和 C 编程的新手 而且我仍在习惯 C 的良好实践 因此 我打开了一个使用 FreeRTOS 的项目 我注意到操作系统文件使用匈牙利表示法 我知道一点符号 但面临一些新的 标准 FreeRTOS
  • for循环延时时间计算

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 前言 一 pandas是什么 二 使用步骤 1 引入库 2 读入数据 总结 前言 之前做led点亮的实验 好像是被delay函数影响了 因为delay参数设置的不对
  • 嵌入式开发--STM32G4系列片上FLASH的读写

    这个玩意吧 说起来很简单 就是几行代码的事 但楞是折腾了我大半天时间才搞定 原因后面说 先看代码吧 读操作 读操作很简单 以32位方式读取的时候是这样的 data IO uint32 t 0x0800F000 需要注意的是 当以32位方式读
  • STM32 上的位置无关代码 - 指针

    我已成功在 STM32 上构建并运行位置无关的代码 向量表和 GOT 已修补 一切正常 但我对这样的代码有问题 double myAdd double x return x 0 1 double ptrmyAdd double myAdd
  • STM32内部时钟

    我对 STM32F7 设备 意法半导体的 Cortex M7 微控制器 上的时钟系统感到困惑 参考手册没有充分阐明这些时钟之间的差异 SYSCLK HCLK FCLK 参考手册中阅读章节 gt RCC 为 Cortex 系统定时器 SysT
  • PWM DMA 到整个 GPIO

    我有一个 STM32F4 我想对一个已与掩码进行 或 运算的 GPIO 端口进行 PWM 处理 所以 也许我们想要 PWM0b00100010一段时间为 200khz 但随后 10khz 后 我们现在想要 PWM0b00010001 然后
  • 在 Contiki 程序中使用 malloc

    考虑以下 Contiki 程序 include
  • GNU Arm Cortex m4 上的 C++ 异常处理程序与 freertos

    2016 年 12 月更新现在还有一个关于此行为的最小示例 https community nxp com message 862676 https community nxp com message 862676 我正在使用带有 free
  • 使用 STM32 USB 设备库将闪存作为大容量存储设备

    我的板上有这个闪存IC 它连接到我的STM32F04 ARM处理器 处理器的USB端口可供用户使用 我希望我的闪存在通过 USB 连接到 PC 时被检测为存储设备 作为第一步 我在程序中将 USB 类定义为 MSC 效果很好 因为当我将主板
  • 哪些变量类型/大小在 STM32 微控制器上是原子的?

    以下是 STM32 微控制器上的数据类型 http www keil com support man docs armcc armcc chr1359125009502 htm http www keil com support man d
  • 移动数组中的元素

    我需要一点帮助 我想将数组中的元素向上移动一个元素 以便新位置 1 包含位置 1 中的旧值 new 2 包含 old 1 依此类推 旧的最后一个值被丢弃 第一个位置的新值是我每秒给出的新值 我使用大小为 10 的数组 uint32 t TE
  • GCC 变量映射和 MISRA-C

    我主要知道两种使用 GCC 声明内存映射寄存器的方法 有许多变体 使用双字段 每个外设的数据结构等 要么使用初始化为正确地址的指针 例如volatile uint32 t pMyRegister uint32 t 0xDEADBEEFUL

随机推荐

  • 关于 Diffie-Hellman 组

    Diffie Hellman DH 组确定了在密钥交换进程中使用的密钥的强度 组的编号越大安全性就越高 但是也就需要更多的时间来计算密钥 WatchGuard 设备支持 Diffie Hellman 组 1 2 和 5 DH 组 1 768
  • PAT C 语言入门题目-7-60 删除重复字符 (20 分)

    7 60 删除重复字符 20 分 本题要求编写程序 将给定字符串去掉重复的字符后 按照字符ASCII码顺序从小到大排序后输出 输入格式 输入是一个以回车结束的非空字符串 少于80个字符 输出格式 输出去重排序后的结果字符串 输入样例 ad2
  • 06_列表渲染_1

    div h2 测试 v for 遍历数组 h2 ul li index p name li ul div
  • Linux多进程:zombie process——僵尸进程

    僵尸进程zombie process 子进程终止时 父进程尚未回收子进程残留的内核区资源 从而变成僵尸进程 僵尸进程不能被 kill 9 杀死 如果父进程不调用wait 或waitpid 的话 僵尸进程不会被处理 其pcb pid等资源一直
  • 英语二作文模板及范文

    文章目录 四大写作模板 辩证分析类 短文题目 二选一 模板 A OR B 范文 解决问题类 短文题目 提纲思路 写作模板 题目 范文 Fight against Haze 个人介绍类 短文题目 提纲思路 写作模板 范文 My Hobby 电
  • 在微信公众号里使用LaTeX数学公式

    quicklatex这个神器和它的wordpress插件QuickLaTeX 几乎完美支持和兼容Mathjax所支持的LaTeX数学公式 方法很简单 只要在wordpress中安装quicklatex 然后在文章的开头添加一个 latexp
  • b树和b+树的数据结构

    在B树中 你可以将键和值存放在内部节点和叶子节点 但在B 树中 内部节点都是键 没有值 叶子节点同时存放键和值 B 树的叶子节点有一条链相连 而B树的叶子节点各自独立 B树 普通的二叉树一个节点有一个元素 B树一个节点可以有多个元素 节点里
  • 进程调度:时间片轮转调度算法

    一 实验目的 1 加深对进程的理解 2 理解进程控制块的结构 3 理解进程运行的并发性 4 掌握时间片轮转法进程调度算法 二 实验原理 1 建立进程控制块 2 设计两个链队列 分别表示就绪队列和完成队列 3 用户输入进程标识符 进程到达时间
  • 以太坊系列 - 以太坊的测试网

    测试网简介 目前Ethereum存在三个测试网 分别是Ropsten PoW算法 支持Parity和Geth Kovan PoA算法 Parity专用 和Rinkeby Clique PoA共识算法 Geth专用 Ropsten PoW S
  • Python绘制LTspice仿真趋势图

    LTspice集成Python处理信号 首先 使用Python创建一个信号 然后 通过一个 LTspice 滤波器电路运行它 同时我们在 python 中控制一些滤波器的可调参数 最后 使用Python绘制结果 我们打开 LTspice 并
  • js 用正则去掉小数点后面多于的0(正则非捕获)

    const arr 1200 00100 1200 00000 1200 1200 1200 10000 0 120010000 0 000011111 const regexp 0 d 0 arr forEach item gt cons
  • 利用Sql Server代理中的作业实现数据库的自动备份

    1 在Sql server代理中新建作业 2 填写作业名称 3 新建步骤 4 填写步骤名称 选择类型为T Sql脚本 在命令中输入操作脚本 以数据库databaseA 为例 脚本内容如下 DECLARE filename VARCHAR 2
  • C++数组与指针的转换

    double aa 3 0 1 2 double p 获得某个返回值为double类型的指针 返回值这边 gt 3 aa 0 p 0 aa 1 p 1 aa 2 p 2 参考博客 C 数组 及二维数组 与指针 互转 遍历 数组与引用 匆忙拥
  • 文本信息关系抽取的方法

    3 2 关系抽取的方法 由于传统机器学习的关系抽取方法选择的特征向量依赖于人工完成 也需要大量领域专业知识 而深度学习的关系抽取方法通过训练大量数据自动获得模型 不需要人工提取特征 2006年Hinton 等人 Reducing the d
  • 类模板可变参的逐步展开

    类模板可变参的逐步展开 myclasst
  • stable diffusion实践操作-VAE

    系列文章总目录 stable diffusion实践操作 文章目录 系列文章总目录 一 前言 1 定义功能全局介绍 2 模型全局介绍 2 1 后缀以及存放位置 2 2 查看大模型是否有VAE 二 正文 1 原理 1 1 基础原理 2 使用
  • 用python将图片转化为logo

    from PIL import Image def logo 打开图片 二进制打开 fp open 2 jpg rb 转换为Image对象 imagefile Image open fp 调整图片大小
  • 1. 存储器分类

    存储器的分类 存储器有很多的分类依据 按存储介质 读写功能 存取方式 在计算机中的作用等 按存储介质分类 磁性介质 磁盘 磁带 光介质 光盘 半导体介质 内存 固态硬盘 内存是易失性存储器 掉电后无信息保存 固态硬盘是非易失性存储器 掉电信
  • 博士的归宿

    1 高校 2 央企的研究院 3 外企的研发机构
  • FreeRTOS打印任务对CPU的占有率

    1 配置RTOS 1 打开RTOS Config Parameter 找到Run Time And Task States gathering related definitions 使能GENERATE RUN TIME STATS US