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

佛山市手机网站建设公司专门做app的公司有哪些

佛山市手机网站建设公司,专门做app的公司有哪些,上海做网站的公司,中山搜索引擎优化一、概念 在 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/wzjs/599635.html

相关文章:

  • 网站地图 模板网站建设 服务承诺
  • 网站个性化设计磁力
  • 网站静态路径软文生成器
  • 爱空间网站模板网站为什么被降权
  • 做led视频好的网站最新新闻热点事件佩洛西
  • 山东个人网站备案网页设计工程师工资多少
  • 杭州网站维护外包温州苍南网站建设
  • 网站开发环境与工具培训心得体会怎么写
  • 公司核名在哪个网站怎么在网上查网站空间是双线还是单线
  • 淘宝客网站开发网站建设方案数
  • 门户网站的意义湖北建设厅网站安全员名单
  • idea怎么做网站江苏建设厅官方网站安全员
  • 正规的常州网站推广微商城平台排行榜前十名
  • 自己做网站卖什么好邹城建网站
  • 网站建设的架构整合营销策划名词解释
  • 古镇企业网站建设网站提示域名解析错误怎么办
  • 深圳龙华新区网站建设电子商务网站建设步骤一般为
  • 书法网站开发的前景一般网站是用什么框架做的
  • 龙岗住房和建设局网站浙江公司网站建设制作
  • 天水地区建网站怎么做垂直门户网站
  • 网站关键词seo排名高校网站建设的重要性
  • 做物流哪个网站推广好wordpress 插件发文章
  • 个人做网站和百家号赚钱公司网站如何建设
  • 格尔木市建设局网站室内设计师需要考什么证
  • 网站模板50元淘宝软件营销网站建设
  • 青岛市住房和城乡建设局官方网站网页设计公司网站设计
  • 网站怎么做关键词搜索小程序源码提取工具
  • 上海网站关键词排名优化报价提供网站技术
  • 南通免费网站建设广播电台网站建设方案
  • 兰州网站程序建设宁德东侨建设局网站