TI教室 >
产品 >
处理器 >
Sitara 处理器 >
ARM Cortex-A15 >
在 Sitara AM572x 参考设计上演示 Jailhouse Hypervisor 虚拟化 > 在Sitara AM572x参考设计上演示Jailhouse Hypervisor虚拟化
- 课程目录
- 相关资源
- 课程笔记
大家好。
该视频演示了如何
在Sitara AM572x ARM plus DSP处理器上测试
Linux Jailhouse Hypervisor Virtualization的参考设计。
此参考设计适用于
需要集成使用裸机或RTOS构建的
实时组件的嵌入式应用程序,
以及提供云连接或图形
接口的Linux组件。
有关其他详细信息,请在显示的链接中
下载此TI设计的参考指南。
Jailhouse是一个开源的静态分区管理程序,
运行裸机二进制文件。
它与Linux密切合作。
Jailhouse不会模拟硬件上
不存在的资源。
它只是将现有的硬件资源
分成称为单元的隔离隔间。
其中一个单元运行Linux操作系统,
称为根单元。
其他非根单元在创建根单元时
从其中借用CPU和设备。
这些非根单元被称为囚犯。
在我们开始演示之前,
让我们看一下Jailhouse Hypervisor
初始化过程。
AM572x有两个ARM 15内核。
在初始引导时,Linux使用两个ARM内核。
启用Jailhouse Hypervisor后,
Linux将移至根单元,
后者仍使用两个ARM内核。
当为犯人创建一个新单元时,
Jailhouse Hypervisor将CPU_down称为ARM 1核心,
而Linux仅在ARM 0上运行。
新单元使用专用于此单元的
ARM 1内核和硬件资源,如单元
配置文件中所定义。
现在,让我们继续演示。
首先,我们将设置硬件。
接下来,我们将安装所有
必需的软件并准备带有预建图像的SD卡。
然后我们将在安装了SD卡的情况下启动电路板。
最后,我们将启动Jailhouse,
然后验证根单元和囚犯是否正常运作。
让我们从硬件设置开始。
这个Jailhouse Hypervisor演示
在AM5728 EVM和AM5728
工业开发套件(也称为IDK)上运行。
在此视频中,使用了AM5728 EVM。
主机可以是配备以太网
和USB的Windows或Linux机器。
主机上需要Telnet和串口控制台程序,
例如PuTTY。
首先,将EVM和主机连接到同一个以太网LAN。
然后,使用USB转micro USB线
将EVM连接到主机。
从主机连接USB电缆时,
检查哪个COM端口可见。
在这个例子中,为COM3。
然后,在主机上打开一个控制台,
显示终端仿真器参数。
处理器SDK Linux中
可以从4.0版开始使用所有必需的监狱软件,
可以使用预先构建的SD卡映像
运行。
出于演示的目的,
假设您已经在AM5728 EVM上
安装并启动了Processor SDK Linux。
Jailhouse 由三部分组成。
内核模块,管理程序固件和工具,
用户使用它们来启用管理程序,创建单元,
加载二进制文件,运行和停止它。
这些监狱软件元素中的
每一个都可以在所示目录中找到。
需要修改引导参数才能
使用Jailhouse。
首先,我们将修改引导参数,
将连续的虚拟内存从默认的240兆字节
增加到512兆字节。
接下来,我们将修改引导参数,
以识别演示中使用的
EVM的正确设备树。
好。
所以我们现在已经使用Processor SDK Linux 4.0
预制SD卡启动了AM5728 EVM。
让我们使用命令
cat/proc/meminfo检查内存参数。
请注意,分配的虚拟内存
总量为240 MB,这是默认值。
让我们重启电路板。
然后,停止启动以访问U-Boot shell。
现在,让我们使用命令printenv args_mmc
修改引导参数。
首先,我们使用命令setenv args_mmc
修改引导参数
以分配更多虚拟内存,并显示参数。
接下来,我们使用命令setenv findfdt
修改引导参数以
识别正确的设备树,并显示所示参数。
在这种情况下,AM5728 EVM的设备树
是am572x-evm-jailhouse.dtb。
修改引导参数后,
使用saveenv存储修改
并继续引导过程。
引导过程完成后,
登录并检查内存参数。
如您所见,现在已经为虚拟内存
分配了512兆字节。
我们现在准备开始监狱演示。
显示的命令用于插入内核模块,
启用管理程序,为囚犯创建单元,
加载裸机二进制文件,以及启动二进制文件。
在主机上打开Telnet窗口
以访问EVM并启动Jailhouse。
首先,让我们使用modprobe jailhouse
命令插入内核模块。
接下来,我们使用jailhouse enable
命令启用管理程序。
这初始化了管理程序。
然后,我们使用jailhouse cell create
命令为囚犯创建一个单元格。
CPU 1关闭,并创建单元。
然后,使用jailhouse cell load命令加载裸机
二进制文件。
现在可以加载单元格了。
最后,我们使用jailhouse cell start命令启动
二进制文件。
如您所见,单元格现已启动。
现在,让我们验证一切正常。
裸机示例应用程序
现在在核心1上运行,并拥有UART,
定时器和相关中断。
Linux继续利用CPU 0运行,
并控制AM5728的其余部分。
这可以通过启动矩阵用户界面中的
任何示例来验证,
该界面将与囚犯并行运行。
以上是Sitara AM572x上Linux Jailhouse Hypervisor
虚拟化的演示。
有关更多信息,请参阅显示的链接。
感谢您抽出宝贵时间观看此演示。
如果您有任何疑问,请在德州仪器
E2E论坛e2e.ti.com上发布。
课程介绍
共计1课时,8分26秒
猜你喜欢
换一换
推荐帖子
- 给PCF8563写数据,程序出错,麻烦大家给瞧瞧
- #include <msp430x54x.h> #define SDA_1 P3OUT |= BIT7 //SDA = 1#define SDA_0 ...
- zzbaizhi 微控制器 MCU
- 关闭DSP外设时钟后,3.3V电流为何没有减少。
- 为了减小DSP(TMS320F2803x)功耗,程序中将没有用到的外设时钟关闭,但是测下来,电流并没有减少。 不知道有没有人用过这个降低功耗的办法。 ...
- 喜鹊王子 TI技术论坛
- G2553 模拟IIC问题,高手进
- //产生IIC起始信号 void IIC_Start(void) { SDA_OUT(); //sda线输出 IIC_SDA_1; IIC_SCL_1; delay_us(5); IIC_SDA_0;//START:when CLK is high,DATA change for...
- 两个人的烟火 微控制器 MCU
- MSP430F5438A中断系统
- 1、MSP430F5438A有三个定时器: TA0、TA1 和 TB0。2、CCR0单独用一个中断向量,且优先级最高。其他CCR1--CCR5用公用一个中断向量。33、中断向量:[cpp] view plain copy #define TIMER1_A1_VECTOR (48 * 2u) /* 0xFFE0 Timer1_A3 CCR1-2, TA1 */&nbs...
- fish001 微控制器 MCU