Jump to content

Hempl

25% developed
From Wikibooks, open books for an open world

The PDF-able and printable collection for this book is at Wikibooks:Collections/Hempl.

Hempl

[edit | edit source]

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.

This manual currently focuses on running Hempl on the Mizar32.

Mizar32

[edit | edit source]
The Mizar32 main board
The Mizar32 Lisp machine running PicoLisp as its language

Congratulations! You have in your hands the manual for the Mizar32, a 32-bit computer based on the AVR32 processor at 66MHz with 32MB of main memory, mass storage on SD card, a USB connector, a light, two buttons, a JTAG port and six bus connectors. The bus connectors let you add other stackable hardware modules such as serial ports, ethernet, a 16x2 character LCD display and a VGA/keyboard/mouse/audio board based on the 8-core Propeller processor and your own custom boards.

Quick Start Guide

[edit | edit source]
Introduction
Quick start
Models and Specifications
Software architecture
Overview
Hardware subsystems and Hempl modules
ADC
CPU
Ethernet
I2C
LCD
PIO
PWM
RTC
SPI
Timers
UART
USB
Advanced topics
GPIO pin assignment
Memory map
Flash memory
Programming new firmware to the main board's flash memory
Compiling Hempl
The emBLOD second-stage boot loader

If you would like to help complete this book, there is a list of stuff to do.

Further reading

[edit | edit source]
  • Mizar32 is a book that focuses on the hardware; this "Hempl" book focuses more on developing software in the Hempl variant of Lisp.
  • Alcor6L is a multi-language IDE for natively programming microcontrollers (interactively and incrementally), supporting (among other languages and hardware) PicoLisp on Mizar32. Alcor6L is a fork of the eLua project.
  • Lua Programming
  • Lisp Programming