完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
RTT构建的混合内核的看法 一般的在 ARM Cortex-A 等处理器中,代码都是会被加载到 DRAM 中执行,而不是直接在 Flash 上执行,所以系统的启动时间将大部分的受加载时间的影响。 而在一些情况下,如果系统启动时间可以足够短时,设备低功耗也将易于实现(例如主控处理器在不使用的情况下直接进行掉电,当需要的时候再迅速启动进行工作)。 同时,RT-Thread在面向资源丰富类型的处理器时也需要一个更完善、完整的 POSIX 平台,能够更好的兼容 Linux 等 UNIX 操作系统的代码。 基于这些原因的情况下,所以RT-Thread引入了类微内核方式的架构,而考虑到微内核IPC性能的缘故,最终考虑采用混合内核的架构,这个新的架构被命名成 RT-Thread Smart 。因为类微内核架构的引入,也带来了更多的优点: 整体系统更为安全,应用与内核、与服务之间可以有内存的安全隔离; 应用与内核分离来进行开发、调试,在开发、维护的角度上更方便,更容易; 在支持的硬件平台上,RT-Thread Smart被设计成主要支持 ARM Cortex-A 处理器,同时兼顾 ARMCortex-M 、 RISC-V 等处理器架构。对于可以 XIP 执行的硬件平台(例如 ARM Cortex-M 系列),主要看中其独立开发性,并具备一定的安全隔离功能(通过 MPU 内存保护单元)。 RT-Thread Smart的框架 RT-Thread Smart 框架图: 在整体系统中,运行状态被分离成内核态和用戶态,内核中只包含基础性的服务 进程管理(及多线程调度); 文件系统接口( DFS ); BSD socket 接口( SAL/socket ); 设备驱动框架接口; 可选的设备驱动(如 UART , GPIO , IIC 等); 如下图: 而在用戶态中,也包括了一些具体的实现,例如文件系统的实现,网络协议栈的实现等: 具体的文件系统实现,例如 FAT 文件系统 elmFATKit ; 具体的 TCP/IP 网络协议栈实现,例如 lwIP 轻型网络协议栈 lwIPKit ; 图形用戶界面( GUI )实现 - PersimKit ; 音频流媒体播放器服务 - AudioKit ; 以及一些用戶态驱动: USB 、 LCD 等驱动; **RT-Thread Smart的工程 目前RTT还没将内核源码开源,不过据RTT的老大说,RT-Thread Smart的内核源码后续将开源。目前的内核是官方编译好的镜像。目前内测版本,还没开源,如果大家想尝试,敬请期待。作者会同步更新最新的版本。其工程目录如下: 默认的工程中提供几个应用程序例子: RT-Thread Smart的工程 RT-Thread Smart工程:下载地址(待开源) 交叉编译链 树莓派镜像:从官网下载。 scons工具: pip工具: 工程编译 编译env-cli环境(进入RT-Thread Smart的内核源码): 修改交叉编译链的GCC路径: 将上面的下载的交叉编译链解压,然后copy到opt目录: 修改工程目录下的.config。 应用程序编译(目前内核还没开源,所以不用编译,内核镜像已包含在工程目录下,直接使用): 烧录树莓派镜像 插入sd盘,如果是虚拟机,需要将sd挂载虚拟机上。然后执行命令: 替换RT-Thread Smart内核镜像 树莓派镜像烧录成功之后,将树莓派sd卡中的kernel7.img微内核版本的kernel录中的kernel7.img替换即可。RT-Thread Smart内核目录(rtthread-microkernel-v2/kernel/kernel7.img),然后将sd插到树莓派上。 连接串口 树莓派gpio14和gpio15作为串口信号线,连接如下: 串口参数: 波特率:115200 数据位:8 停止位:1 奇偶校验:无 流控:无 然后插上电源,启动。 显示出RTT的logo就说明成功了。 应用例子示范 上面我们提到,RT-Thread Smart工程中提供了几个例子。直接拿例子来演示。重新将sd插到电脑。然后将hello例子拷贝到sd卡(hello world可执行文件(hello.elf)路径:rtthread-microkernel-v2/root/bin)然后重新将sd卡插到树莓派上。 验证: |
|
相关推荐
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1090 浏览 0 评论
IaaS+on+DPU(IoD)+下一代高性能算力底座技术白皮书
2121 浏览 0 评论
飞凌嵌入式-ELFBOARD 常用的USB接口及其不同版本介绍第1期
1079 浏览 0 评论
【Vision Board创客营连载体验】RA8D1-Vision Board上OSPI-Flash实践
1551 浏览 0 评论
I.MX6ULL-飞凌 ElfBoard ELF1板卡- 应用层更改引脚复用的方法
3767 浏览 0 评论
65329 浏览 21 评论
嵌入式热门DIY项目:智能机器人开源资料合集(原理图、代码、论文)
67817 浏览 22 评论
57877 浏览 32 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-19 05:24 , Processed in 0.766138 second(s), Total 65, Slave 48 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191