Further Developments

Now that I’m fairly conversant with Mecrisp-Across, I have begun to modify it for my own needs.

Kernel Mods

Date Finished

460800 Baud rate

18 Nov 2018

RTS handshaking so it works at 460800 Baud with no line delays

18 Nov 2018

CR/LF end of line so GNU Screen won’t ‘Stair Step’

18 Nov 2018

CTS Handshaking to be used with a ‘Hardware Upload Halt on Code Error’ system

LED to work in conjunction with the ‘Hardware Upload Halt on Code Error’ system

Notes

The distribution file “pll.txt” is very handy for increasing the TM4C1294 Tiva Connected Launchpad Host clock to 25 or 120MHz, from the default 16Mhz. While the Target is detected and programmed reliably with the Host at 25MHz, Target detection fails at 120MHz.

Time to upload the full Mecrisp-Across Source on the Texas Instruments TM4C1294 Tiva Connected Launchpad at 120MHz and 480600 Baud is 17 seconds, which is quite reasonable considering the Source size and complexity. The same operation takes 8 seconds on my Intel four core i7-4770K (3.50GHz) workstation (using Thumbulator), which is only about 2x the speed of the ‘slow’ 120MHz Arm Cortex M4 of the TM4C1294!

Note

For those unfamiliar with Forth, ‘uploading a file’ to the MCU is much more than simply uploading a file. Forth has a COC, “compiler on chip”, meaning as the Forth source code is read it’s also compiled into Machine Code ready for immediate execution. The fastest way to orchestrate all this is with Hardware Handshaking which adapts to the length and complexity of the Forth Words being uploaded and the time taken to compile them. Alternative upload methods, usually using the Picocom serial terminal have a ‘end of line delay’ which is preset to allow time to compile the longest of Words, which then also applies to the shortest Words and can extend the upload process significantly .. wasting our time during the testing and debugging process.