I just released STM8EF v2.2.6 with some really nice features from the development branch:
- significantly more compact compiled user code
- interrupt code in Forth (thank Elliot for nagging me)
- simulated COM ports are no longer limited to Port D (but work with any GPIO)
- more flexible board configuration, e.g. external interrupts
There was also an important bug fix for DO LEAVE LOOP/+LOOP (LEAVE actually works now, and it's possible to use negative increments).
Thanks to new coding techniques, e.g. TRAP for literals, the binary size still is within the same bounds as before:
- interactive Forth (the use case of the original STM8EF code) < 3800 bytes,
- CORE ("compile to Flash", interrupts in Forth) < 4096 bytes
- MINDEV (DO-LOOP, CREATE-DOES>, board I/O, background tasks) < 5000 bytes
- W1209 (7S-LED display, COM-simulation, board keys) < 5500 bytes
The code generator improvements (relative calls, STM8 opcodes for literals, branch and exit) reduce the size of compiled user code by 20-25%. This should be sufficient for 5 to 10 screens of Forth, enough for non-trivial applications.
Edit: with this release some of my personal goals were reached, and it's some kind of milestone. I took the opportunity to update the project's description and details. Sorry for the update spam :-)
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.