RT-Thread
文章平均质量分 88
zsky_01
嵌入式软件工程师,专注于 RTOS、Linux、C/C++。【一起学嵌入式】
展开
-
RT-Thread快速入门-文章汇总
为了方便阅读,将《RT-Thread快速入门》系列文章进行了汇总。主要包括以下部分:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qrR6okrH-1650596699763)(%E6%B1%87%E6%80%BB%E5%9B%BE%E7%A4%BA.png)]文章列表如下,点击即可直接阅读:RT-Thread 学习-Env开发环境搭建RT-Thread快速入门-初探RT-ThreadRT-Thread快速入门-体验RT-ThreadRT-Thread快速入门-了原创 2022-04-22 11:07:54 · 594 阅读 · 0 评论 -
RT-Thread快速入门-内核移植
首发,公众号【一起学嵌入式】RT-Thread 快速入门系列前面的文章介绍了内核相关的知识,以及内核提供的接口函数和如何使用。本篇文章主要介绍如何将 RT-Thread 内核移植到某个硬件平台之上。移植分为两部分:CPU 架构移植BSP 移植也就是将 RT-Thread 内核在不同的芯片架构、不同的板卡上运行起来,能够具备线程管理和调度,内存管理,线程间同步和通信,定时器管理等功能。CPU 架构移植,会用到 CPU 架构的汇编指令,因此如果要自己动手移植,需要熟悉一下目标 CPU 的汇编.原创 2022-04-21 11:09:09 · 583 阅读 · 0 评论 -
RT-Thread快速入门-中断管理
首发,公众号【一起学嵌入式】经过前面文章的学习,对于 RT-Thread 处理多任务或者说线程的处理机制,基本上入门了。能够上手用 RT-thread 进行日常开发了。但是,还有一个重要的部分,那就是 RT-Thread 如何处理中断。说到中断,大家都不会陌生,对于裸机编程,很简单,编写指定的中断服务函数就可以了。如果工程建立在 RTOS 基础之上,中断是如何管理的呢?本文带你了解 RT-Thread 的中断处理过程,以及如何添加中断服务程序和相关的注意事项。RT-Thread 中断工作机制.原创 2022-04-13 15:19:32 · 3654 阅读 · 0 评论 -
RT-Thread快速入门-内存池
首发,公众号【一起学嵌入式】引言上篇文章介绍了动态内存堆相关的内容:RT-Thread快速入门-动态内存堆管理这篇文章继续介绍 RT-Thread 内存管理剩下的部分——内存池。为何引入内存池?内存堆虽然方便灵活,但是存在明显的缺点:分配效率低。每次分配内存的时候,都需要查找空闲内存块。容易产生内存碎片。为了规避这两个问题,RT-Thread 提供了内存池(Memory Pool)的管理机制。理解内存池内存池用于分配大小相同的小内存块,可以极大地提高内存分配和释放的速度,且避免.原创 2022-04-07 09:57:06 · 507 阅读 · 0 评论 -
RT-Thread快速入门-动态内存堆管理
首发,公众号【一起学嵌入式】每种 RTOS 均有内存管理机制,RT-Thread 的内存管理分为两类:动态内存堆管理、内存池管理。本篇文章先来介绍一下动态内存堆管理相关的内容。内存堆管理机制RT-Thread 操作系统在内存管理上,根据上层应用及系统资源的不同,有针对性地提供了不同的内存分配管理算法。内存堆管理根据具体内存设备划分为三种情况:针对小内存块的分配管理(小内存管理算法);针对大内存块的分配管理(slab 管理算法);针对多内存堆的分配情况(memheap 管理算法).原创 2022-03-26 13:58:54 · 784 阅读 · 0 评论 -
RT-Thread快速入门-信号
首发,公众号【一起学嵌入式】对,你没看错。作为一款 RTOS,RT-Thread 提供了 Linux 才有的信号机制。其他常用的 RTOS 没有提供信号机制。在 Linux 中,信号作为进程间通信的一种方式。而在 RT-Thread 中,仿照类似的原理,实现信号机制,用于线程(任务)间通信。本篇文章,我们来学习 RT-Thread 信号的相关内容,以及如何进行管理和使用。信号的工作机制同 Linux 中的信号类似,是一种软件层次的中断。在 RT-Thread 中,信号用作异步通信。POSIX.原创 2022-03-24 11:29:28 · 8014 阅读 · 3 评论 -
RT-Thread快速入门-消息队列
首发,公众号【一起学嵌入式】哈哈,RT-Thread 快速入门系列文章登上官方论坛 “今日聚焦” 了,能够得到官方认可,属实受宠若惊。感谢 RT-Thread 的认可,感谢官方提供的交流学习平台。继续努力,持续输出 RT-Thread 相关的技术文章。加油~RT-Thread 官方论坛地址为:https://club.rt-thread.org/index.html正文开始上一篇介绍了消息邮箱,本篇文章介绍线程(任务)间通信的另一种方式——消息队列。消息队列在实际项目中应用较多,建议初.原创 2022-03-18 12:50:36 · 6596 阅读 · 4 评论 -
RT-Thread快速入门-消息邮箱
首发,公众号【一起学嵌入式】前面几篇文章介绍了线程(任务)间的同步机制:信号量、互斥量、事件集。接下来我们学习线程(任务)之间的通信机制。一般来说,RTOS 均会提供两种线程间通信的机制:消息邮箱和消息队列。RT-Thread 同样如此。本篇文章介绍 RT-Thread 消息邮箱相关的内容。邮箱的工作机制1. 理解消息邮箱邮箱是一种简单的线程间消息传递的方式,其特点是开销较低,效率较高。邮箱中的每一封邮件可以容纳固定大小的内容(针对 32 位处理器,可容纳 4 字节内容,所以一封邮件恰好可以.原创 2022-03-15 09:38:36 · 1345 阅读 · 0 评论 -
RT-Thread快速入门-事件集
首发,公众号【一起学嵌入式】RT-Thread 中的事件集,也就是其他 RTOS 中的事件标志组。事件集也是线程(任务)间同步的一种机制。前面介绍的两种线程间同步的方式(信号量和互斥量)都是一对一;而事件集可以实现一对多、多对多的线程同步。事件集的工作机制1. 理解事件集多个事件的集合用一个 32 位无符号整型变量来表示,变量的每一位代表一个事件,线程通过 “逻辑与” 或 “逻辑或” 将一个或多个事件关联起来,形成事件组合。RT-Thread 中的事件集有以下特点:事件只与线程相关,事件.原创 2022-03-03 18:12:43 · 1846 阅读 · 0 评论 -
RT-Thread快速入门-互斥量
首发,公众号【一起学嵌入式】引言互斥量,即互斥信号量(Mutex,Mutual Exclusion 的缩写)。互斥量的主要作用是对资源实现互斥访问。二值信号量也可以实现对资源的互斥访问,那么为何要引入互斥量呢?互斥量和信号量有什么不同呢?这其中涉及到两个重要的知识点:优先级翻转优先级继承理解了这两点内容,互斥量也就基本掌握了。理解互斥量互斥量是一种保护共享资源的方法,当一个线程拥有互斥量时,可以保护共享资源不被其他线程破坏。一个线程持有互斥量时,其他线程不能再持有它,持有该互斥量的.原创 2022-02-22 14:02:16 · 1557 阅读 · 3 评论 -
RT-Thread快速入门-线程间同步之信号量
首发,公众号【一起学嵌入式】,RTOS、Linux、C线程同步是指多个线程通过某种特定的机制,来控制线程之间的先后执行顺序。RT-Thread 提供了几种线程同步的方式:信号量(semaphore)、 互斥量(mutex)、和事件集(event)。本篇文章主要介绍信号量相关的内容。信号量的工作机制信号量是一种可以用来解决线程间同步问题的内核对象,线程通过获取和释放信号量,来达到同步的目的。每个信号量对象都有一个信号量值和一个线程等待队列,信号量的值表示信号对象的实例数目或者资源数目;线程等待队.原创 2022-02-16 13:00:14 · 1643 阅读 · 0 评论 -
RT-Thread快速入门-时钟管理
首发,公众号【一起学嵌入式】,精彩内容首先送达时钟节拍任何操作系统都需要提供一个时钟节拍,以供系统处理所有和时间有关的事件,如延时、线程的时间片轮转调度以及定时器超时等。时钟节拍(OS Tick)是操作系统中最小的时间单位。时钟节拍是特定的周期性中断,这个中断之间的时间间隔取决于具体的应用,一般是 1-100ms。时钟节拍率越快,系统的额外开销就越大。RT-Thread 中,一个时钟节拍的时长根据 rtconfig.h 配置文件中, RT_TICK_PER_SECOND 的 定 义 来 调 整,.原创 2022-02-08 23:11:11 · 1362 阅读 · 0 评论 -
RT-Thread快速入门-线程管理(下)
首发,公众号【一起学嵌入式】上一篇主要介绍了 RT-Thread 线程管理相关的理论知识:RT-Thread快速入门-线程管理这篇重点介绍 RT-thread 提供的线程管理相关的接口函数,以及实战演示。线程创建在 RT-Thread 中,创建一个线程的方式有两种:动态创建方式,线程的栈和线程控制块由系统从动态内存堆上分配。静态创建方式,线程的栈和线程控制块由用户定义分配。1. 动态创建线程动态创建线程,用户不需要考虑线程栈和线程控制块空间分配的问题,全部由系统自动完成分配。用户只.原创 2022-01-27 14:36:02 · 5185 阅读 · 1 评论 -
RT-Thread快速入门-线程管理(上)
首发,公众号【一起学嵌入式】在 RT-Thread 中,最基本的调度单位是线程,其他 RTOS 也叫任务。如果学习过或者了解过 RTOS,任务这种叫法是最为熟知的。本篇文章来学习一下 RT-Thread 线程方面的内容。对于初学者来说,转换一下思维,建立多任务(线程)的编程思想。引言对于裸机编程,整个软件系统只有一个线程(任务)在执行,实现方式是通过一个大循环完成的。应用程序是一个无限循环,循环中调用各个功能模块的函数,完成相应的操作。RTOS 是一个多任务系统,可以把总体功能划分为多个小模块.原创 2022-01-25 00:02:14 · 3994 阅读 · 0 评论 -
RT-Thread快速入门-了解内核启动流程
首发,公众号【一起学嵌入式】,RTOS、Linux、C内核是操作系统最基础也是最重要的部分。从本文开始进入 RT-Thread 内核相关知识的学习。首先了解内核的基础知识,对 RT-Thread 内核的设计有个初步的认识。然后了解一下 RT-Thread 系统启动流程。内核介绍下图为 RT-Thread 的内核架构图:内核包括两部分:内核库、实时内核实现。内核库为了保证内核能够独立运行,RT-Thread 设计了一套小型的类似 C 库的函数实现子集,根据编译器的不同 C 库的情况会有些.原创 2022-01-22 22:50:33 · 2193 阅读 · 1 评论 -
RT-Thread快速入门-体验RT-Thread
RT-Thread快速入门-体验RT-Thread在开始 RT-Thread 内核学习之前,先来体验一下 RT-Thread。要体验 RT-Thread,首先需要具备运行环境或者实验环境。RT-Thread 不仅可以在实际硬件平台上运行,也可以在虚拟环境下实验运行。如果只是为了学习内核知识,并配合练习实验,虚拟环境就可以了。如果有实际的硬件环境,当然会更好。官方的学习资料中,介绍了两种虚拟环境:QEMU 虚拟机Keil 模拟器下面分别以这两种环境体验一下 RT-Thread 运行。接着介原创 2022-01-13 10:16:58 · 998 阅读 · 0 评论 -
RT-Thread快速入门-初探RT-Thread
一文带你了解 RT-Thread原创 2022-01-10 13:49:31 · 1578 阅读 · 0 评论