~fitzsim/lisp-badge

Alternate build method for the Technoblogy Lisp Badge code
Remove PROGMEM where it replaced PGM_P
Move variables from README.md to Makefile
Import lisp-badge 3.6

refs

build-on-debian
browse  log 

clone

read-only
https://git.sr.ht/~fitzsim/lisp-badge
read/write
git@git.sr.ht:~fitzsim/lisp-badge

You can also use your local clone with git send-email.

#Lisp Badge

A handheld computer with a self-contained keyboard and display that you can program in Lisp.

For information about building the Lisp Badge see: http://www.technoblogy.com/show?2AEE

For information about programming the Lisp badge see: http://www.ulisp.com/show?2L0C

#Command Line Procedures

#Install dependencies

sudo apt install \
	arduino \
	arduino-mk \
	arduino-mighty-1284p \
	gcc-avr \
	avrdude

#Build .hex file

make

#Burn bootloader using USBasp programmer in 3.3V mode

make burn_bootloader

The booloader is from https://github.com/mcudude/MightyCore commit aee6e5314769bab880ad4109b2d57eb3918f90ff.

You can override ISP_PROG and AVRDUDE_OPTS on the make command line if you have another programmer.

#Build and load lisp-badge.hex using 3.3V FTDI Basic Breakout from Sparkfun

make upload

This method assumes the bootloader has already been installed.

Override MONITOR_PORT on the make command line if autodetection of the tty device fails.

#Build and load lisp-badge.hex using USBasp programmer in 3.3V mode

make ispload

This method can be useful for flashing uLisp if you want to reuse the usbasp for programming the payload, e.g., if you do not have a serial programmer like the Sparkfun one.

Beware though that this method overwrites the bootloader; i.e., it writes uLisp to the board such that uLisp will be run directly after power on.

Without the bootloader to talk to, avrdude won't work, so e.g. issuing:

make upload

will result in this error condition:

avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x00
[...]

To make serial programming work again, you have to reflash the bootloader.

#Testing environment

Tested on Debian GNU/Linux ppc64le (aka ppc64el) bullseye/sid, with package versions:

Package Version Package Version
arduino 1.0.5 2:1.0.5+dfsg2-4.1
arduino-mk 1.5.2 1.5.2-2
arduino-mighty-1284p 1 1-3
gcc-avr (provides avr-gcc) 5.4.0 1:5.4.0+Atmel3.6.1-2
avrdude 6.3-20171130 6.3-20171130+svn1429-2+b1