一、动态内存管理 动态内存管理是一个真实的堆(Heap)内存管理模块,可以在当前资源满足的情况下,根据用户的需求分配任意大小的内存块。而当用户不需要再使用这些内存块时,又可以释放回堆中供其他应用分配使用。RT-Thread系统为了满足不同的需求,提供了两套不同的动态内存管理算法 ...
导读 前文描述了栈的基本概念,本文来聊聊堆是怎么会事儿。RT Thread 在社区广受欢迎,阅读了其内核代码,实现了堆的管理,代码设计很清晰,可读性很好。故一方面了解RT Thread内核实现,一方面可以弄清楚其堆的内部实现。将学习体会记录分享,希望对于堆的理解及实现有一个更深入的认知。 注,文中代码分析基于rt thread v . . 版本。 什么是堆 C语言堆是由malloc ,callo ...
2020-05-25 00:39 0 588 推荐指数:
一、动态内存管理 动态内存管理是一个真实的堆(Heap)内存管理模块,可以在当前资源满足的情况下,根据用户的需求分配任意大小的内存块。而当用户不需要再使用这些内存块时,又可以释放回堆中供其他应用分配使用。RT-Thread系统为了满足不同的需求,提供了两套不同的动态内存管理算法 ...
一、前言 rt-thread采用软件定时器线程模式或硬件定时器中断模式来实现系统定时器管理。而rt-thread操作系统在默认情况下是采用的硬件定时器中断模式的方式,用户可以通过宏定义RT_USING_TIMER_SOFT来修改定时器管理模式。 硬件定时器中断模式是利用MCU芯片本身提供的硬件 ...
在Rt-thread中,定义了一个全局的系统定时器列表,当线程需要挂起的时候,就把线程内置的定时器将线程挂起到这个系统定时器列表中。这个列表维护一条双向链路,节点按照定时器的延时时间大小进行升序排列。定时器列表的定义如下: static rt_list_t rt ...
这篇文章最初发布在RT-Thread官方论坛中,最近准备整理放到博客中来让更多人一起探讨学习。 2012年9月28日星期五 前言: 母语能力有限 概述: 这篇文字和大家分享一下今晚对RT-Thread的内存管理——小内存管理算法的理解。若有不对的地方请大家丢砖。 正文: 分析 ...
RT-Thread nano版本:小资源场景的MCU用于简单控制 RT-Thread宏内核版本:中等规模的IoT节点 RT-Thread Smart(混合微内核版本):功能丰富的智能设备,主要面向带MMU的中高端处理器 关于宏内核与微内核: 宏内核:用户应用程序是通过系统调用 ...
为了让广大开发者更好、更方便地使用 BSP 进行开发,RT-Thread 开发团队重新整理了现有的 STM32 系列的 BSP,推出了新的 BSP 框架。新的 BSP 框架在易用性、移植便利性、驱动完整性、代码规范性等方面都有较大提升,在新的 BSP 框架下进行开发,可以大大提高应用的开发效率 ...
一个操作系统如果只是具备了高优先级任务能够“立即”获得处理器并得到执行的特点,那么它仍然不算是实时操作系统。因为这个查找最高优先级线程的过程决定了调度时间是否具有确定性,例如一个包含n个就绪任务的系统中,如果仅仅从头找到尾,那么这个时间将直接和n相关,而下一个就绪线程抉择时间的长短将会 ...
RT-Thread是一个国产开源的实时操作系统,支持MCU多,外设丰富。值得学习 下载地址:http://www.rt-thread.org/page/31.html ,解压可以得到一下目录结构:|-- bsp|-- components|-- documentation ...