Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
RT-Thread一般讨论
2.0.0 alpha 版中的 VMM
发布于 2014-04-08 18:07:18 浏览:4071
订阅该版
RT-Thread 2.0 [topic3483.html](https://club.rt-thread.org/ask/question/3483.html) 中的一个重要的组件是之前在开发者大会上介绍过的 VMM(Virtual Machine Module)。它可以让 RT-Thread 同时运行在一个 CPU 上。同时,RT-Thread 接管中断,Linux 作为优先级最低的任务运行。Linux 内部只会关闭虚拟中断,不会关闭硬件中断,所以极大的增强了系统的实时性。 在第一个 alpha 预览版中,就已经包含了 demo 代码。暂时只支持 Linux 3.8 系列的内核。内核补丁在 components/vmm/linux_patch-v3.8/ 目录下,可以直接用 `git am *.patch` 来打补丁。然后配置内核: ![config.png](/uploads/3646_bf7bb2988810c8085f9497beff9f4e78.png) Linux 需要 rootfs 才能够启动,一个比较简单的方法是使用 buildroot。关于 buildroot 的使用在这里就不详细解释了。 然后像其他 bsp 一样编译 realview-a8。然后在 buildroot 的 output/target 目录下建立一个 vmm 目录,把 bsp 中生成的 rtthread.bin 复制进去。同时编译 bsp/realview-a8/linux_vmm/ 内核模块用于加载 RT-Thread,并且把模块复制进 output/target 的 root 用户目录。然后重新生成 rootfs 镜像。bsp/realview-a8 中有一个帮助脚本 mk.sh 可以自动完成上述操作。也可以下载网盘 ( [http://pan.baidu.com/s/1jG9MZ2m#dir/pat ... 2014-04-08](https://club.rt-thread.org/ask/question/3483.html) ) 中的二进制文件。 准备好之后给 qemu 指定好 kernel 和 initrd 启动就好~需要注意的是系统中需要两个串口,所以需要给 qemu 传递两个 -serial 参数。Linux 启动之后需要加载 rtvmm.ko 模块来启动 RT-Thread: ![vmm1.png](/uploads/3646_69a942074e8d67a7aaca349a60d08482.png) 上图是把第二个串口,也就是 RT-Thread 用到的串口重定向到 stdio,Linux 用第一个串口,可以看到,两个系统已经同时运行了。
查看更多
9
个回答
默认排序
按发布时间排序
jeffwei
2014-04-08
这家伙很懒,什么也没写!
很是期待,不过目前不是很明白linux怎么和RTT之间怎么传输数据之类,等下半年有时间再好好看看代码吧
geniusgogo
认证专家
2014-04-09
这家伙很懒,什么也没写!
>Linux 启动之后需要加载 rtvmm.ko 模块来启动 RT-Thread --- 这个原理不明白,linux启动之后再加载RT-Thread,那又是如何让RT-Thread来控制所有的硬件中断,并将Linux此时作为一个最低优先级的任务来运行的? [s:179] 好想知道啊!
jeffwei
2014-04-09
这家伙很懒,什么也没写!
估计这就是2个系统之间的交互了,即linux内核通过rtvmm.ko 模块来和RTT交互
weety
2014-04-09
这家伙很懒,什么也没写!
能否先启动RT-Thread,然后再启动linux,这样系统启动也更快些,RT-Thread可以先启动干活了。
bernard
2014-04-10
这家伙很懒,什么也没写!
>能否先启动RT-Thread,然后再启动linux,这样系统启动也更快些,RT-Thread可以先启动干活了。 --- 是的,这是一个非常值得探讨的话题。
grissiom
2014-04-10
这家伙很懒,什么也没写!
>>Linux 启动之后需要加载 rtvmm.ko 模块来启动 RT-Thread > >--- > > >这个原理不明白,linux启动之后再加载RT-Thread,那又是如何让RT-Thread来控制所有的硬件中断,并将Linux此时作为一个最低优先级的任务来运行的? [s:179] 好想知道啊! --- 嗯,有些东西是动态切换的 [s:154]
ljt8015
2014-04-14
这家伙很懒,什么也没写!
RT-Thread 相当于 linux的一个实时内核补丁,是这意思吧?
grissiom
2014-04-14
这家伙很懒,什么也没写!
应该也不算是实时补丁,因为他并不是为了要增强 Linux 的实时性。而是通过让两个系统并存,使得 RT-Thread 能够处理实时任务的同时,Linux 也能够工作。
撰写答案
登录
注册新账号
关注者
0
被浏览
4.1k
关于作者
grissiom
这家伙很懒,什么也没写!
提问
19
回答
819
被采纳
0
关注TA
发私信
相关问题
1
有关动态模块加载的一篇论文
2
最近的调程序总结
3
晕掉了,这么久都不见layer2的踪影啊
4
继续K9ii的历程
5
[GUI相关] FreeType 2
6
[GUI相关]嵌入式系统中文输入法的设计
7
20081101 RT-Thread开发者聚会总结
8
嵌入式系统基础
9
linux2.4.19在at91rm9200 上的寄存器设置
10
[转]基于嵌入式Linux的通用触摸屏校准程序
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
在RT-Thread Studio中构建前执行python命令
2
研究一了一段时间RTT,直接标准版上手太难,想用nano,但又舍不得组件
3
CherryUSB开发笔记(一):FSDEV USB IP核的 HID Remote WakeUp (USB HID 远程唤醒) 2025-01-18 V1.1
4
RT-thread 缩写字典
5
RT Thread 源码分析笔记 :线程和调度器
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
Bootloader
AT
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
I2C_IIC
ESP8266
UART
WIZnet_W5500
ota在线升级
PWM
cubemx
flash
freemodbus
BSP
packages_软件包
潘多拉开发板_Pandora
定时器
ADC
flashDB
GD32
socket
编译报错
中断
Debug
rt_mq_消息队列_msg_queue
SFUD
msh
keil_MDK
ulog
MicroPython
C++_cpp
本月问答贡献
用户名由3_15位
7
个答案
1
次被采纳
bernard
4
个答案
1
次被采纳
xusiwei1236
3
个答案
1
次被采纳
踩姑娘的小蘑菇
1
个答案
1
次被采纳
张世争
1
个答案
1
次被采纳
本月文章贡献
聚散无由
2
篇文章
14
次点赞
catcatbing
2
篇文章
4
次点赞
Wade
2
篇文章
2
次点赞
Ghost_Girls
1
篇文章
5
次点赞
xiaorui
1
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部