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

建设一个网站的流程图微信公众号怎么创建新的话题

建设一个网站的流程图,微信公众号怎么创建新的话题,专门做cos的网站,微网页制作专业公司FreeRTOS-基本介绍和STM32移植 一、裸机开发和操作系统开发介绍二、任务调度和任务状态介绍2.1 任务调度2.1.1 抢占式调度2.1.2 时间片调度 2.2 任务状态 三、FreeRTOS源码和移植STM323.1 FreeRTOS源码3.2 FreeRTOS移植STM323.2.1 代码移植3.2.2 时钟中断配置 一、裸机开发和操… FreeRTOS-基本介绍和STM32移植 一、裸机开发和操作系统开发介绍二、任务调度和任务状态介绍2.1 任务调度2.1.1 抢占式调度2.1.2 时间片调度 2.2 任务状态 三、FreeRTOS源码和移植STM323.1 FreeRTOS源码3.2 FreeRTOS移植STM323.2.1 代码移植3.2.2 时钟中断配置 一、裸机开发和操作系统开发介绍 裸机前后台系统前台系统指的是中断服务函数后台系统指的是大循环即应用程序特点实时性差、delay(浪费资源)、结构臃肿(实现功能都放在无限循环)FreeRTOS开发实时操作系统强调的是实时性特点分而治之(实现功能划分为多个任务)、延时函数(不会空等待会让出CPU的使用权给其他任务即任务调度)、抢占式(高优先级任务抢占低优先级)、任务堆栈(每个任务都有自己的栈空间用于保存局部变量以及任务的上下文信息) 二、任务调度和任务状态介绍 2.1 任务调度 任务调度器就是决定在某一个时刻调用哪一个任务切换速度很快造成在同一时刻有多个任务在运行的错觉抢占式调度针对优先级不同的任务优先级高的可以抢占低优先级的任务时间片调度针对优先级相同的任务在每一次系统时钟节拍到的时候切换任务协程式调度当前正在执行任务一直在执行同时高优先级的任务不会抢占低优先级任务(不常用) 2.1.1 抢占式调度 运行条件三个任务Task1、Task2和Task3在FreeRTOS中任务设置的数值越大优先级越高 高优先级任务优先执行。高优先级任务不停止低优先级任务无法执行。被抢占的任务会进入就绪态 2.1.2 时间片调度 同优先级任务轮流地享有相同的CPU时间(可设置)叫时间片在FreeRTOS中一个时间片就等于SysTick中断周期 同等优先级任务轮流执行时间片流转。一个时间片大小取决为滴答定时器中断周期。注意没有用完的时间片不会再使用(阻塞-直接切换到下一个任务)下次任务Task3得到执行还是按照一个时间片的时钟节拍运行 2.2 任务状态 FreeRTOS中任务共存在4种状态运行态、就绪态、阻塞态和挂起态 运行态正在执行的任务该任务就处于运行态注意在STM32种同一时间仅一个任务处于运行态 就绪态如果该任务已经能够被执行但当前还未被执行那么该任务处于就绪态 阻塞态如果一个任务因延时或者等待外部事件发生那么这个任务就处于阻塞态 挂起态类似暂停调用函数vTaskSuspend()进入挂起态需要调用解挂函数vTaskResume()才可以进入就绪态 下图为四种任务状态间的转换图 仅就绪态可以转变为运行态。其他状态想运行必须先转变为就绪态 四种状态中除了运行态其他三种任务状态的任务都有其对应的任务状态列表(链表)就绪列表pxReadyTaskList[x]其中x代表任务优先级数值0-31阻塞列表pxDelayTaskList挂起列表xSuspendedTaskList 调度器总是在所有处于就绪列表的任务中选择具有最高优先级的任务来执行。如果优先级一致那么相同优先级的任务会连接在同一个就绪列表上按照时间片轮流执行 三、FreeRTOS源码和移植STM32 3.1 FreeRTOS源码 从官网下载FreeRTOS源码文件夹内容如下所示 打开内核文件夹 打开FreeRTOS源码文件夹 FreeRTOS操作系统归根结底是一个软件层面的东西FreeRTOS是如何跟硬件联系在一起portable文件夹里的东西就是接口文件使用Keil-MDK开发,需要使用Keil、RVDS和MemMang文件夹部分内容 3.2 FreeRTOS移植STM32 3.2.1 代码移植 以STM32F103C8T6单片机为例移植FreeRTOS移植步骤如下 将STM32工程文件全部复制到FreeRTOS目录下并新建FreeRTOS文件夹存放源码 将FreeRTOS源码文件夹复制到移植模板内 删除源码中多余的文件保留接口3个文件夹 在FreeRTOS文件夹内新建FreeRTOS_core、FreeRTOS_port文件夹分别用于存放FreeRTOS内核文件和接口文件(不同的平台文件不一样) 如下文件添加到FreeRTOS_core内核文件夹中包括.c和所有.h文件 如下文件添加到FreeRTOS_port接口文件夹中STM32F103系列单片机为M3内核 在Keil里面包含头文件所在路径将官方demo里面的FreeRTOSConfig.h添加到FreeRTOS_core内核文件夹中FreeRTOSConfig.h作用对FreeRTOS进行功能配置和裁剪(config)以及API函数(INCLUDE)的使能其他配置项(PendSV、SVC宏定义) 最后保留FreeRTOS_core、FreeRTOS_port文件夹即可 3.2.2 时钟中断配置 SysTick是FreeRTOS的心跳时钟驱动FreeRTOS运行在SysTick时钟的节拍下进入中断函数每次中断都会引发任务调度在stm32f10x_it.c里的SysTick_Handler()中断里添加函数内容并加上头文件 void SysTick_Handler(void) {if(xTaskGetSchedulerState() ! taskSCHEDULER_NOT_STARTED)xPortSysTickHandler(); }在FreeRTOSConfig.h里添加函数宏定义使用官方的中断函数注释掉stm32f10x_it.c里的PendSV_Handler()函数和SVC_Handler()函数避免重定义 #define xPortPendSVHandler PendSV_Handler #define vPortSVCHandler SVC_Handler如果遇到xTaskGetSchedulerState()函数未定义或其他可选函数未编译的情况下需要改其宏定义为1或者在FreeRTOSConfig.h里添加宏定义为1 xTaskGetSchedulerState()函数是一个可选函数当宏定义为1时可以编译
http://www.w-s-a.com/news/533662/

相关文章:

  • 宜春网站建设推广网络推广工作好干吗
  • 网站程序0day平顶山市做网站
  • 企业网站名称怎么写哔哩哔哩网页版官网在线观看
  • 直播网站建设书籍阿里巴巴网站建设销售
  • 肇庆企业自助建站系统郴州网站建设解决方案
  • 长沙专业做网站排名游戏开发大亨内购破解版
  • 网站推广适合女生做吗网站如何开启gzip压缩
  • 做外单阿里的网站建站平台那个好
  • 全国性质的网站开发公司关于网站开发的请示
  • 齐齐哈尔住房和城乡建设局网站生物科技公司网站模板
  • 中国建设协会官方网站前端培训的机构
  • 网站建设套餐是什么北京孤儿院做义工网站
  • 网站如何做微信支付链接做暧小视频xo免费网站
  • SEO案例网站建设重庆建站模板平台
  • 上海seo网站推广公司wordpress 小米商城主题
  • 搭建服务器做网站什么网站可以请人做软件
  • 上海建筑建材业网站迁移公家网站模板
  • 仿制别人的网站违法吗网站防火墙怎么做
  • 杨浦网站建设 网站外包公司如何进行网络推广
  • wordpress+仿站步骤超详细wordpress常用函数
  • 浙江手机版建站系统哪个好怎样黑进别人的网站
  • 企业网站搜索引擎推广方法装修网络公司
  • 网站运营优化建议wordpress 添加媒体
  • 用asp.net做网站计数器施工企业会计的内涵
  • 网站被黑咋样的网站建设 设计业务范围
  • 网站开发学哪种语言网站编辑器失效
  • WordPress插件提示信息江阴网站优化
  • 网站开发用的软件如何做网站内容管理
  • 扬州网站建设公司网站推广是什么岗位
  • 双线网站管理咨询公司是做什么