Important Notes¶
Compiling¶
Mecrisp-Across is actually very easy to compile, just execute the “release” script in the Distribution root directory and then flash the mecrisp-stellaris-tm4c1294-with-mecrisp-across.bin file to the tm4c1294 target.
UTF-8: Because most of the source code is in the German Language, your system must be set up for UTF8 or the compiler will get hung up on umlauts etc.
GCC: The file “helpers/thumbulator/Makefile” specifies “gcc” but my system only has “gcc6” and “gcc7” so I had to change it to suit. You may have a similar issue depending on the versions of GCC installed on your system.
all : thumbulator.c
gcc -o thumbulator -O2 thumbulator.c
clean :
rm -f thumbulator
Note
In case you’re wondering … Gcc6 and Gcc 7 produced the same size mecrisp-stellaris-tm4c1294-with-mecrisp-across.bin binary on my system: 131148 Bytes
Got Usart ?¶
Mecrisp-Across can work with Targets with or without a USART, providing the Forth Terminal-Io Words in the Dictionary below. Even if your application doesn’t need a terminal, the Terminal-Io Word are vital debugging and testing aids at the design phase.
Terminal-IO¶
uart-init ( -- ) Prepare UART for 9600 Baud @ 8 MHz
emit? ( -- Flag ) Ready to send a character ?
key? ( -- Flag ) Checks if a key is waiting
key ( -- Char ) Waits for and fetches the pressed key
emit ( Char -- ) Emits a character.
cr ( -- ) Emits line feed
space ( -- ) Emits space
hex. ( u -- ) Prints 16 bit unsigned in hex base.
If your target chip has a USART, then code for it work when the source is compiled, flashed and it is running stand-alone. This is the default Mecrisp-Across behaviour.
If your target chip does not have a USART, Mecrisp-Across can also work with that by using the HOST for Terminal-IO. Naturally when the Target is flashed and running stand-alone, you will lose access to those terminal facilities.
To enable the Host Terminal Mode use the following command at the start of your code :
true hostterminal? !
Before the emulation and jtag code :
new
+jtag
target