FreeRTOS实时操作系统(一)RTOS、堆栈的基本概念、map文件解析

系列文章

FreeRTOS实时操作系统(一)RTOS的基本概念

FreeRTOS实时操作系统(二)任务创建与任务删除(HAL库)

FreeRTOS实时操作系统(三)任务挂起与恢复

FreeRTOS实时操作系统(四)中断任务管理

FreeRTOS实时操作系统(五)进入临界区、任务调度器挂起与恢复

FreeRTOS实时操作系统(六)列表与列表项

FreeRTOS实时操作系统(七)时间片调度及RTOS的滴答定时器

FreeRTOS实时操作系统(八)任务状态查询及时间统计函数

FreeRTOS实时操作系统(九)时间延时函数及消息队列

FreeRTOS实时操作系统(十)信号量

FreeRTOS实时操作系统(十一)队列集

FreeRTOS实时操作系统(十二)事件标志组

FreeRTOS实时操作系统(十三)任务通知

FreeRTOS实时操作系统(十四)软件定时器

FreeRTOS实时操作系统(十五)Tickless低功耗模式

FreeRTOS实时操作系统(十六)内存管理



前言

最近买了把75系列的机械键盘,没有数字区域,想起来稚辉君曾经做过一把客制化键盘,于是下载了资料准备学一学,网上很多开源的都是用的ATMEGA32U4制作的,稚辉君用stm32f103cbtx就做出来了,让我很佩服,打开资料后发现软件部分涉及到了操作系统,于是打算学一下FreeRTOS。

大部分还是参考正点原子的教程,本篇只是一些基本概念,无具体代码内容学习


操作系统分类

实时操作系统:能及时的响应外部事件请求,并能控制所有实时设备和实时任务协调运行,且能在一个规定的时间内完成对事件的处理。(按系统完成任务的时间的严格程序分为强实时与弱实时)

分时操作系统:按时间片轮转完成各个任务,任务没有优先级,这种系统就称为分时操作系统。(感觉像平时的while循环里面放一堆,裸机开发)

编程风格纠正

  1. 变量定义
    一般前面加上该变量的类型,如:char cTemp;
    char:c,short:s,long:l,无符号类型加u,指针加p,结构体或者任务句柄加x。

  2. 函数名
    函数名包含了函数返回值的类型、函数所在的文件名以及函数的功能,如果是私有的函数,还会加prv前缀。
    举例:
    xTaskCreate()函数的返回值为任务句柄,在Task.c中定义,作用是创建任务;
    vTaskPrioritySet()函数的返回值为void,在Task.c中定义,作用是设

### FreeRTOS 实时操作系统概述 FreeRTOS种轻量级的实时操作系统RTOS),专为微控制器和资源受限环境设计。它提供了高效的多任务调度功能以及系列中间件组件,适用于各种嵌入式应用场景[^1]。 #### 特点 1. **可移植性强** FreeRTOS 能够轻松适配多种硬件平台,支持广泛的处理器架构,包括 ARM Cortex-M、AVR 和 RISC-V 等。这种高度的灵活性使其成为许多开发者的首选解决方案[^2]。 2. **占用资源少** 针对低功耗设备优化,FreeRTOS 只需少量 RAM 和 Flash 即可运行,非常适合资源有限的小型嵌入式系统。 3. **模块化设计** 提供核心 RTOS 功能的同时,还集成了丰富的库文件,比如队列管理、信号量、互斥锁等同步原语,方便开发者构建复杂的应用程序结构。 4. **开源免费** 使用 MIT 许可证发布,允许个人或商业用途自由修改与分发代码,降低了研发成本并促进了社区贡献和技术进步。 5. **稳定可靠** 经过多年的发展和完善,已经积累了大量成功案例,在工业自动化、消费电子等多个领域得到验证[^3]。 #### 应用场景 - **物联网 (IoT)** 在连接传感器网络或者执行远程监控任务方面表现优异,能够满足数据采集传输及时性的需求。 - **工业控制** 控制电机驱动器或其他精密仪器时需要精确的时间响应能力,而这些正是 FreeRTOS 所擅长之处。 - **智能家居产品** 如智能灯泡、恒温器等小型家电中也常采用该系统来实现智能化管理和节能效果最大化。 以下是通过 QEMU 模拟器运行 FreeRTOS 的简单步骤: ```bash # 克隆 FreeRTOS 仓库及子模块 git clone https://github.com/FreeRTOS/FreeRTOS.git --recurse-submodules cd FreeRTOS # 构建针对特定目标板的支持包 make all qemu-system-riscv64 -kernel <path_to_kernel_image> ``` 上述命令展示了如何利用 Git 获取最新版本源码,并借助 Makefile 工具链完成编译过程;最后调用 QEMU 来测试所编写软件的行为特性。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值