I thought that there should be at least one post from 2018. So here it is!
Contrary to appearances, muforth is not dead! I’ve been working – sometimes feverishly! – on muforth since my last post in the spring of 2017, but I’ve obviously been terrible about reporting on the project’s progress.
For the last couple of weeks I have been focused on two related projects. One project generates muforth equates files for NXP/Freescale Kinetis ARM processors from CMSIS-SVD files (initially focused on supporting the Freescale FRDM boards); the other generates equates from ST Micro’s C .h files for their STM32F0, F1, F4, and L1 processors (initially focusing on four chips found on their series of Discovery boards: STM32F051x8, STM32F303xC, STM32F407xx, and STM32L152xB).
The Kinetis project is on GitHub; the STM32 project is currently not public, but I’m hoping to change that soon.
Maybe 2019 will be the year that muforth really shines on Cortex-M hardware!
Of course, that’s not all that has happened. Since my last update in May 2017 there have been 182 commits to the project! Scrolling through the git log, I find the following points of interest:
- Support for MSP430FR6989 added, including (and especially!) support for the LCD on the MSP430FR6989 Launchpad
- CRC experiments, including fixing TI’s totally messed-up documentation for the CRC32 device on the MSP430FR6989
- Tons of changes to the S08 code, including an improved version of the S08JS16 USB chat firmware that works with Chromebooks (and USB 3.0); test versions of USB-MIDI firmware; improved BDM support; effective address support in the disassembler (ie, interactively follow jumps and calls in the code); improvements to chat and flashing code
- A working, indirect-threaded Cortex-M0 Forth that runs (in RAM) on all the Cortex-M ARM hardware I own (a FRDM-KL25Z, STM32F0 Discovery, STM32L1 Discovery, and STM32F4 Discovery)
- Improved CMSIS-DAP support (still a work-in-progress)
- Support – or help anyway – for using Freescale’s Cortex-M0+ bit manipulation engine (BME), and also for Cortex-M3/M4 bitbanding
- Better support for using USB devices on BSD systems (work-in-progress)
- and sundry small cleanups and changes to the core muforth system