Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
Changed: | ||||||||
< < | Mecrisp Forth for the STM32WBInteractive and extensible language. Built-in lexical analysis (tokenizer, parser), needs less than 32 KiB Flash and 4 KiB RAM. The competitor is MicroPython![]() ![]() | |||||||
> > |
Mecrisp Forth for the STM32WB
Intro
Forth is an interactive and extensible language, built-in lexical analysis (tokenizer, parser), needs less than 32 KiB Flash and 4 KiB RAM. | |||||||
| ||||||||
Added: | ||||||||
> > | The competitor is MicroPython![]() ![]() | |||||||
Changed: | ||||||||
< < | STM32WB Nucleo Board | |||||||
> > |
Contents
| |||||||
![]() | ||||||||
Changed: | ||||||||
< < | https://www.st.com/en/evaluation-tools/p-nucleo-wb55.html![]() ![]() | |||||||
> > | ||||||||
Changed: | ||||||||
< < | Schematic Nucleo Dongle MB1293![]() BuildTools | |||||||
> > | Tools | |||||||
Linux packages:
| ||||||||
Line: 45 to 50 | ||||||||
Changed: | ||||||||
< < | CMSIS-SVD for STM32WB | |||||||
> > | CMSIS-SVD for STM32WB | |||||||
Changed: | ||||||||
< < | It is tedious job to find all the registers in the data sheets. There is CubeMX to create code for STM's MCUs, but mecrisp use pure assembler. There is convenient way to create equates for the assembler. | |||||||
> > | It is tedious job to find all the registers in the data sheets. There is CubeMX to create code for STM's MCUs, but mecrisp use pure assembler. There is convenient way to create equates for the assembler. | |||||||
SVD 2 Forth | ||||||||
Line: 79 to 84 | ||||||||
You can get STM32WBxx_CM4.svd.equates.s from my site: STM32WBxx_CM4.svd.equates.s | ||||||||
Changed: | ||||||||
< < | Create the Binary for STM32WB | |||||||
> > | Create the Binary for STM32WB | |||||||
Changed: | ||||||||
< < |
Debug | |||||||
> > | ||||||||
There is good architecture diagram from STM32MPU Wiki![]() ![]() | ||||||||
Changed: | ||||||||
< < | OpenOCD | |||||||
> > | OpenOCD | |||||||
Changed: | ||||||||
< < | OpenOCD 0.10.0 does not support STM32WB, therefore I built the OpenOCD from the sources. | |||||||
> > | OpenOCD 0.10.0 does not support STM32WB, therefore I built the OpenOCD from the sources. | |||||||
$ git clone https://git.code.sf.net/p/openocd/code openocd-code | ||||||||
Line: 172 to 178 | ||||||||
Note: automatically using hardware breakpoints for read-only addresses. | ||||||||
Changed: | ||||||||
< < | Flash mecrisp to the Target | |||||||
> > | ||||||||
Changed: | ||||||||
< < | Nucleo Board | |||||||
> > | Nucleo Board | |||||||
Changed: | ||||||||
< < | Connect Nucleo's ST-LINK USB to you PC. Erase the flash e.g. by openOCD, we use 768 KiB -> 192 sectors. | |||||||
> > | Connect Nucleo's ST-LINK USB to you PC. Erase the flash e.g. by openOCD, we use 768 KiB ![]() | |||||||
$ telnet localhost 4444 Trying ::1... | ||||||||
Line: 197 to 205 | ||||||||
Changed: | ||||||||
< < | USB Dongle | |||||||
> > | USB Dongle | |||||||
Changed: | ||||||||
< < | The USB Dongle does not have a ST-Link interface, but the STM32WB has a built-in boot-loader (BTW you can flash the Nucleo Board in the same way). I use the CLI from the STM32CubeProg![]() | |||||||
> > | The USB Dongle does not have a ST-Link interface, but the STM32WB has a built-in boot-loader (BTW you can flash the Nucleo Board in the same way). I use the CLI from the STM32CubeProg![]() | |||||||
Changed: | ||||||||
< < | $ alias cubepgmcli='/opt/STMicroelectronics/STM32Cube/STM32CubeProgrammer/bin/STM32_Programmer_CLI' $ cubepgmcli -c port=USB1 -ob displ | |||||||
> > | $ alias cubepgmcli='/opt/STMicroelectronics/STM32Cube/STM32CubeProgrammer/bin/STM32_Programmer_CLI' $ cubepgmcli -c port=USB1 -ob displ | |||||||
Added: | ||||||||
> > |
BLE and other MiddlewaresSTM32WB Forth without BLE, USB, Filesystems, RTOS etc. is not complete, to build this by myself from the scratch overwhelms me. I would like to go the reverse way and use the STM tools like CubeIDE, HAL, CubeMX and integrate the Mecrips Forth into it. Forth as an interactive extension for the STM ecosystem. Mecrisp Forth running as a CMSIS-RTOS thread. | |||||||
-- ![]() | ||||||||
Line: 212 to 230 | ||||||||
Deleted: | ||||||||
< < |
| |||||||
| ||||||||
Line: 234 to 249 | ||||||||
| ||||||||
Added: | ||||||||
> > |
|