Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
%DASHBOARD{ section="banner" | ||||||||
Line: 11 to 11 | ||||||||
This is a very simple chase lighting program for the Elf Membership Card. It is mainly used for testing my RaspiElf tools. I use the A18 cross assembler (see below how to get and build the assembler): | ||||||||
Changed: | ||||||||
< < | pi@cosmac:~/elf/RaspiElf/chase $ a18 chase.asm -Lb1 chase.lst -o chase.hex | |||||||
> > | pi@cosmac:~/elf/RaspiElf/chase $ a18 chase.asm -Lb1 chase.lst -o chase.hex | |||||||
1802/1805A Cross-Assembler (Portable) Ver 2.5 Copyright (c) 1985 William C. Colley, III Copyright (c) 2017 Mark W. Sherman No Errors | ||||||||
Changed: | ||||||||
< < | ||||||||
> > | ||||||||
The cross assembler generates two output files: the object file (Intel hex file chase.hex ) and the listing file (chase.lst ). You can load the program into the Elf Membership Card the traditional way by setting the switches. Or upload it with the RaspiElf bin2elf tool. But for this we need a binary file first. A handy tool is Jacques Pelletier's Hex2bin (see below how to get and install Hex2bin). | ||||||||
Changed: | ||||||||
< < | pi@cosmac:~/elf/RaspiElf/chase $ hex2bin chase.hex | |||||||
> > | pi@cosmac:~/elf/RaspiElf/chase $ hex2bin chase.hex | |||||||
hex2bin v2.5, Copyright (C) 2017 Jacques Pelletier & contributors Allocate_Memory_and_Rewind: | ||||||||
Line: 36 to 36 | ||||||||
Records start = 00000000 Highest address = 0000002C Pad Byte = FF | ||||||||
Changed: | ||||||||
< < | ||||||||
> > | ||||||||
Line: 45 to 45 | ||||||||
How to build the A18 assembler for the Raspberry PiGet the source from the GIT repository: | ||||||||
Changed: | ||||||||
< < | pi@cosmac:~/elf $ git clone https://github.com/carangil/A18.git | |||||||
> > | pi@cosmac:~/elf $ git clone https://github.com/carangil/A18.git | |||||||
Cloning into 'A18'... remote: Counting objects: 81, done. remote: Total 81 (delta 0), reused 0 (delta 0), pack-reused 81 Unpacking objects: 100% (81/81), done. Checking connectivity... done. pi@cosmac:~/elf $ | ||||||||
Changed: | ||||||||
< < | ||||||||
> > | ||||||||
If you have not installed GIT yet, then install it with
sudo apt-get install git
Install the cross assmbler into /usr/local/bin | ||||||||
Changed: | ||||||||
< < | pi@cosmac:~/elf/A18 $ sudo install -m 557 a18 /usr/local/bin | |||||||
> > | pi@cosmac:~/elf/A18 $ sudo install -m 557 a18 /usr/local/bin | |||||||
pi@cosmac:~/elf/A18 $ | ||||||||
Changed: | ||||||||
< < | ||||||||
> > | ||||||||
How to build Hex2bin for the Raspberry PiHex2bin is a Intel Hex or Motorola Hex file converter. You can download the tarball from Sourceforge http://hex2bin.sourceforge.net/. Unpack the tarball: | ||||||||
Changed: | ||||||||
< < | pi@cosmac:~/elf $ tar xvjf ~/Downloads/Hex2bin-2.5.tar.bz2 | |||||||
> > | pi@cosmac:~/elf $ tar xvjf ~/Downloads/Hex2bin-2.5.tar.bz2 | |||||||
Hex2bin-2.5/ Hex2bin-2.5/mot2bin.c Hex2bin-2.5/doc/ ... Hex2bin-2.5/mot2bin.layout | ||||||||
Changed: | ||||||||
< < | ||||||||
> > | ||||||||
Build (compile): | ||||||||
Changed: | ||||||||
< < | pi@cosmac:~/elf $ cd Hex2bin-2.5/ pi@cosmac:~/elf/Hex2bin-2.5 $ make | |||||||
> > | pi@cosmac:~/elf $ cd Hex2bin-2.5/ pi@cosmac:~/elf/Hex2bin-2.5 $ make | |||||||
gcc -c -std=c99 -O2 -Wall -pedantic hex2bin.c -o hex2bin.o gcc -c -std=c99 -O2 -Wall -pedantic common.c -o common.o gcc -c -std=c99 -O2 -Wall -pedantic libcrc.c -o libcrc.o | ||||||||
Line: 88 to 88 | ||||||||
gcc -O2 -Wall -o hex2bin hex2bin.o common.o libcrc.o binary.o gcc -c -std=c99 -O2 -Wall -pedantic mot2bin.c -o mot2bin.o gcc -O2 -Wall -o mot2bin mot2bin.o common.o libcrc.o binary.o | ||||||||
Changed: | ||||||||
< < | ||||||||
> > | ||||||||
Install: | ||||||||
Changed: | ||||||||
< < | pi@cosmac:~/elf/Hex2bin-2.5 $ sudo make install | |||||||
> > | pi@cosmac:~/elf/Hex2bin-2.5 $ sudo make install | |||||||
strip hex2bin strip mot2bin cp hex2bin mot2bin /usr/local/bin cp hex2bin.1 /usr/local/man/man1 pi@cosmac:~/elf/Hex2bin-2.5 $ | ||||||||
Changed: | ||||||||
< < | ||||||||
> > | ||||||||
|