freeRTOS系列教程之freeRTOS入门与工程实践【文档+视频教程+进阶视频教程】

news2024/11/27 5:34:20

《freeRTOS入门与工程实践》

  • 前言
    • 课程内容
    • 授课方式
  • 学前知识普及
  • 学前准备
    • 硬件准备
    • 资料准备
  • 视频教程
  • 文档教程
    • 更好的阅读体验

前言

课程内容

嵌入式软件工程师的学习路线一般是:单片机->RTOS->Linux。当你掌握单片机开发后,如果要进一步提升编程水平,建议学习RTOS(Real Time Operating System,实时操作系统)。

有很多优秀的RTOS,比如FreeRTOS、RT-Thread、UCOS等等。FreeRTOS使用范围最广泛,RT-Thread生态丰富,UCOS是收费的并且很少使用了。

对于初学者,建议先学习FreeRTOS。只要学会了任意一款RTOS,肯定就会使用其他RTOS了。

百问网在2022年已经推出了《FreeRTOS快速入门》课程:https://blog.csdn.net/qq_35181236/article/details/122070883。

为何还要重新制作《FreeRTOS入门与工程实践》?《FreeRTOS快速入门》只是讲解FreeRTOS的各类API的理论、用法、示例,这些实验是基于Keil自带的STM32F103模拟器。没有使用更多的硬件模块、不能体现工作中的实际场景。

在《FreeRTOS入门与工程实践》,将引入更多的硬件模块,并展示实际工程示例中的用法。另外,基于RTOS的程序一般都比较复杂,涉及的源文件非常多,在工作中一般都基于面向对象 的思想来写程序。

所以,本课程会涉及如下内容:

  • 讲解FreeRTOS的常用API:理论、用法
  • 选择合适的硬件模块,展示这些API的实例
  • 实现合适的小项目,展示工作中的编程方法

授课方式

  • 对于每一个实验,我们会精心设计:要解决什么问题;然后讲解FreeRTOS提供的解决方法。
  • 讲解FreeRTOS的API及内部原理(不深入讲解内部源码,只是进行原理性介绍)
  • 讲解实验过程使用的模块的接口函数(只讲使用,不讲内部实现,模块的源码实现单独开课讲解)
  • 讲解原理时,配合着文档、现场画图进行讲解,跟学校老师写黑板一样
  • 最后现场从0编写程序并调试

一切都是现场操作,绝对不会照着PPT念,绝对不会照着现成的代码讲解。只有现场从0操作,学员才能身临其境地学习,跟着教程:碰到问题、解决问题。

学前知识普及

对于RTOS初学者或者对RTOS的基础概念不太清楚的同学,请先学习 这个视频课程,在充分理解什么是RTOS之后再开始学习,对于你的学习能达到事半功倍的作用!
视频观看地址: https://www.bilibili.com/video/BV1844y1g7ud

学前准备

硬件准备

本课程基于韦东山百问网推出的 DshanMCU-103学习套件 进行编写,它由3部分组成:STM32F103C8T6的最小系统板、扩展底板、各类模块。如下图所示:

在这里插入图片描述

上述硬件再加一个ST-Link(套餐配套)即可学完本课程所有内容。

主板DshanMCU-103是基于STM32F103C8T6的最小系统板。之所以选择最小系统板,而不是把所有模块都放在一个整体的电路板上,目的如下:

  • 低成本尝试:嵌入式软件开发并不一定适合你,可以购买最小系统板进行体验、及时放弃
  • 按需购买:用到再买,讲究一个性价比

资料准备

  • 配套资料获取:https://rtos.100ask.net/zh/freeRTOS/DShanMCU-F103

视频教程

  • 百问网官方学习平台:https://100ask.net
  • 哔哩哔哩:https://space.bilibili.com/275908810

文档教程

  • 第1章 课程介绍
  • 第2章 单片机程序设计模式
  • 第3章 搭建开发环境安装
  • 第4章 开发板使用
  • 第5章 模块使用说明与STM32CubeMX配置
  • 第6章 创建FreeRTOS工程
  • 第7章 FreeRTOS源码概述
  • 第8章 内存管理
  • 第9章 任务管理
  • 第10章 同步互斥与通信
  • 第11章 队列(queue)
  • 第12章 信号量(semaphore)
  • 第13章 互斥量(mutex) (待更新)
  • 第14章 事件组(event group) (待更新)
  • 第15章 任务通知(Task Notifications) (待更新)
  • 第16章 软件定时器(software timer) (待更新)
  • 第17章 中断管理(Interrupt Management) (待更新)
  • 第18章 资源管理(Resource Management) (待更新)
  • 第19章 调试与优化 (待更新)

更好的阅读体验

需要获取更好阅读体验的同学,请访问我们专门设立的站点查看,地址:http://rtos.100ask.net

在这里插入图片描述

最后,请别忘了收藏本文,下次学习不迷路!


本文完

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1004928.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

质数,思维,prime game

Prime Game - Gym 101981J - Virtual Judge (vjudge.net) Problem - 1520 (nefu.edu.cn) 解析: 这道题还是要考虑数的贡献 题解参考至(【ACM-ICPC 2018 南京现场赛 】 J.Prime Game ---- 思维素数筛_WangMeow的博客-CSDN博客) 第一个元素的…

Windows下使用Nginx反向代理访问MySQL数据库

安装Nginx 《Windows下安装Nginx》 配置13306端口访问3306端口的MySQL数据库 worker_processes 1;events {worker_connections 1024; }stream {upstream mysql {hash $remote_addr consistent;server 127.0.0.1:3306;# MySQL数据库集群#server 192.168.1.111:3306;}server…

领域驱动设计:DDD设计微服务代码模型

文章目录 DDD 分层架构微服务代码模型 只有建立了标准的微服务代码模型和代码规范后,我们才可以将领域对象所对应的代码对象放在合适的软件包的目录结构中。标准的代码模型可以让项目团队成员更好地理解代码,根据代码规范实现团队协作;还可以…

Linux下的编译器使用以及各个阶段的执行

程序的翻译 程序在形成可执行程序之前都经历过一系列十分复杂的过程,也就是我们程序的翻译,程序的翻译经过以下阶段: 预处理(进行宏替换) 编译(生成汇编) 汇编(生成机器可识别代码) 连接&#…

Linux--进程间通讯--FIFO(open打开)

1. 什么是FIFO FIFO命名管道,也叫有名管道,来区分管道pipe。管道pipe只能用于有血缘关系的进程间通信,但通过FIFO可以实现不相关的进程之间交换数据。FIFO是Linux基础文件类型中的一种,但是FIFO文件在磁盘上没有数据块&#xff0c…

快递查询、导出表格,批量操作效率更高

当我们需要查询多个快递的状态时,通常会感到繁琐和耗时。然而,现在有一种快捷的方法可以帮助我们快速批量查询快递,而且还可以将查询结果导出成表格,轻松搞定! 首先,在浏览器中搜索“固乔科技”&#xff0c…

SSL证书系列--Let’s Encrypt和TrustAsia哪个好?

原文网址:SSL证书系列--Let’s Encrypt和TrustAsia哪个好?_IT利刃出鞘的博客-CSDN博客 简介 本文介绍Let’s Encrypt和TrustAsia这两款免费SSL证书的区别。 Let’s Encrypt 简介 Let’s Encrypt是一家全球性的证书颁发机构,由一个非营利…

OpenCV之FCN图像分割

💂 个人主页:风间琉璃🤟 版权: 本文由【风间琉璃】原创、在CSDN首发、需要转载请联系博主💬 如果文章对你有帮助、欢迎关注、点赞、收藏(一键三连)和订阅专栏哦 前言 Fully Convolutional Network(FCN)是一种深度学习…

buu web [强网杯 2019]随便注

easy_sql 看来这是一道sql注入的题 1、起手试探 1 报错 1# 正确 ps:提交的不显示,想知道提交的东西就看红框的位置,就标了一个,剩下的也一样 2、 测字段数,到三报错,说明字段为二 1 order by 1# 1 order by 2…

去噪方法总结

图像降噪方法如下图: 空间域局部滤波 线性滤波 原图: 给原图加了四类噪声以后: 均值滤波 主要原理: 用像素邻域的灰度均值代替该像素的值 opencv里面有api 直接用api size 用的是7 对这四张图用均值滤波 (上下是一一…

记录一些奇怪的报错

错误:AttributeError: module distutils has no attribute version 解决方案: 第一步:pip uninstall setuptools 第二步:conda install setuptools58.0.4 错误:ModuleNotFoundError: No module named _distutils_hac…

Java定时器

对于定时器的设定,想必大家在不少网站或者文章中见到吧,但是所谓的定时器如何去用Java代码来bianx呢??感兴趣的老铁,可以看一下笔者这篇文章哟~~ 所谓的定时器就是闹钟!! 设定一个时间&#x…

计算机毕业设计 高校课程评价系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…

Vray渲染与窗口呈现不一致怎么办?

3D场景渲染过程中,可能大多情况下,大家都会选择Vray渲染器。它是最流行的渲染引擎之一。 但是,在渲染过程中,大家还是会遇到vray渲染和窗口不一致的问题。 在渲染过程中,窗口显示和实际渲染结果不同步的情况。不仅影响…

【DevOps核心理念基础】1. 什么是 devops

一、什么 devops? 1.1 定义 1.2 作用 1.3 核心 1.4. 软件开发流程 1.5. DevOps的核心定义 1.6. 具备的能力 二、DevOps流程中的几个关键概念 2.1 持续集成 2.2 持续交付 2.3 持续部署 2.4 总结 三、DevOps和敏捷开发的演进 一、什么 devops? 1.1 定义 Developme…

基于YOLOv8模型的80类动物目标检测系统(PyTorch+Pyside6+YOLOv8模型)

摘要:基于YOLOv8模型的80类动物目标检测系统可用于日常生活中检测与定位车辆目标,利用深度学习算法可实现图片、视频、摄像头等方式的目标检测,另外本系统还支持图片、视频等格式的结果可视化与结果导出。本系统采用YOLOv8目标检测算法训练数…

基于springboot+vue的大学社团管理系统(前后端分离)

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目介绍…

如何实现微服务

一、问题拆解 1.1、客户端如何访问这些服务 原来的Monolithic方式开发,所有的服务都是本地的,UI可以直接调用;现在按功能拆分成独立的服务,跑在独立的虚拟机上的Java进程了。客户端UI如何访问他的? 后台有N个服务&a…

golang面试题:对未初始化的的chan进行读写,会怎么样?为什么?

问题 对未初始化的的 chan 进行读写&#xff0c;会怎么样&#xff1f;为什么&#xff1f; 怎么答 读写未初始化的 chan 都会阻塞。 举例 写未初始化的 chan package main // 写未初始化的chan func main() {var c chan intc <- 1 }// 输出结果 fatal error: all gorou…

[译] MySQL-恢复被删除的Performance Schema 数据库

原文地址&#xff1a;https://blog.sqlauthority.com/2021/12/23/mysql-recover-dropped-performance-schema-database/ 原文作者&#xff1a;Pinal Dave 登录后复制今天早些时候我在一个在线论坛上看到有用户在找如何恢复被删除的Performance Schema 数据库的方法。 老实说&a…