FreeRTOS的学习路线

背景ide

  因为以前接触过一些嵌入式RTOS,如Keil-RTX,uCOS-II,也曾经关注过FreeRTOS,但一直没有机会采用FreeRTOS开发。目前FreeRTOS作为主流RTOS,风声正盛。做为嵌入式开发从业人员,貌似没有使用过FreeRTOS,竞争力指数会直线下降。最近,刚巧项目中使用了STM32f103芯片。因为RTOS的能够更合理、更有效地利用CPU的资源,简化应用软件的设计,缩短系统开发时间,更好地保证系统的实时性和可靠性。因为对FreeRTOS好奇的倾向性,因此,本次决定采用FreeRTOS开发。网站

FreeRTOS 简介ui

  关于FreeRTOS简介,在此再也不多说,https://www.freertos.org/网站上有丰富的说明设计

FreeRTOS 手册熟悉3d

  161204_Mastering_the_FreeRTOS_Real_Time_Kernel-A_Hands-On_Tutorial_Guide.pdf对象

  经过该手册能够了解blog

      1)工程建立方法,队列

      2)任务管理:主要描述任务优先级调度,抢占式或非抢占式调度等调度模型事件

      3)堆内存管理:主要分析5种堆内存管理模型,建议选择heap_4内存

      4)队列管理

   5)软时间管理

      6)中断管理,主要是推迟中断处理方法

      7)资源管理,主要是临界区,资源互斥访问

      8)事件组

      9) 任务通知,直接任务通讯,无需中间对象,比消息队列,事件组和信号量更快,缺点是任务建立时须要分配8字节内存

 

FreeRTOS 移植

  方法1 :\FreeRTOSv10.0.1\FreeRTOS\Demo\ 中包含了大量的Demo,可供选择。

  方法2 :若是感兴趣,能够先构建符合芯片的工程,而后再导入FreeRTOS,这样更容易理解,方法大体以下

  第一步:添加下图所示文件

  

  第二步:添加 FreeRTOSConfig.h【建议参考方法1中对象工程的FreeRTOSConfig.h】文件,并添加

        #define vPortSVCHandler SVC_Handler
        #define xPortPendSVHandler PendSV_Handler

        #define xPortSysTickHandler SysTick_Handler

小结

  经过一周的了解熟悉,基本掌握FreeRTOS的各类API使用。至于方法方面主要仍是看手册, 161204_Mastering_the_FreeRTOS_Real_Time_Kernel-A_Hands-On_Tutorial_Guide.pdf通俗易懂的描述了各类机制的使用。从功能的角度看,与其余RTOS大体相同。RTOS内部实现细节应该各有不一样。之后抽时间分析一下,再继续更新。

相关文章
相关标签/搜索