-
Preemptive multitasking is in the works
10/20/2020 at 23:14 • 2 commentsI still have some bugs to get out, but preemptive multitasking is currently being developed for zeptoforth. Ultimately, the goal is to have zeptoforth serve as an RTOS, which would be a distinguishing feature vis-a-vis the main option for Cortex-M Forth computing, Mecrisp-Stellaris. It may still be a bit before it is ready (currently it crashes after context-switching a few times), but once the bugs are out there will soon be a new release containing this new functionality. Note that the preemptive multitasker is backwards compatible to any older code that used the cooperative multitasker, provided code is added for critical sections.
-
Release 0.12.0
10/06/2020 at 04:06 • 0 commentsThis release includes memory map and bitfields files generated from SVD files for STM32L4x6 and STM32F40x which can be selectively loaded by defining identifiers of the form
use-*
where * is the name of the peripheral in question (particularly because there is not enough room in flash for the supported devices to hold the entirety of the bitfields files), with logic to prevent multiple loading of identifiers for the same peripherals more than once. -
Patch-level release 0.11.6
09/29/2020 at 03:28 • 0 commentsThis patch-level release adds bright red coloration to messages output by exceptions, to make them more apparent to the user.
-
Patch-level release 0.11.5
09/28/2020 at 03:36 • 0 commentsThis patch-level release fixes the STM32F407 implementation so that it uses flash data and instruction caching, which had not been used previously.
-
Patch-level release 0.11.4
09/27/2020 at 20:21 • 0 commentsThis patch-level release adds fast channels, which are synchronous, non-copying, non-data queueing channels for communication between tasks, along with speeding the STM32F407 implementation up to 168 MHz, fixing some bugs in the multitasker, and adding some test code.
-
Patch-level release 0.11.3
09/24/2020 at 03:30 • 0 commentsThis patch-level release fixes a bug in the channel implementation, removes an accidentally left-in debugging print in the multitasker, and adds a demo for the channel implementation.
-
Patch-level release 0.11.2
09/23/2020 at 03:17 • 0 commentsThis patch-level release includes switching from the GPL3 license to the MIT license, adding an optional channel mechanism, and fixing some bugs in multitasking.
-
zeptoforth is now MIT-licensed!
09/22/2020 at 15:40 • 1 commentzeptoforth is now MIT-licensed, so you can incorporate its code into your binaries without being concerned about one's code being forced to also be GPL3-licensed.
-
Patch-level release 0.11.1
09/13/2020 at 21:01 • 0 commentsThis patch-level release makes some improvements to the constant optimizer, adding the optimization of
*
,/
, andU/
and also increasing the number of cases in which+
,-
,AND
,OR
, andXOR
can be optimized. -
Release 0.11.0
09/12/2020 at 04:01 • 6 commentsThis release includes a optimizes constant arguments to inlined words, including, when possible, constant arguments to inlined instructions in such words, such as
+
,-
,AND
,OR
,XOR
,LSHIFT
,RSHIFT
,ARSHIFT
,B!
,H!
, and!
.