第一次启动 RT-Thread Studio 需要进行账户登录,登录一次后会自动记住账号,后续不需要再登录,登录支持第三方账号登陆。 登录成功后,会弹出欢迎界面,你可通过以下链接学习如何使用RT-Thread Studio。 1.1.2 RT-Thread Studio包管理 RT-Thread Studio安装好了,接下来对一些依赖包进行安装,在搜索栏输入‘SDK’,点击进入...
或者取消运行RT-Thread Studio勾选,点击完成后,从桌面快捷方式启动 RT-Thread Studio。 第一次启动 RT-Thread Studio 需要进行账户登录,登录一次后会自动记住账号,后续不需要再登录,登录支持第三方账号登陆。 登录成功后,会弹出欢迎界面,你可通过以下链接学习如何使用RT-Thread Studio。 1.1.2 RT-Thread Studio包管...
内存堆管理用于管理一段连续的内存空间,如下图所示,RT-Thread 将“ZI 段结尾处” 到内存尾部的空间用作内存堆。 小内存管理算法主要针对系统资源比较少,一般用于小于 2MB 内存空间的系统; slab 内存管理算法则主要是在系统资源比较丰富时,提供了一种近似多内存池管理算法的快速算法; RT-Thread 还有一种针对多内存...
(1)内存堆管理用于管理一段连续的内存空间如下图所示,RT-Thread 将“ZI 段结尾处” 到内存尾部的空间用作内存堆。 (2)在前面的其他笔记,都是从内部SRAM申请一块静态内存来作为内存使用。 1#if defined(RT_USING_USER_MAIN) && defined(RT_USING_HEAP) 2#define RT_HEAP_SIZE 6*1024 3/* 从内部SRAM申请...
同样的,在我们的STM32上也是可以进行分区管理的,这篇笔记我们来使用RT-Thread的FAL软件包来对我STM32片内FLASH及片外FLASH的分区管理。 FAL软件包介绍 FAL (Flash Abstraction Layer) Flash 抽象层,是 RT-Thread 的一个软件包,是对 Flash 及基于 Flash的分区进行管理、操作的抽象层,对上层统一了 Flash 及分区操...
RT-Thread 采用内核对象管理系统来访问 / 管理所有内核对象,内核对象包含了内核中绝大部分设施,这些内核对象可以是静态分配的静态对象,也可以是从系统内存堆中分配的动态对象。 通过这种内核对象的设计方式,RT-Thread 做到了不依赖于具体的内存分配方式,系统的灵活性得到极大的提高。
在使用RT-Thread内存管理相关接口的时候,为了确保系统稳定性,有以下注意事项: 1.由于系统为了保证内存在多线程的状态下能安全分配,引入了互斥操作,因此不能在中断服务程序里面分配或释放内存块,否则会引起当前线程被挂起。 2.在使用内存堆管理的时候,产生的内存碎片会在系统空闲线程运行的时候进行回收。
在使用RT-Thread内存管理相关接口的时候,为了确保系统稳定性,有以下注意事项: 1.由于系统为了保证内存在多线程的状态下能安全分配,引入了互斥操作,因此不能在中断服务程序里面分配或释放内存块,否则会引起当前线程被挂起。 2.在使用内存堆管理的时候,产生的内存碎片会在系统空闲线程运行的时候进行回收。 3.用户应用程...
RT-Thread 的线程调度器是抢占式的,主要的工作就是从就绪线程列表中查找最高优先级线程,保证最高优先级的线程能够被运行,最高优先级的任务一旦就绪,总能得到 CPU 的使用权。 当调度器调度线程切换时,先将当前线程上下文保存起来,当再切回到这个线程时,线程调度器将该线程的上下文信息恢复。
RT-Thread记录(二、RT-Thread内核启动流程 — 启动文件和源码分析 一、RT-Thread线程操作函数 RT-Thread线程操作包含:创建 / 初始化线程、启动线程、运行线程、删除 / 脱离线程。 1.1 动态创建线程 函数比较简单,具体的看注释就好(本文余下的函数介绍类似,看注释): ...