Embedded Command Line with Scripting

January 4, 2023

While not currently a common development approach ZedTech has used a command line / device scripting approach based on the Forth programming language.

In nearly all projects I have done for the last 25 years I have used Forth as an on device scripting language. While it is generally not a good idea to implement large projects in Forth, having a Forth interpreter/compiler as a means of interacting with the target system tends to be beneficial.

The reasons why:

In general having a reasonably feature rich command interpreter on the target platform provides a lot of flexibility e.g. when dealing with system bring up, manufacturing and calibration. E.g. Calibration procedures can be adjusted and changed just by changing some scripts without changing the firmware image that was released for production. Also having the ability to script things makes it easier to experiment during the development phase, especially in teams where some of the team members do not have the ability to compile test versions of the firmware.