Hempl/Software

From Wikibooks, open books for an open world
< Hempl
Jump to: navigation, search

Mizar32 software[edit]

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[edit]

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[edit]

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[edit]