野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 294|回复: 0

FreeRTOS从0到1教你写FreeRTOS内核

[复制链接]
发表于 2024-5-22 17:37:29 | 显示全部楼层 |阅读模式
在阻塞延时中,更新系统时基函数中xTickCount这个变好像暂时没有使用吧。因为仿真发现这个变量一直在递增!

  1. void xTaskIncrementTick( void )
  2. {
  3.     TCB_t *pxTCB = NULL;
  4.     BaseType_t i = 0;
  5.    
  6.     /* 更新系统时基计数器xTickCount,xTickCount是一个在port.c中定义的全局变量 */
  7.     const TickType_t xConstTickCount = xTickCount + 1;
  8.     xTickCount = xConstTickCount;

  9.    
  10.     /* 扫描就绪列表中所有线程的xTicksToDelay,如果不为0,则减1 */
  11.         for(i=0; i<configMAX_PRIORITIES; i++)
  12.         {
  13.         pxTCB = ( TCB_t * ) listGET_OWNER_OF_HEAD_ENTRY( ( &pxReadyTasksLists[i] ) );
  14.                 if(pxTCB->xTicksToDelay > 0)
  15.                 {
  16.                         pxTCB->xTicksToDelay --;
  17.                 }
  18.         }
  19.    
  20.     /* 任务切换 */
  21.     portYIELD();
  22. }

复制代码
不知道后续在哪里会用到,这里先记录一下。
顺便说一下,学生时代喜欢看视频学习,现在更喜欢看文档,野火老师的FreeRTOS单看真的挺痛苦的。
由于之前更多的是开发FPGA,对于STM32仅仅只是达到裸机使用的程度。
发现FreeRTOS中有很多内核的知识,那么高手们,是不是啃完《ARM Cortex-M3与M4内核指南》是不是能有一个系统的认识?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-7-27 19:02 , Processed in 0.147508 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表