当前位置: 首页 > news >正文

宝安公司免费网站建设导航网站头部代码

宝安公司免费网站建设,导航网站头部代码,做百度推广送网站吗,公司网页制作 主流软件一、概念 在 FreeRTOS 中统计任务栈信息和 CPU 占比是为了分析栈使用情况防止溢出、优化性能识别高负载任务、合理分配资源避免内存浪费、调试系统排查阻塞或优先级问题,有助于提升效率、确保稳定性、快速定位问题并防止崩溃,比如在你的蜂鸣器任务中可以…

一、概念

在 FreeRTOS 中统计任务栈信息和 CPU 占比是为了分析栈使用情况防止溢出、优化性能识别高负载任务、合理分配资源避免内存浪费、调试系统排查阻塞或优先级问题,有助于提升效率、确保稳定性、快速定位问题并防止崩溃,比如在你的蜂鸣器任务中可以确保栈大小足够并检查任务是否因中断占用过多 CPU 来优化调度。

二、先介绍一下什么是钩子函数,因为后面用到的两个函数都要放在钩子函数里面执行。

1. 空闲函数和钩子函数的关系

  • 空闲函数(Idle Task):FreeRTOS 自动创建的一个任务,优先级最低(0),在没有其他任务可运行时执行。它的主要作用是执行空闲任务逻辑,例如进入低功耗模式或清理已删除任务的资源。
  • 钩子函数(Idle Hook Function):也叫空闲任务钩子,是用户定义的一个函数,FreeRTOS 允许你在空闲任务中调用它。钩子函数不是空闲函数本身,而是空闲任务在每次循环时可以调用的一个用户自定义函数。
回答:空闲函数是不是钩子函数?
  • 不是。空闲函数是 FreeRTOS 的空闲任务(vTaskIdle),而钩子函数是用户定义的函数(例如 vApplicationIdleHook),在空闲任务中被调用。
  • 钩子函数是空闲任务的一个扩展机制,允许用户在空闲任务运行时插入自定义逻辑。

2. 为什么要把某些操作放在钩子函数中执行?

将操作放在钩子函数(vApplicationIdleHook)中执行有以下原因:

  • 利用空闲时间:空闲任务只在没有其他任务可运行时执行,钩子函数可以利用这段时间执行低优先级、非紧急的任务(如统计任务栈信息、CPU 占用率、记录日志、进入低功耗模式),避免影响正常任务的实时性。
  • 不干扰调度:钩子函数运行在空闲任务中,优先级最低,不会抢占其他任务,确保系统实时性不受影响。
  • 周期性执行:空闲任务会反复运行,钩子函数因此可以周期性地执行某些监控或维护操作(如你之前提到的统计任务栈信息和 CPU 占比)。
  • 资源管理:空闲任务负责清理已删除任务的资源(如果启用了 configUSE_IDLE_HOOK),钩子函数可以顺便执行类似的管理任务。

所以统计任务栈信息和 CPU 占比(例如使用vTaskList(pcWriteBuffer) 或 vTaskGetRunTimeStats)。这些操作适合放在钩子函数中,因为:

  • 统计操作不紧急,可以在系统空闲时执行,避免占用关键任务的 CPU 时间
  • 周期性运行钩子函数可以持续监控栈使用和 CPU 占用,及时发现问题(例如栈溢出或任务负载过高)。

三、统计所有任务栈信息(通过串口打印)

一、cubemx配置USE_STATS_FORMATING_FUNCTIONS使能以及USE_IDLE_HOOK使能

二、在钩子函数里调用vTaskList(pcWriteBuffer),串口打印

三、串口结果

四、统计所有任务CPU占比(通过串口打印)

cubemx配置,重新定义getRunTimeCounterValue函数,在钩子函数(上面cubemx以及使能钩子函数了,在freertos.c里面有)执行vTaskGetRunTimeStats

一、cubemx配置GENERATE_RUN_TIME_STATS使能

二、在driver_timer.c中定义getRunTimeCounterValue。

vTaskGetRunTimeStats是通过vTaskSwitchContext(任务切换时统计运行时间)实现得,所以需要完善vTaskSwitchContext函数,而vTaskSwitchContext函数中的getRunTimeCounterValue函数为weak,需要自己定义,于是在driver_timer.c中定义getRunTimeCounterValue。

三、最后在vApplicationIdleHook函数中调用vTaskGetRunTimeStats,然后打印出来

四、串口结果

http://www.dtcms.com/a/592340.html

相关文章:

  • 河北黄骅市网站建设海口双语网站建设
  • 华为企业建设网站的目的关系网站优化公司
  • 金山区做网站公司聊城 网站建设
  • 广州网站快速排名优化网站负责人
  • 合肥在线网站wordpress 科技主题
  • 科威网络做网站怎么样南山网站建设哪家效益快
  • cms建站是什么手机网站自助
  • 网站建设丨找王科杰上词快免费注册126邮箱
  • 网站开发需求问卷餐饮店会员卡管理系统
  • 网站开发神器企业整合营销系统
  • 莘庄做网站wordpress屏蔽评论
  • 电子商务网站建设合同签订wordpress收录提交插件
  • 网站sem怎么做购物网站数据分析
  • 自助建网站平台怎么收费安卓优化大师
  • 做公司网站协议书模板下载英文 网站 字体
  • 大厂做网站shijuewang杭州网站开发凡客
  • 在什么网站下载wordpress宝坻网站建设制作
  • 信阳住房和城乡建设局网站进入wordpress后
  • 涉县网站开发网站设计说明范文
  • 新手学做网站电子版东莞百度代做网站联系方式
  • 网站首页图片大小杭州如何做百度的网站
  • 建设玩外汇平台网站品牌建设助力乡村振兴
  • 重庆网站如何做推广电商培训方案
  • 网站seo 优帮云东方cj网上购物商城
  • 做网站需要什么材料怎么做市场营销和推广
  • 芜湖做网站多少钱深圳建网站哪个公司
  • 网站建设文件夹布局wordpress relevanssi
  • 网站开发提成如何获取永久免费域名
  • 网站建设部门管理制度wordpress使用百度云cdn
  • 乐清网站制作推荐简单的企业网站cms