学完 RT-Thread 内核,从本文开始熟悉了解 RT-Thread I/O 设备管理相关知识。
2022-06-30 10:38:133417 RT-Thread 的时钟管理以时钟节拍为基础,时钟节拍是 RT-Thread 操作系统中最小的时钟单位。
2019-07-19 10:12:326734 在前面我们RT-Thread Studio工程基础之上讲一讲RT-Thread内核启动流程.
2022-06-20 00:30:334292 我们知道,在写裸机程序时,当我们完成硬件初始化后,就需要在主函数中进行调用。当我们使用RT-Thread后,完全不需要这样做了,我们可以将硬件等自动初始化。 RT-Thread 自动初始化机制
2022-06-25 21:38:019371 在开始写 RT-Thread 内核之前,我们先新建一个 RT-Thread 的工程,Device 选择Cortex-M3(Cortex-M4 或 Cortex-M7)内核的处理器,调试方式选择软件
2022-11-18 14:17:211113 这是一份 RT-Thread 开发人员的开发指引。RT-Thread 做为一份开源软件,它需要由不同的人采用合作的方式完成,这份文档是开发人员的一个指引。RT-Thread 的开发人员请遵守这样
2023-02-21 16:50:362035 学习RT-Thread,除了基础的应用,应该花点时间,研究下底层内核的实现方法。
2023-06-02 09:48:05203 目的还是学习并熟悉RT-Thread 操作系统。
2023-06-02 09:48:27289 继续研究RT-Thread 最基础,最重要的概念:内核对象。
2023-06-02 09:48:39242 前面已经让 RT-Thread 进入了 entry 入口函数,并且 调整 链接脚本,自动初始化与 MSH shell 的符号已经预留, 进入了 RT-Thread 的初始化流
2023-11-14 12:27:46442 sensor_enable 存放在 RO 段中。RT-Thread 自动初始化机制自动初始化机制是指初始化函数不需要被显式调用,只需要在函数定义处通过宏定义的方式进行申明,就会在系统启动过程中被执行。例如在串口驱动中
2021-05-24 18:49:23
(rt_hw_usart_init),链接器会自动收集所有被申明的初始化函数,放到 RTI 符号段中,该符号段位于内存分布的 RO 段中,该 RTI 符号段中的所有函数在系统初始化时会被自动调用。 RT-Thread 内核对象模型
2021-03-29 06:41:19
他的处理器(以下简称次级 CPU )则会暂停在某个状态下,等待 CPU0 将它们唤醒。CPU0 完成 RT-Thread 的全局初始化过程,包括外设初始化、中断控制器的中断分发部分初始化、全局变量的初始化
2022-04-27 14:38:30
用 RT-Thread Studio 新建潘多拉工程,已经自带了 EasyFlash但是不像其他软件包那样有个 sample.c 测试文件。github上的源码里有个测试例程,复制过来:只用初始化函数,但是就挂住。后面的指示灯闪烁的功能没了。请问有什么初始化的工作没做好吗?
2023-01-30 15:01:20
RT-Thread 架构图:RT-Thread开发指南开源地址内核层:RT-Thread 内核,是 RT-Thread 的核心部分,包括了内核系统中对象的实现,例如多线程及其调度、信号量、邮箱
2021-12-16 08:15:47
前言为了不再CTRL+C,CTRL+V,修改,我开始尝试手敲代码。RT-Thread线程可以静态初始化,也可以动态申请内存的方式创建静态初始化线程静态初始化线程时,线程结构体与线程的栈,必须
2021-05-13 18:40:55
用链表把一个班的学生整整齐齐的放在一起,考试出成绩的时候,就可以遍历了。在 RT-Thread 的内核中就使用到了链表,所以这些 API 我们都是可以直接使用的,而不需要自己再去造轮子。2. 单链表
2022-04-01 12:01:23
for lists. */结构体有两个指针分别指向下一个节点和上一个节点。初始化链表rt_list_t list;rt_list_init(&list);在节点(list)后面插入一个
2022-04-01 12:05:25
操作方法在内核文件 object.c 中实现4、RT-Thread内核对象初始化链表介绍 链表是一种数据结构,跟其他的结构体类似,初始化后本身占用内存空间,自身有内存地址。 一般双向链表,内部
2022-03-15 10:45:10
链表,所有的内核对象都被链接到该链表上,如图 RT-Thread 的内核对象容器及链表如下图所示:下图则显示了 RT-Thread 中各类内核对象的派生和继承关系:4.1 内核对象数据结构4.1.1
2022-04-25 14:44:03
STM32 程序的内存分布6、RT-Thread 自动初始化机制8、RT-Thread 内核对象模型静态对象和动态对
2021-08-06 07:44:48
1、RT-Thread内核学习笔记 - 内核对象rt_object 学习下RT-Thread,除了基础的应用,应该花点时间,研究下内核的实现 RT-Thread内核,整体代码量不大,很适合研究
2022-10-09 17:13:59
*/struct LNode pre;/ 指向下一个结点 */struct LNode next;/ 指向上一个结点 */}侵入式链表在 RT-Thread 以及 Linux 内核中链表是这样定义
2022-12-05 13:59:32
裸机进入stop2模式,rtc唤醒后,需要重新初始化时钟,串口等外设。如果是RT-Thread从stop2模式被rtc唤醒后,需要重新初始化时钟,外设吗?还有rtt初始化时候,例如board.c里面的需要重新初始化吗?求大神解答
2022-07-05 11:24:59
大家好,我现在正在学习RT-Thread,但是在学习启动代码的时候有一些疑问:1、在BSS段清零后就初始化C++构造有什么作用呢?是必须初始化呢还是这个组件可选?2、在初始化C++构造后就直接跳到C
2022-03-21 09:26:54
个双向链表的数据结构,用来把实例化的类添加到相应type的双向链表中。在rt_object初始化时,每种类型的class都有一个链表结构将他们连接起来。
与rt_object相关的函数
RTT
2023-04-27 11:46:37
struct rt_timer 定义形成定时器内核对象,再链接到内核容器中进行管理。定时器控制块会存储定时器的一些信息,例如初始时钟节拍数、超时到达的节拍数、定时器之间连接用的链表结构、超时回调函数等
2022-04-02 11:41:18
文章目录RT-Thread的线程简介源码分析初始化线程线程脱离启动线程挂起线程线程睡眠线程让出测试参考资料:RTT官网文档关键字:分析RT-Thread源码、stm32、RTOS、线程管理器
2021-08-24 07:56:47
枚举类型说明enum rt_object_class_type内核对象类型函数说明初始化对象该函数将初始化一个对象并将其放到系统对象管理器中。参数object将要被初始化的指定对象type对象类型
2022-08-25 15:23:42
的时候,在使用前都必须先初始化, 通常的做法是在主程序运行前手动添加调用初始化函数。 而 RT-Thread 提供了另一种低耦合高内聚的初始化方式,它不需要我们再 手动添加调用初始化函数,它能在系统
2022-08-25 15:15:39
事件集该函数将初始化事件集对象,并加入到系统对象容器中进行管理。参数event事件集对象的句柄name事件集的名称flag事件集的标志,它可以取值:RT_IPC_FLAG_FIFO或
2022-08-15 11:39:18
就重点介绍一下对应的操作函数。1. 创建消息队列在 RT-Thread 中,同其他内核对象一样。创建消息队列也有两种方式:(1)动态创建(2)静态初始化。动态创建一个消息队列的函数接口如下,调用此函数
2022-03-31 14:14:59
RT-Thread 自动初始化机制1、自动初始化机制简介在系统启动流程图中,有两个函数:rt_components_board_init() 与 rt_components_init(),其后的带
2022-04-12 17:43:15
, const char* name, void *start, rt_size_t size, rt_size_t block size);初始化内存池时,把需要进行初始化的内存池对象传递给内核,同时
2022-05-27 15:02:48
;}这里我们直接就可以使用 printf 进行打印,而没有进行一些其它的初始化,参考这个思路引出了 RT-Thread 的自动初始化机制。RT-Thread 自动初始化引入int
2022-12-05 14:17:34
RTI 符号段中,该符号段位于内存分布的 RO 段中,该 RTI 符号段中的所有函数在系统初始化时会被自动调用。RT-Thread 内核对象模型静态对象和动态对象RT-Thread 内核采用面向对象
2022-04-06 18:08:26
*name, rt_uint8_t flag);调用该函数接口时,系统会从动态内存堆中分配事件对象,然后进行对象的初始化,IPC对象初始化,并把set设置成0。删除事件:rt
2015-03-06 17:18:50
_mutex_t mutex);当删除一个互斥量时,所有等待此互斥量的线程都将被唤醒,等待线程获得的返回值是-RT_ERROR。然后系统将该互斥量从内核对象管理器链表中删除并释放互斥量占用的内存空间。初始化互斥量
2015-03-06 17:23:23
rt_size_tpool_size,//存放消息的缓冲区大小rt_uint8_tflag);//消息队列采用的等待方式(FIFO/PRIO)初始化消息队列时,该接口需要获得消息队列对象的句柄(即指
2015-03-06 17:17:01
释放邮箱使用的内存,最后删除邮箱对象。初始化邮箱:rt_err_t rt_mb_init(rt_mailbox_t mb, //邮箱对象的句柄const char*name,//邮箱名称void
2015-03-06 17:15:20
RT-thread的初始化过程是怎样进行的?扩展补丁Sub和super的作用是什么?如何去使用它们呢?
2021-11-29 07:42:34
在文档学习中看到其对静态内核对象与动态对象描述:“内核对象分为两类:静态内核对象和动态内核对象,静态内核对象通常放在 RW 段和 ZI 段中,在系统启动后在程序中初始化;动态内核对象则是从内存堆中
2023-03-14 10:28:46
先从汇编代码 startup_stm32f103xe.s 开始运行,然后跳转到 C 代码,进行 RT-Thread 系统功能初始化,最后进入用户程序入口 main()。为了在进入 main() 之前完成
2019-08-04 07:30:00
(第六节学习视频)【每日一练】RT-Thread Nano-自动初始化及MSH-EXPORT-1(第七节学习视频)
2021-05-24 10:42:16
__rt_init_ulog_console_backend_init();。3 总结 为什么 RT-Thread 要采用这种复杂的方式来进行自动初始化操作呢?我认为是 RT-Thread 采用和 Linux 一样的机制,为了实现驱动
2022-04-06 17:49:35
创建失败对于用 rt_thread_init() 初始化的线程,使用 rt_thread_detach() 将使线程对象在线程队列和内核对象管理器中被脱离。线程脱离函数如下:rt
2021-03-29 06:16:50
内存分布263.4 RT-Thread自动初始化机制283.5 RT-Thread内核对象模型293.5.1 静态对象和动态对象293.5.2 内核对象管理架构313.5.3 对象控制块333.5.4
2019-03-18 16:08:44
,即当内存池中无可用内存块时,其申请线程允许等待,申请线程将挂起在 suspend_thread 链表上。内存池管理RT-Thread 提供了管理内存池的函数接口,包含:创建 / 初始化内存池申请内存
2022-04-06 17:02:59
普通链表学习数据结构的时候写的链表是下面这个样子侵入式链表在 RT-Thread 以及 Linux 内核中链表是这样定义的在使用的时候是这样定义的每一个内核对象定义的时候,让结构体包含一个成员变量
2022-04-11 15:15:35
:初始化 LED 引脚、在循环中点亮 / 熄灭 LED。延时函数使用 RT-Thread 提供的延时函数 rt_thread_mdelay(),该函数会引起系统调度,切换到其他线程运行,体现了线程实时性
2021-05-14 16:09:46
main() 函数中(也就是在 main 线程中)实现 LED 闪烁代码:初始化 LED 引脚、在循环中点亮 / 熄灭 LED。将延时函数替换为 RT-Thread 提供的延时函数
2021-05-18 15:40:32
RT-Thread 的相关头文件。在 main() 函数中(也就是在 main 线程中)实现 LED 闪烁代码:初始化 LED 引脚、在循环中点亮 / 熄灭 LED。将延时函数替换
2021-05-14 10:32:10
RT-Thread 的相关头文件。在 main() 函数中(也就是在 main 线程中)实现 LED 闪烁代码:初始化 LED 引脚、在循环中点亮 / 熄灭 LED。将延时函数替换
2021-05-19 18:15:33
RT-Thread 的相关头文件。在 main() 函数中(也就是在 main 线程中)实现 LED 闪烁代码:初始化 LED 引脚、在循环中点亮 / 熄灭 LED。将延时函数替换为 RT-Thread 提供的延时
2021-03-29 06:58:21
重新调度),从而将线程从睡眠中唤醒。由此可见,在软件定时器线程模式下,rt_system_timer_thread_init中初始化的定时器线程timer_thread就是rt-thread线程调度的驱动力。
2015-03-02 14:21:11
,RT-Thread 提供了一个 libcpu 抽象层来适配不同的 CPU 架构。libcpu 层向上对内核提供统一的接口,包括全局中断的开关,线程栈的初始化,上下文切换等。RT-Thread
2022-04-27 14:23:23
, rt_uint32_t tick);rt_thread_init函数用来初始化静态线程对象。而线程句柄(或者说线程控制块指针),线程栈由用户提供。静态线程是指,线程控制块、线程运行栈一般都设置为
2022-08-30 14:51:19
RT-Thread是如何启动的?如何对RT-Thread系统进行初始化呢?
2021-11-30 07:54:32
内核中的封装继承与多态RT-Thread 虽然是使用面向过程的 C 语言来编写,但是处处都体现了面向对象的编程思想,先前对其感悟不够深,随着编写的程序越来愈多,对其理解也逐步加深。封装封装是一种
2022-04-13 17:41:45
怎样对rt-thread嵌入式系统中的串口进行初始化呢?有哪些过程?
2021-12-15 07:16:37
嵌入式RT-thread中初始化线程函数中(void)entry的意义何在,为什么要使用(void )?
2022-08-09 10:17:37
/ 初始化邮箱、发送邮件、接收邮件、删除 / 脱离邮箱。本文只重点介绍几种常用的接口函数。1. 创建邮箱RT-Thread 创建一个邮箱有两种方式:动态创建、静态初始化。动态创建一个邮箱的系统函数如下,调用
2022-03-31 14:29:57
邮箱是一种简单的线程间消息传递方式,在 RT-Thread 操作系统的实现中能够一次传递 4 字节邮件, 并且邮箱具备一定的存储功能,能够缓存一定数量的邮件数 (邮件数由创建、初始化邮箱时指定
2022-08-19 15:09:17
rt_thread_init:静态初始化一个线程,线程结构体、线程栈,都是全局的变量。rt_thread_detach后,这个线程的内核对象从内核容器链表里移除,【但】线程结构体、线程栈,因为是静态全局的,无法释放。若下次再想
2022-11-25 18:06:12
。对象容器给每类内核对象分配了一个链表,所有的内核对象都被链接到该链表上, RT-Thread 的内核对象容器及链表如下图所示:这个对象容器对应到代码上是一个结构体数组,这个结构体数组在object.c
2022-05-18 14:23:06
事件、删除/脱离事件集。本文只介绍常用的几种系统函数。1. 创建事件集同信号量类似。RT-Thread 事件集创建也有两种方式:动态创建、静态初始化。动态创建一个事件集的函数接口如下,调用这个函数创建一
2022-04-11 15:31:16
。通过内核对象系统,RT-Thread可以做到不依赖于具体的内存分配方式,伸缩性得到 极大的加强。任务/线程调度支持以线程为基本调度单位的多任务系统。调度算法是基于优先级的全抢占式线程调度,支持256
2015-03-02 14:24:29
rt_thread_inited_sethook(void(*)(rt_thread_t thread)hook)设置线程初始化钩子函数钩子函数会在线程初始化的时候调用。参数hook指定的钩子函数void
2022-08-29 15:30:09
RT-Thread推出RT-Thread Inside战略开放RT-Thread开发平台授权合作,与硬件十万个为什么合作首次推出第一款RT-Inside的开发板——iBox物联网开发套件。
2017-09-25 09:55:1833754 在学RT-Thread时,经常能听到这个词:自动初始化。用起来也非常容易,一个宏就解决了,但是原理是什么呢?
2019-07-21 10:17:147055 那具体RT-Thread又是如何实现在main函数执行之前就把所有初始化硬件、时钟的工作都做了呢?跟随官方文档的RT-Thread代码启动流程:
2020-06-28 09:18:122802 [导读] 前面写了些文章分享C语言面向对象设计的一些个人体会,个人认为RT-Thread内核对于面向对象实现思想是一个非常好的设计。向这些在基础软件上深耕的国人大牛们致敬。本文基于学习
2020-11-04 18:09:011469 RT-Thread 内核学习笔记 - 内核对象rt_objectRT-Thread 内核学习笔记 - 内核对象管理RT-Thread 内核学习笔记 - 内核对象操作APIRT-Threa...
2022-01-25 18:19:188 RT-Thread 内核学习笔记 - 内核对象rt_objectRT-Thread 内核学习笔记 - 内核对象管理RT-Thread 内核学习笔记 - 内核对象操作APIRT-Threa...
2022-01-25 18:19:488 RT-Thread 内核学习笔记 - 内核对象rt_objectRT-Thread 内核学习笔记 - 内核对象管理RT-Thread 内核学习笔记 - 内核对象操作APIRT-Threa...
2022-01-25 18:23:196 RT-Thread 内核学习笔记 - 内核对象rt_objectRT-Thread 内核学习笔记 - 内核对象管理RT-Thread 内核学习笔记 - 内核对象操作APIRT-Threa...
2022-01-25 18:24:503 RT-Thread 内核学习笔记 - 内核对象rt_objectRT-Thread 内核学习笔记 - 内核对象管理RT-Thread 内核学习笔记 - 内核对象操作APIRT-Threa...
2022-01-25 18:26:517 背景 {代码...} 内核对象控制块 {代码...} {代码...} 导火索 {代码...} void print_kernel_object_size(void){ {代码...} }MSH_CMD_EXPO...
2022-01-25 18:46:570 [导读] 前面写了些文章分享C语言面向对象设计的一些个人体会,个人认为RT-Thread内核对于面向对象实现思想是一个非常好的设计。向这些...
2022-01-26 17:17:231 RT-Thread全球技术大会:如何使用组件和自动初始化流程 审核编辑:彭静
2022-05-27 15:16:38669 RT-Thread 是一款开源实时操作系统,包括 RT-Thread 内核、FinSH 命令行工具、设备文件系统、TCP/IP 协议栈、RT-Thread/GUI、大量的 CPU 架构支持和丰富的第三方软件。
2022-05-31 11:17:502250 在分析之前首先查阅 RT-Thread 的官方文档 [RT-Thread 自动初始化机制](https://www.rt-thread.org/document/site
2022-06-17 08:52:111806 RT-Thread内核的相关概念和基础知识,然后了解RT-Thread系统的启动流程、内存分布情况以及内核的配置方法。内核处于硬件层之上,包括了内核库和实时内核的实现,而实时内核又包括:对象管理、线程管理及调度器、线程间通信管理、时钟管理及内存管理等等。 为了帮助大家深
2022-06-30 17:10:14886 去年此时,笔者刚接触 rt-thread 的时候,被它的初始化过程深深折服了。第一次打开一个 rt-thread 的项目,竟然没找到多线程在哪儿初始化的,"main" 函数里没有!
2022-07-04 15:30:081276 RT-Thread 简介 作为一名 RTOS 的初学者,也许你对 RT-Thread 还比较陌生。然而,随着你的深入接触,你会逐渐发现 RT-Thread 的魅力和它相较于其他同类型 RTOS
2022-07-09 11:27:423873 RT-Thread文档_RT-Thread 简介
2023-02-22 18:22:245 RT-Thread文档_内核基础
2023-02-22 18:28:130 RT-Thread文档_内核移植
2023-02-22 18:31:091 RT-Thread文档_RT-Thread SMP 介绍与移植
2023-02-22 18:31:345 内核是操作系统最重要的部分,学习RT-Thread也是从最基本的内核开始。RT-Thread内核要怎么学?编者觉得首先应该是从软件架构入手,了解内核的组成与实现,这一部分会学习RT-Thread内核
2022-06-27 09:36:561587 RT-Thread 在线程初始化的代码内有一段初始化线程堆栈的代码
2023-08-14 16:50:03913 最近在开发调试基于RT-Thread 的驱动时,遇到一个比较奇怪的死机问题,后来经过一步步排查,终于发现是驱动的链表节点没有初始化造成的死机
2023-10-08 14:49:02392 ://github.com/RT-Thread/rt-thread/releases/tag/v5.0.2 RT-Thread 迎来了全新的版本 v5.0.2,自 v5.0.0 版本发布以来,内核和组件都经历
2023-10-10 18:45:01666 RT- Thread 的I/O设备模型(简称“设备模型”)是建立在内核对象模型基础之上的,设备被认为是一类对象,被纳入对象管理的范畴。
2023-10-11 17:12:18304
评论
查看更多