完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
1、RT-Smart的启动过程
在熟悉 RT-Smart 架构的过程中,研究其启动过程的是必不可少的,那么在系统正常运行之前,需要做哪些准备工作呢。本文将以 32 位 RT-Smart 的源代码为基础,讲解 RT-Smart 的启动过程。 内核地址空间 RT-Smart 与 RT-Thread 的一大区别是用户态和内核态的地址空间被隔离开来。内核运行在内核地址空间,用户进程运行在用户地址空间。由下图可知,RT-Smart 32 位内核运行在地址空间的高地址,而用户程序代码运行在低地址。
RT-Smart的启动过程.pdf
(205.85 KB, 下载次数: 2
)
2、RT-Smart物理页内存管理详解 伙伴系统在现代操作系统中被广泛地用于分配连续的物理内存页。其基本思想是将物理内存划分成连续的块,以块作为基本单位进行分配。不同块的大小可以不同,但每个块都由一个或多个连续的物理页组成,物理页的数量必须是 2 的 n 次幂( 0 <= n < 预设的最大值),其中预设的最大值将决定能够分配的连续物理内存区域的最大大小,一般由开发者根据实际需要指定。当一个请求需要分配 m 个物理页时,伙伴系统将寻找一个大小合适的块,该块包含 $2^n$ 个物理页,且满足 $2^{n-1} < m < 2^n$。在处理分配请求的过程中,大的块可以分裂成两半,即两个小一号的块,这两个块互为伙伴。分裂得到块可以继续分裂,直到得到一个大小合适的块去服务相应的分配请求。在一个块被释放后,分配器会找到其伙伴块,若伙伴块页处于空闲的状态,则将这两个伙伴块进行合并没形成一个大一号的空闲块,然后继续尝试向上合并。由分裂操作和合并操作都是级联的,因此能够很好地缓解外部碎片的问题。 下图表达了伙伴系统的基本思想,基于伙伴块进行分裂与合并。
RT-Smart物理页内存管理详解.pdf
(178.6 KB, 下载次数: 3
)
3、使用GDB对RT-Smart进行代码调试的方法 在开发的过程中,有时没有现成的图形化开发环境,想要进行调试时,需要使用 GDB 直接进行代码调试。本文档记录了以 RT-Thread qemu-vexpress-a9 BSP 为例,使用 GDB 对 RT-Smart 进行代码调试的方法。
使用GDB对RT-Smart进行代码调试的方法.pdf
(574.75 KB, 下载次数: 1
)
|
|
相关推荐
|
|
788 浏览 0 评论
4271 浏览 0 评论
如何使用python调起UDE STK5.2进行下载自动化下载呢?
2529 浏览 0 评论
开启全新AI时代 智能嵌入式系统快速发展——“第六届国产嵌入式操作系统技术与产业发展论坛”圆满结束
2929 浏览 0 评论
获奖公布!2024 RT-Thread全球巡回线下培训火热来袭!报名提问有奖!
31479 浏览 11 评论
72907 浏览 21 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 09:22 , Processed in 0.507264 second(s), Total 38, Slave 28 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号