网站大量收购闲置独家精品文档,联系QQ:2885784924

FreeRTOS操作系统配置参数说明.docx

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
FreeRTOS操作系统配置参数说明

FreeRTOS操作系统配置参数说明金涛(上海致远绿色能源股份有限公司 上海 201611 )本文仅针对FreeRTOS操作系统的配置参数进行说明,其他内容不在累述。如有需要,请参考相关文档。本文所涉及软件的版本如下图所示:名称版本STM32CubeMXSoftware to configure and manage STM32 MCUs4.32.0Firmware Package for family STM32 F4 1.18.0Keil5.23.0.0一、生成带FreeRTOS操作系统代码的步骤1.下载安装的过程就不在赘述,直接开始使用。 双击打开cube MX,点击新建工程; 本文以STM32F407IGT6作为所选MCU,具体使用根据最终所选型号进行配置:选择STM32F407IGTx;使用STM32CubeMX来生成带MiddleWare的FreeRTOS的代码 ,可以在STM32CubeMX中使能FreeRTOS:Configuration -- MiddleWare -- FreeRTOS -- Enable;RCC时钟源配置为外部时钟:Configuration -- Peripherals -- RCC -- HSE -- CryStal/Ceramic Resonator;配置时钟系统,直接将HCLK设置为100MHz,其他的会根据此自动选择。FreeRTOS配置:Configuration -- FreeRTOSFreeRTOS宏定义参数配置Confi Parameters参数组参数释义VersionsFreeRTOS Version9.0.0CMSIS-RIOS Version处理器系列的与供应商无关的硬件抽象层,1.02Kernel SettingsUSE_PREEMPTIONEnabled使能抢占式调度器,Disabled 使用合作式调度器。勾选EnabledCPU_CLOCK_HZ参数用于定义 CPU 的主频,单位 Hz,不可修改TICK_RATE_HZ此参数用于定义系统时钟节拍数,单位 Hz。取 1000Hz 即可。系统节拍中断用来测量时间,因此,越高的测量频率意味着可测到越高的分辨率时间。但是,高的系统节拍中断频率也意味着FreeRTOS内核占用更多的CPU时间,因此会降低效率。缺省选项的系统节拍中断频率为1000Hz,实际使用时不用这么高的系统节拍中断频率。多个任务可以共享一个优先级,FreeRTOS调度器为相同优先级的任务分享CPU时间,在每一个RTOS 系统节拍中断到来时进行任务切换。高的系统节拍中断频率会降低分配给每一个任务的“时间片”持续时间。MAX_PRIORITIES设置任务优先级的数量:配置应用程序有效的优先级数目。任何数量的任务都可以共享一个优先级,使用协程可以单独的给与它们优先权。见MAX_CO_ROUTINE_PRIORITIES。 在RTOS内核中,每个有效优先级都会消耗一定量的RAM,因此这个值不要超过你的应用实际需要的优先级数目。每一个任务都会被分配一个优先级,优先级值从0~ (MAX_PRIORITIES - 1)之间。低优先级数表示低优先级任务。空闲任务的优先级为0(PriorityIdle),因此它是最低优先级任务。 ??FreeRTOS调度器将确保处于就绪状态(Ready)或运行状态(Running)的高优先级任务比同样处于就绪状态的低优先级任务优先获取处理器时间。换句话说,处于运行状态的任务永远是高优先级任务。 ??处于就绪状态的相同优先级任务使用时间片调度机制共享处理器时间。MINIMAL_STACK_SIZE此参数用于定义空闲任务的栈空间大小,单位字。默认128个字MAX_TASK_NAME_LEN定义任务名最大的字符数USE_16_BIT_TICKS系统时钟节拍计数使用TickType_t数据类型定义的。如果使能了此宏定义,那么TickType_t定义的就是16位无符号数;如果没有使能,那么TickType_t定义的就是32位无符号数。对于32位架构的处理器,一定要禁止此宏定义IDLE_SHOULD_YIELD只有满足以下两个条件时,此参数才有效果:1. 使能抢占式调度器。2. 有创建与空闲任务同优先级的任务。通过时间片共享同一个优先级的多个任务,如果共享的优先级大于空闲优先级,并假设没有更高优先级任务,这些任务应该获得相同的处理器时间。 但如果共享空闲优先级时,情况会稍微有些不同。当IDLE_SHOULD_YIELD为Enabled时,其它共享空闲优先级的用户任务就绪时,空闲任务立刻让出CPU,用户任务运行,这样确保了能最快响应用户任务。处于这种模式下也会有不良效果(取决于你的程序需要),描述如下:图中描述了四个处于空闲优先级的任务,任务A、

文档评论(0)

yaocen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档