411 REFERENCE · Wikibooks
Hempl/Software
Reference material by Wikibooks contributors. This retains its source identity and is not 411 news reporting.
Mizar32 software
Two pieces of software are factory-programmed into the Mizar32's flash memory:
The tiny (8KB) USB DFU bootloader
The Hempl system
The DFU bootloader
When the Mizar32 powers on or when its Reset button is pressed, the DFU bootloader is the first program that it runs.
This checks if the user button is pressed and, if it is, allows you to update the rest of the firmware from your PC.
If it isn't, it runs:
Hempl
Hempl is recursive for Hempl's embedded mini PicoLisp.
It is a software system for natively programming microcontrollers
(interactively and incrementally) using PicoLisp. Hempl can read
S-expressions from a micro SD card or from the console (over UART, USB
or Telnet).
Hempl is influenced by and is a fork of the eLua project. For now, it
runs on the following hardware platforms:
Mizar32 models A, B and C from SimpleMachines, Italy
STM3210E evaluation board (STM32F103ZE) and ET-STM32 stamp board
It implements:
Modified miniPicoLisp (See the PicoLisp reference for details)
Support for
FAT filesystem on MMC/SD card
console on the RS232 serial port or on USB serial port
iv, a vi clone (running natively on Mizar32) for editing text files
Hardware driver modules: adc, i2c, pio, pwm, spi, tmr, uart
Extension modules: cpu, elua, pack, pd, term
TCP/IP Networking uIP module: net
Extension modules for the Mizar32 to drive the LCD character display and the Real Time Clock.
If you have the Mizar32 A or B models with 256KB or 512KB of flash, you can run the Hempl firmware out-of-the-box. If you have a 128KB flash Mizar32 C and you need to load a bigger Hempl image than will fit in 128K flash, you can still do it by loading the image from SDCard to SDRAM and executing it in SDRAM (with a speed penalty) using the emBLOD second-stage bootloader.
Further reading
Reviving Lisp for smaller programmable machines
The PicoLisp documentation.