首页 > 其他分享 >FREERTOS 入门

FREERTOS 入门

时间:2022-12-08 20:06:01浏览次数:40  
标签:文件 入门 freertos FREERTOS FreeRTOS Source 编译器 heap



以下为学习freertos的过程知识记录,源自网上学习,谢谢各位网友大神!现总结于此,便于日后温习。

FREERTOS 官网: http://www.freertos.org/  

 freertos BSP开发包下载:http://sourceforge.net/projects/freertos/files/FreeRTOS/  ,这里可以下载最新版本和历史版本。可是找来好半天,再找到的。


freertos 学习网站:http://xilinx.eetrend.com/article/7845  对freertos 比较全面的讲解和代码剖析。


    FreeRTOS的文件结构非常简单,移植或者版本升级替换也非常方便。


FREERTOS 入门_Source


以上为开发包的文件夹。


    1)与FreeRTOS内核有关的文件数量仅为3个,分别是list.c queue.c tasks.c


    该文件位于FreeRTOS\Source




FREERTOS 入门_Source_02


此为source文件夹下文件,最新版本还有event_groups.c文件。




heap_1.c,heap_2.c,heap_3.c,heap_4.c。4个文件只需选择其中的1个,STM32选择heap_2.c。当然这为内存分配方式,可以根据程序需求选择适合的内存划分方式。


FREERTOS 入门_版本升级_03


    该文件位于FreeRTOS\Source\portable\MemMang


FREERTOS 入门_版本升级_04


heap_5.c,用于支持64位硬件。


    3)与移植相关的代码包括port.c,portmacro.h。这些代码不但和编译器有关还和平台(MCU)有关。FreeRTOS先以编译器为大类,然后再以平台(MCU)为小类。在这里选择MDK编译器,平台为ARM_CM4F。


    该文件位于FreeRTOS\Source\portable\RVDS\ARM_CM4F


FREERTOS 入门_c_05


portasm.s,现在官方已增加到port.c文件中,就不需要我们配置修改。


    4)除了上述内容之外,还包括FreeRTOS内核相关的头文件。


    该文件FreeRTOS\Source\include


主要是根据需要进行。h文件宏定义的配置。


portmacro.h

portmacro.h 主要包括两部分内容,第一部分定义了一系列内核代码中用到的数据类型。


然后是一些硬件相关的定义。包括数据对其方式,堆栈增长方向,Tick Rate,还有任务切换的宏。


是个很重要的配置文件。




下一节讲freertos的移植过程和日常版本升级过程的操作流程。



标签:文件,入门,freertos,FREERTOS,FreeRTOS,Source,编译器,heap
From: https://blog.51cto.com/u_6958388/5923281

相关文章

  • Flask入门
    1Flask介绍#目前python界,比较出名的web框架-django:大而全,web开发用的东西,它都有-Flask:小而精,只能完成请求与响应,session,cache,orm,admin。。。统统没有......
  • 今日内容, 爬虫及Flask框架入门
    加代理,cookie,header,加入selenium加代理#在爬虫中间件中defget_proxy(self):importrequestsres=requests.get('http://192.168.1.143:5010/......
  • freertos 内存管理
    每当任务,队列或是信号量被创建时,内核需要进行动态内存分配。当内核请求内存时,其调用pvPortMalloc()而不是直接调用malloc();当释放内存时,调用vPortF......
  • Python全栈工程师之从网页搭建入门到Flask全栈项目实战(5) - Flask中的ORM使用
    1.理解ORMORM是MTV模型里面的Model模型ORM(ObjectRelationalMapping),对象关系映射举例:学生选课学生和课程这两个实体,一个学生可以选择多门课程,一个课程可以被多名......
  • J-Link使用笔记(二):J-Flash 入门
    介绍J-Flash是J-Link系列工具里用于FLASH操作的GUI工具,也支持命令行方式操作。打开软件配置工程打开后软件界面如下:为了对芯片进行烧写,需要先配置工程:根据实际使......
  • SpringCloud组件入门使用
    SpringCloud1、远程调用1.1、微服务远程调用RestTemlpate1.2、微服务远程调用-Feign 2、Eureka注册中心2.1、Eureka注册中心搭建及入门使用2.2、Ribbon负载均......
  • JavaScript入门⑧-事件总结大全
    JavaScript入门系列目录JavaScript入门①-基础知识筑基JavaScript入门②-函数(1)基础{浅出}JavaScript入门③-函数(2)原理{深入}执行上下文JavaScript入门④-万物皆......
  • Golang依赖管理工具:glide从入门到精通使用
    这是一个创建于 2017-07-2205:33:09 的文章,其中的信息可能已经有所发展或是发生改变。介绍不论是开发Java还是你正在学习的Golang,都会遇到依赖管理问题。Java有牛逼轰轰......
  • Python入门笔记(一)
    文章目录​​第一章初识python​​​​1.1python介绍​​​​1.2Python、pycharm、anaconda安装​​​​1.3print()和input()​​​​1.4保留字和标识符​​​​1.5变......
  • Python入门笔记(三)
    文章目录​​第十二章异常处理​​​​12.1常见异常​​​​12.2处理异常:try--except​​​​12.3创建异常类型:raise语句​​​​12.4断言:assert​​​​12.5存储数......