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秒
猜你喜欢
换一换
推荐帖子
- 请教:有关CMD文件的问题
- 在写CMD文件的时候,可以定义哪些段在哪个地址空间范围之内,而在C语言环境下也可以写#pragma CODE_SECTION来指定放在哪个段里面,不知道这两个会引起冲突吗?有必要在写程序的时候2个都写吗?是不是一般只写CMD文件就OK 了?...
- eugenew 模拟与混合信号
- 大的程序,该如何去调试
- 最近公司里,有个大的程序需要我去熟悉,这个程序是别人的程序,而且已经可以应用了,没有出现什么问题...... 现在我想去了解和调试这个程序,但不知道怎么去调试,因为程序很大,第一次接触大的程序,而且单片机也接触的时间不太长. 希望,在这个方面得到大家的帮助 谢谢...
- wangdian2010 微控制器 MCU
- 深夜求救:程序太大了?
- link后的信息为: 3 474 bytes of CODE memory 121 bytes of DATA memory (+ 21 absolute ) 1 796 bytes of CONST memory 烧录进去后 结果不正确 现象异常 用的是2K RAM 64K FLASH 是不是程序太大了?请教各位。...
- webnoise 微控制器 MCU
- 线性调频步进式合成孔径雷达系统的信号处理
- 摘 要:提高距离向分辨率通常要加大发射信号带宽,导致系统采样率和A/D变换速率很高,数据量剧增,影响数据的存储和及时处理"采用调频步进方法,发射一组步进频率间隔小于信号带宽的线性调频子脉冲,对其回波信号合成处理,可以提高距离向分辨率,同时避免上述问题"在分析线性调频步进脉冲提高距离向分辨率原理的基础上,分析采用该信号对SAR距离!方位向信号处理的影响,提出线性调频步进SAR系统的信号处理流程,并用...
- JasonYoo DSP 与 ARM 处理器