The ESP32 is a popular microcontroller from Espressif that can be used in many embedded applications. Robotic joints, smart car chargers, beer vat agitators and automated bread mixers are a few examples where this system-on-a-chip excels. It is cheap to buy and has a number of vendors providing low-cost development board kits that come with the microcontroller and many external connection points with peripherals. There is a large software ecosystem for the ESP32. Espressif maintains an SDK containing many C-language sample projects providing a starting point for a huge variety of software services and I/O needs. Third party projects provide additional sample code as well as support for other programming languages. For example, MicroPython is a mature project with sample code and officially supported by Espressif. The SDK provides tools to not just build an application but also merge a flash image, flash to the microcontroller and monitor the output. Is it possible to build the ESP32 load and emulate on another host OS? This paper explores the QEMU emulator and its ability to emulate the ethernet interface for the guest OS. Additionally, we look into the concept of containerizing the entire emulator and ESP32 load package such that a microcontroller flash image can successfully run with a one-step deployment of a Docker container.
翻译:ESP32是Espressif的一种流行微控制器,可以用于许多嵌入式应用程序。机器人关节,智能汽车充电器,啤酒缸搅拌器和自动面包搅拌机是这种系统级芯片的几个优点。它价格便宜,有许多供应商提供低成本的开发板套件,其中包括微控制器和许多外部连接点。对于ESP32,有一个巨大和完善的软件生态系统。Espressif维护着一个SDK,其中包含许多C语言示例项目,提供了众多的软件服务和I/O需求的起点。第三方项目提供了额外的示例代码,以及对其他编程语言的支持。例如,MicroPython是一个成熟的项目,有样例代码并得到Espressif的官方支持。SDK不仅提供构建应用程序的工具,还提供合并闪存映像、烧录到微控制器和监视输出的工具。本文研究了QEMU模拟器及其在客户机操作系统中模拟以太网接口的能力。此外,我们还探讨了将整个模拟器和ESP32负载软件包容器化的概念,以便可以通过一步部署Docker容器成功运行微控制器闪存映像。