Papers for

embedded systems developers

Papers whose findings have a practical use for this group, as judged from the abstract. Open a paper to read what it means in practice.

MicroHasTEE ensures safe hardware use for Armv8-M chips

MicroHasTEE: Bare-Metal Haskell for Type-Level Peripheral Ownership on Armv8-M

Abstract: Arm TrustZone for Armv8-M isolates Secure and Non-secure software, but developers must still coordinate peripheral attribution, interrupt routing, initialization, and gateway interfaces across separately built firmware images. Inconsistent assumptions between these images can compile successfully and emerge only as faults on the target device. We present MicroHasTEE, a multiparty programming framework that expresses both firmware applications as participants in one typed Haskell program. MicroHasTEE represents peripheral authority with type-level capability ledgers and uses indexed setup computations to track resource acquisition, configuration, transfer, and finalization. Domain-specific effect types restrict peripheral operations and interrupt callbacks to the participant that holds the corresponding authority, while typed callable handles describe the Secure services available to Non-secure code. MicroHs compiles the shared program twice to produce separate bare-metal Secure and Non-secure firmware images. We implement MicroHasTEE for an STM32U5 Nucleo board, including TrustZone configuration, peripheral drivers, and a serialized gateway for cross-domain Haskell calls. For programs expressed through its interface, MicroHasTEE rejects inconsistent resource use, attribution changes after configuration, callbacks in the wrong domain, and calls to unregistered Secure services. A door-lock case study demonstrates feasibility, with firmware images occupying 232.7 KiB and 228.4 KiB of flash and approximately 220 KiB of SRAM per domain.

Fri 11 SeptCryptography and SecurityComputer Science and Game Theory
The gist
Developing software that runs securely on specialized Armv8-M chips can be tricky because the secure and non-secure parts need to share hardware components without conflicts. The authors created MicroHasTEE, a tool that uses the Haskell programming language to let these parts be written together safely in one program, preventing errors that only show up when the software runs. It tracks which software part owns which hardware resource and stops mistakes like using the wrong device or calling a service incorrectly. Their system can produce separate secure and non-secure firmware images that work correctly on real hardware. They demonstrated this with a smart door-lock example.
Open 2609.12580v1

Violet enables running real-time OS on risc-v virtual machines

Violet: Enabling Full Virtualization for M-mode RTOS on RISC-V

Abstract: In embedded systems, complex configurations may be required, such as the simultaneous execution of a real-time operating system (RTOS) and a general-purpose operating system (GPOS), or the operation of multiple RTOS instances. Embedded system hypervisors have been studied and developed to meet these requirements for architectures like ARM and x86. RISC-V is experiencing growing adoption in embedded systems and faces similar needs. However, RISC-V's virtualization support targets only U-mode (where applications run) and S-mode (where general-purpose OSs run) as virtualization levels. The M-mode, where RTOSs like FreeRTOS or Zephyr run, is excluded from virtualization. This means that, similar to architectures like ARM, running an RTOS on a Virtual Machine (VM) using methods based on virtualization support features is impossible. Therefore, this paper proposes the Violet hypervisor. Violet combines RISC-V's virtualization features with software-based emulation, enabling the execution of unmodified M-mode RTOSs. Evaluation verified the validity of the M-mode emulation functionality using RISC-V architecture tests. Furthermore, this was implemented on the SiFive HiFive Premier P550 hardware, demonstrating that existing RTOSs can run on Violet's VM and that coexistence with GPOSs like Linux is also possible. The performance evaluation also quantified the overhead introduced by M-mode emulation on M-mode CSR accesses, timer interrupt latency, and context switching.

Wed 9 SeptOperating Systems
The gist
Running real-time operating systems (RTOS) that control hardware directly is tricky on RISC-V computers when using virtual machines, because the usual hardware support doesn't include the mode RTOSs run in. The authors created Violet, a system that mixes built-in virtualization with software tricks to let RTOSs run unmodified inside virtual machines on RISC-V. They tested Violet on real hardware and showed it can run these RTOSs alongside regular Linux operating systems. They also measured the performance costs introduced by their approach.
Open 2609.09833v1

FrogNano trains small coding agent with custom code tasks online

FrogNano: Training a 4B Coding Agent via Online Task Synthesis

Abstract: We present FrogNano, a 4B coding agent designed to tackle software engineering (SWE) tasks efficiently and effectively, even under resource-constrained environments. It is post-trained exclusively via RL on around 1,500 SWE environments with synthetic tasks. A key ingredient for improving performance is an online task synthesis pipeline that creates tasks calibrated to the frontier of learnability for the current checkpoint. This report provides evidence that competitive small coding agents can be trained with synthetic tasks alone, without traditional distillation from larger models, and that generating tasks at the learnability frontier of the current agent is important. We report details on the training methodology, evaluations across diverse environments, and in-depth analyses, serving as a foundation for our ongoing exploration of lightweight yet capable coding agents that can run on minimal hardware.

Mon 7 SeptArtificial Intelligence
The gist
Writing good coding assistants usually needs huge models or borrowing knowledge from big ones. This paper shows that a smaller 4 billion parameter coding agent called FrogNano can learn well by training only on computer-generated coding problems. The tricky part is creating tasks that are neither too easy nor impossible, matching the agent’s current skill level to keep improving. The authors show FrogNano works well on many coding challenges and can run with low computing power.
Open 2609.07925v1