zoukankan      html  css  js  c++  java
  • FreeRTOS的学习路线

    背景

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

    FreeRTOS 简介

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

    FreeRTOS 手册熟悉

      161204_Mastering_the_FreeRTOS_Real_Time_Kernel-A_Hands-On_Tutorial_Guide.pdf

      通过该手册可以了解

          1)工程创建方法,

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

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

          4)队列管理

       5)软时间管理

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

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

          8)事件组

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

    FreeRTOS 移植

      方法1 :FreeRTOSv10.0.1FreeRTOSDemo 中包含了大量的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内部实现细节应该各有不同。以后抽时间分析一下,再继续更新。

  • 相关阅读:
    robotframework +selenium 自动化测试之浏览器与驱动的兼容问题。
    robotframework+selenium自动化robotramework版本问题
    一个业务逻辑引发的对多表连接的思考
    第一次接触WebSocket遇到的坑以及感受
    关于读写APP.config文件能读却写不了的问题
    poj2392 space elevator
    洛谷P1197 星球大战
    poj3421&poj3292&poj2689 基础数论
    洛谷P1006 传纸条
    挑战程序设计竞赛2.3节习题选解
  • 原文地址:https://www.cnblogs.com/zystechnology/p/9217183.html
Copyright © 2011-2022 走看看