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

鸿运通网站建设网络维护员是做什么的

鸿运通网站建设,网络维护员是做什么的,wordpress提示框插件,雏鸟app网站推广写在最前 由于工作需要#xff0c;需要开始学习freertos的相关知识#xff0c;本专题主要记录freertos的相关内容 参考#xff1a; https://www.bilibili.com/video/BV19g411p7UT 正点原子视频 1. 简介 和一般的OS不同#xff08;linux/windows#xff09;#xff0c;在…写在最前 由于工作需要需要开始学习freertos的相关知识本专题主要记录freertos的相关内容 参考 https://www.bilibili.com/video/BV19g411p7UT 正点原子视频 1. 简介 和一般的OS不同linux/windows在freertos中每个执行线程都被称为任务freertos任务创建和删除的本质就是调用相关的API函数去实现 API函数描述xTaskCreate()动态方式创建任务xTaskCreateStatic()静态方式创建任务vTaskDelete()删除任务 2. 任务控制块TCB介绍 学过操作系统的都知道进程有个PCB来存储进程的各种信息这里的TCB类似,每个任务都有属于自己的任务控制块类似于我们人的身份证它是由一个c语言的结构体实现 typedef struct tskTaskControlBlock {volatile StackType_t * pxTopOfStack; ListItem_t xStateListItem; ListItem_t xEventListItem; UBaseType_t uxPriority; StackType_t * pxStack; char pcTaskName[ configMAX_TASK_NAME_LEN ]; …省略很多条件编译的成员 } tskTCB; 成员 pxTopOfStack:一个指针指向任务栈栈顶必须为TCB的第一个成员,在任务切换时的任务上下文保存、任务恢复息息相关 xStateListItem:任务状态列表项,你当前任务处于什么状态就绪态/堵塞态/挂起态 xEventListItem:任务事件列表项 uxPriority:任务优先级数值越大优先级越大 pxStack:指针指向任务栈起始地址 pcTaskName[ configMAX_TASK_NAME_LEN ]; :任务名字 3. 动态创建任务函数 3.1 函数介绍 BaseType_t xTaskCreate ( TaskFunction_t pxTaskCode, /* 指向任务函数的指针 */ const char * const pcName, /* 任务名字最大长度configMAX_TASK_NAME_LEN */const configSTACK_DEPTH_TYPE usStackDepth, /* 任务堆栈大小注意字为单位 */void * const pvParameters, /* 传递给任务函数的参数 */UBaseType_t uxPriority, /* 任务优先级范围0 ~ configMAX_PRIORITIES - 1 */TaskHandle_t * const pxCreatedTask /* 任务句柄就是任务的任务控制块 */ ) 参数 pxTaskCode:指向任务函数的指针pcName:任务名字最大长度configMAX_TASK_NAME_LENusStackDepth:任务堆栈大小注意字为单位,系统自动分配pvParameters:传递给任务函数的参数一般设置为NULLuxPriority:任务优先级范围0 ~ configMAX_PRIORITIES - 1pxCreatedTask:任务句柄就是任务的任务控制块 返回值 成功pdPASS失败errCOULD_NOT_ALLOCATE_REQUIRED_MEMORY可能是因为你申请的堆栈实在时太大了 3.2 动态任务创建 3.2.1 实践操作 将宏configSUPPORT_DYNAMIC_ALLOCATION配置为 1定义函数入口参数编写任务函数 此函数创建的任务会立刻进入就绪态由任务调度器调度运行 3.2.2 内核实现流程 申请堆栈内存任务控制块内存TCB结构体成员赋值添加新任务到就绪列表中就绪态 4. 静态创建任务 3.1 函数介绍 TaskHandle_t xTaskCreateStatic (TaskFunction_t pxTaskCode, /* 指向任务函数的指针 */const char * const pcName, /* 任务函数名 */const uint32_t ulStackDepth, /* 任务堆栈大小注意字为单位 */void * const pvParameters, /* 传递的任务函数参数 */UBaseType_t uxPriority, /* 任务优先级 */StackType_t * const puxStackBuffer, /* 任务堆栈一般为数组由用户分配 */StaticTask_t * const pxTaskBuffer /* 任务控制块指针由用户分配 */ ); 参数 pxTaskCode:指向任务函数的指针pcName:任务名字最大长度configMAX_TASK_NAME_LENusStackDepth:任务堆栈大小注意字为单位,系统自动分配pvParameters:传递给任务函数的参数一般设置为NULLuxPriority:任务优先级范围0 ~ configMAX_PRIORITIES - 1puxStackBuffer:任务堆栈一般为数组由用户分配pxTaskBuffer:任务控制块指针由用户分配 返回值 成功其他值,任务句柄任务创建成功失败NULL,用户没有提供相应的内存任务创建失败 3.2 静态创建任务使用流程 3.2.1 实践操作 需将宏configSUPPORT_STATIC_ALLOCATION 配置为 1定义空闲任务定时器任务的任务堆栈及TCB实现两个接口函数(vApplicationGetIdleTaskMemory( )和vApplicationGetTimerTaskMemory ( ))定义函数入口参数编写任务函数 3.2.2 内核实现 TCB结构体成员赋值添加新任务到就绪列表中 此函数创建的任务会立刻进入就绪态由任务调度器调度运行 5. 删除任务 5.1 任务删除函数 void vTaskDelete(TaskHandle_t xTaskToDelete);作用: 用于删除已被创建的任务,被删除的任务将从就绪态任务列表、阻塞态任务列表、挂起态任务列表和事件列表中移除 参数 xTaskToDelete:待删除任务的任务句柄 注意 当传入的参数为NULL则代表删除任务自身当前正在运行的任务当任务是动态创建空闲任务会负责释放被删除任务中由系统分配的内存当任务是静态创建时则需要由用户在任务被删除前提前释放否则将导致内存泄露 5.2 任务删除流程 5.2.1 实践操作 使用删除任务函数需将宏INCLUDE_vTaskDelete 配置为 1入口参数输入需要删除的任务句柄NULL代表删除本身) 5.2.2 内核实现流程 获取所要删除任务的控制块通过传入的任务句柄判断所需要删除哪个任务NULL代表删除自身 将被删除任务移除所在列表将该任务在所在列表中移除包括就绪、阻塞、挂起、事件等列表 判断所需要删除的任务 删除任务自身需先添加到等待删除列表内存释放将在空闲任务执行删除其他任务释放内存任务数量– 更新下个任务的阻塞时间:更新下一个任务的阻塞超时时间以防被删除的任务就是下一个阻塞超时的任务 总结 本文主要简要介绍了freertos的任务的创建和删除的实现包括实践和内核以及TCB介绍属于纯理论部分并未涉及任何实践操作。
http://www.hkea.cn/news/14293377/

相关文章:

  • 分类信息网站怎么做流量北京网站搭建费用
  • 正规专业的网站建设公如何撤销网站上信息吗
  • 网站建设案例行情做童鞋的一些外贸网站
  • 湖州交通网站集约化建设项目企业黄页88网
  • php网站开发pdf怎么把dw做的网页放到网页上
  • 网站注册哪个好辽阳网站建设企业
  • 开发一个网站要多久网站界面设计的表现
  • 网站里的专题页面wordpress中文怎么设置中文乱码
  • 深圳品牌营销型网站建设微网站 微官网的区别吗
  • 做一网站婚纱摄影网站建设方案
  • 厦门外贸公司做网站包头正大光电 做网站
  • 服装 公司 网站建设做网站外包创业
  • 国外做旅游攻略的网站好wordpress表结构说明
  • 建站模板怎么选太原免费网站建站模板
  • 东莞网站优化网站建设制作微商授权书
  • 建站公司最新价格wordpress主题安装空白
  • 昆明企业网站建设深圳网站建设公司业务招聘
  • 网站后台怎么做下载链接丰县徐州网站开发
  • 服务专业的网络建站公司微信传输助手网页版
  • 网站改成响应式html5模板
  • 上海个人网站制作公司电商运营是销售吗
  • 河北建设厅官方网站电话网时代教育培训机构怎么样
  • 站长素材音效网郴州网站建设网络推广渠道
  • pycharm 网站开发哪些行业对做网站的需求大
  • 杭州网站的特点类似5173的网站怎么做
  • 素材网站的下载服务器怎么做带域名的网站打不开
  • 网页与网站设计 什么是属性网站维护机构
  • 北京市建设工程第四检测所网站银川建网站
  • 手机能建网站吗企业网站建设北京公司排名
  • 深圳设计网站的公司seo技术分享博客