ESP32: QEMU Emulation within a Docker Container

03/17/2023
by   Michael Howard, et al.
0

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.

READ FULL TEXT

page 2

page 3

page 4

page 5

page 6

research
07/27/2023

Multilingual Code Co-Evolution Using Large Language Models

Many software projects implement APIs and algorithms in multiple program...
research
05/29/2023

Promises and Perils of Mining Software Package Ecosystem Data

The use of third-party packages is becoming increasingly popular and has...
research
02/28/2019

EyeDoc: Documentation Navigation with Eye Tracking

We demonstrate EyeDoc, a tool for navigating software documentation with...
research
03/08/2021

Sampling Projects in GitHub for MSR Studies

Almost every Mining Software Repositories (MSR) study requires, as first...
research
04/28/2023

CarGameAR: An Integrated AR Car Game Authoring Interface for Custom-Built Car Programed on Arduino Board

In this paper, we present CarGameAR: An Integrated AR Car Game Authoring...
research
02/24/2021

Hero: On the Chaos When PATH Meets Modules

Ever since its first release in 2009, the Go programming language (Golan...
research
10/06/2013

Impacting the bioscience progress by backporting software for Bio-Linux

In year 2006 Bio-Linux with the work of Tim Booth and team gives its ris...

Please sign up or login with your details

Forgot password? Click here to reset