乐趣区

关于虚拟化:使用renode仿真开发OneOSLite物联网操作系统

1. 简介

上一篇文章见了,renode是什么,以及应用装置 renode 后,应用官网示例跑了一个最简略的零碎,并且有了串口输入。

此次,咱们应用 renode 来运行一款物联网操作系统OneOS-Lite

2.renode 官网

在此,咱们给出 renode 的官网网址:https://renode.io/,以及它的官网文档:https://renode.readthedocs.io/en/latest/

相干材料能够通过该网址进行查阅。如果须要该 renode 文档和中文翻译,欢送关注公众号 CMCC-OneOS,或者留言和我分割。

3.renode 根底操作

为了能更好的应用 renode,咱们在这里简略阐明一下 renode 的基本操作,来满足咱们的日常工作需要。

3.1 帮忙 help

相熟命令,最好的形式之一是巧用 help 命令。咱们能够间接在终端中间接输出 help 来查看它所反对的命令有哪些,也能够应用 help xxx 的形式来查看绝体某个命令的具体应用办法。

3.2 创立 Machine

monitor 中执行 mach create,将会创立一个新的machine,默认状况下,零碎会主动调配machineindex,从 0 开始计数,别离命名为 machine-0machine-1 等,并且会主动将 monitor 的上下文切换到新建的machine

如果须要指定 machine 的名字,能够执行命令mach create”xxx“,如下图:

3.3 装载 Platform

当实现 Machine 的创立之后,该 Machine 只有一个外设,即系统总线(Renode 中简写为 sysbus)。此时该 Machine 并不具备 CPU 和内存,因而还无奈执行任何代码。

咱们能够通过 peripherals 命令列出所有的外设,能够看到,此时只有 sysbus:

这时,咱们须要加载平台形容文件:machine LoadPlatformDescription @platforms/boards/stm32f4_discovery.repl

此时,再次查看外设。能够发现,蕴含串口 uart 等更多的外设信息。而咱们虚构的硬件平台也曾经初步实现。

3.4 加载程序

在实现平台的创立以及配置后,就能够将要运行的软件上载到平台上。Renode能够使得用户上载与在实在硬件上同样的软件可执行文件,无需批改或者从新编译。

加载 elf 文件到虚构的内存中,所用命令格局如下:sysbus LoadELF @my-project.elf

这里咱们应用的是 OneOS-Lite 下的 STM32F407VG-renode 我的项目,进入该我的项目中,编译生成 elf 文件。

3.5 运行程序

程序加载好当前,能够应用命令 start 让程序运行起来,咱们能够通过命令 showAnalyzer sysbus.uart1 关上串口,证实程序是跑起来了的!

4. 结语

通过 renode,咱们让 OneOS-Lite 这个超轻量的物联网操作系统跑在了虚构的硬件外面,这对咱们学习一款操作系统是十分无益的。

renode 的应用,能够让咱们更加理解硬件,OneOS-Lite则揭开了操作系统的神秘面纱。前面,咱们还会推出更多的相干文章,欢送关注。

5. 关注 && 分割

gitee:https://gitee.com/cmcc-oneos/OneOS-Lite

docs:https://oneos-lite.com/

公众号:CMCC-OneOS

退出移动版