技术文章
基于iSystem仿真腾锐D2000芯片运行天脉Linux操作系统
导言
iSystem VDVP是由上海创景信息科技有限公司开发的虚拟开发和验证平台,该平台通过虚拟软件仿真目标系统硬件,运行于主机平台以仿真嵌入式目标系统的功能行为。iSystem VDVP使得开发人员如同在真实目标系统上一样在虚拟平台上进行嵌入式软件(如BSP、固件、RTOS和应用程序等)的开发,目标机软件代码可以不加修改地在虚拟系统中直接运行,并可以得到与在真实系统中运行相同的结果,实现目标代码在虚拟目标机与真实目标机上运行完全兼容,从而帮助开发人员更快地开发、测试和调试嵌入式系统。iSystem VDVP可以模拟多种硬件,包括处理器、内存、I/O设备和外设以及它们之间的交互;同时可以支持多种操作系统,包括Linux、VxWorks、FreeRTOS、天脉、翼辉等。
飞腾腾锐D2000 是一款国产的面向桌面应用的高性能通用处理器,集成8个飞腾自主研发的新一代高性能处理器内核FTC663,采用乱序四发射超标量流水线,兼容64位ARMV8指令集并支持ARM64和ARM32两种执行模式;最高主频 2.3GHz;支持单精度、双精度浮点运算指令和ASIMD处理指令;支持硬件虚拟化;集成系统级安全机制,能够满足复杂应用场景下的性能需求和安全可信需求;支持商业档和工业档质量等级。该产品适用于构建有更高性能、能耗比和安全需要的桌面终端、便携式终端、轻量级服务器和嵌入式低功耗产品。
天脉Linux操作系统(Acore Linux)是中航工业计算机所开发的我国国产机载操作系统。
本案例演示使用iSystem VDVP搭建国产芯片飞腾D2000的虚拟目标系统并运行天脉Linux操作系统的过程。
一、搭建虚拟目标系统
通过iSystem图形化建模界面,根据目标硬件芯片结构搭建出仿真芯片模型,本次仿真的D2000国产芯片模型中包含核心D2000 8核、DDR、QSPI FLASH、UART、VGA等模块。
首先打开vdvp工具,创建测试工程。
然后开始构建芯片模型。
双击左侧逻辑视图中BoardàACore_Linux,打开ACore_Linux建模画布。右侧设备视图中列出了所有可用的模块,分别选择D2000 Core、Peri D2000、Common Memory、NVMe、VirtualSerialPort、VGA standard、Virtual Ethernet Switch等所需的设备模块拖拽到建模画布当中,然后通过连线将模块间的对应接口连接起来,最后配置Common Memory的起始地址和长度,这样一个虚拟目标系统就搭建起来了。
二、运行虚拟目标系统
首先配置模型运行所需的启动文件、操作系统镜像及配置文件等。在处理器属性视图中打开“镜像文件”选项卡,点击“添加”分别配置天脉Linux系统运行所需的uboot.bin、Image以及pcie配置文件、VGA模型配置文件等可执行程序及配置文件的存放路径。
配置完成后,通过快捷键F4或菜单栏选择”调试à操作模式”切换至iSystem的运行模式,若系统正常运行,则串口终端将显示出u-boot启动日志,进入u-boot命令行。
最后需要在u-boot命令行输入Linux系统启动命令,运行Linux并自动加载Linux根文件系统,启动完成会进入shell命令行模式。
启动过程中,串口终端将显示出系统启动日志。
同时VGA模型会显示天脉Linux的启动界面。
通过上述操作,天脉Linux操作系统在D2000虚拟仿真平台上就正常运行起来了,其后用户便可以进行应用程序的开发并在仿真系统上面进行调试。
三、虚拟目标系统的调试
iSystem VDVP自身具有系统调试功能,可以进行故障注入、查看内存值和反汇编,同时支持修改设备寄存器以及处理器寄存器数据,辅助开发人员定位问题,在软件集成前尽可能地发现错误,有效降低开发成本。
技术文章