Difference: MecrispCubeH74x (1 vs. 22)

Revision 222022-12-28 - PeterSchmid

Line: 1 to 1
 
META TOPICPARENT name="WebHome"
%DASHBOARD{ section="banner"
Line: 32 to 32
  The standard Mecrisp-Cube features like RTOS, Filesystem, USB, etc.
Changed:
<
<
  • 512? KiB RAM dictionary
  • 1 MiB Flash dictionary
  • Internal Flash drive 0:, 128 MiB (QSPI peripheral only on Portenta)
>
>
  • 288 KiB RAM dictionary
  • 1 MiB Flash dictionary, because of the fragmentation (32 byte instead of 16 byte blocks) the flash words needs about 30 % more memory.
  • Internal Flash drive 0:, 16 MiB (external, Portenta has it on board)
 
  • microSD drive 1: on Breakout Board

  • BSPs
Line: 82 to 82
 
Mecrisp-Stellaris RA 2.5.4 by Matthias Koch.

Changed:
<
<
Mecrisp-Cube 1.4.3 for STM32F405, 31/768 KiB RAM/FLASH dictionary (C) 2021 peter@spyr.ch
>
>
Mecrisp-Cube 1.5.0 for STM32H7 Nucleo, 288/1024 KiB RAM/FLASH dictionary (C) 2022 peter@spyr.ch * Firmware Package STM32Cube H7 V1.10.0, USB-CDC (C) 2021 STMicroelectronics * CMSIS-RTOS V2 FreeRTOS wrapper, FreeRTOS Kernel V10.3.1 (C) 2020 Amazon.com * FatFs for internal flash and microSD - Generic FAT fs module R0.12c (C) 2017 ChaN * tiny vi - part of BusyBox (C) 2000, 2001 Sterling HuxleyMecrisp-Cube 1.4.3 for STM32F405, 31/768 KiB RAM/FLASH dictionary (C) 2021 peter@spyr.ch
  * Firmware Package STM32Cube F4 V1.26.0, USB-CDC (C) 2021 STMicroelectronics * CMSIS-RTOS V2 FreeRTOS wrapper, FreeRTOS Kernel V10.3.1 (C) 2020 Amazon.com * FatFs for serial flash and microSD - Generic FAT fs module R0.12c (C) 2017 ChaN

Revision 212022-06-26 - PeterSchmid

Line: 1 to 1
 
META TOPICPARENT name="WebHome"
%DASHBOARD{ section="banner"
Line: 250 to 250
 Schematics

The much smaller board Arduino Nicla Vision equipped with a 2MP camera.

Added:
>
>
 

Wio Lite AI Single Board

Line: 277 to 278
 
META FILEATTACHMENT attachment="nucleo_h743zi2_zio_right_2019_10_9.png" attr="" comment="" date="1646586879" name="nucleo_h743zi2_zio_right_2019_10_9.png" path="nucleo_h743zi2_zio_right_2019_10_9.png" size="433662" user="PeterSchmid" version="1"
META FILEATTACHMENT attachment="pinout_legend_2017-06-28-2.png" attr="" comment="" date="1646586879" name="pinout_legend_2017-06-28-2.png" path="pinout_legend_2017-06-28-2.png" size="34746" user="PeterSchmid" version="1"
META FILEATTACHMENT attachment="portenta-h7-pinout.png" attr="" comment="" date="1654804155" name="portenta-h7-pinout.png" path="portenta-h7-pinout.png" size="381064" user="PeterSchmid" version="1"
Added:
>
>
META FILEATTACHMENT attachment="Arduino-Nicla-Vision.webp" attr="" comment="" date="1656277841" name="Arduino-Nicla-Vision.webp" path="Arduino-Nicla-Vision.webp" size="183180" user="PeterSchmid" version="1"
 
META TOPICMOVED by="PeterSchmid" date="1655656838" from="MecrispCube.MecrispCubeH7" to="MecrispCube.MecrispCubeH74x"

Revision 202022-06-26 - PeterSchmid

Line: 1 to 1
 
META TOPICPARENT name="WebHome"
%DASHBOARD{ section="banner"
Line: 249 to 249
  Schematics
Added:
>
>
The much smaller board Arduino Nicla Vision equipped with a 2MP camera.
 

Wio Lite AI Single Board

No Board Support Package yet.

Revision 192022-06-22 - PeterSchmid

Line: 1 to 1
 
META TOPICPARENT name="WebHome"
%DASHBOARD{ section="banner"
Line: 34 to 34
 
  • 512? KiB RAM dictionary
  • 1 MiB Flash dictionary
Changed:
<
<
  • Internal Flash drive 0:, 1024 KiB
>
>
  • Internal Flash drive 0:, 128 MiB (QSPI peripheral only on Portenta)
 
  • microSD drive 1: on Breakout Board

  • BSPs

Revision 182022-06-22 - PeterSchmid

Line: 1 to 1
 
META TOPICPARENT name="WebHome"
%DASHBOARD{ section="banner"
Line: 33 to 33
 The standard Mecrisp-Cube features like RTOS, Filesystem, USB, etc.

  • 512? KiB RAM dictionary
Changed:
<
<
  • 784? KiB Flash dictionary
>
>
  • 1 MiB Flash dictionary
 
  • Internal Flash drive 0:, 1024 KiB
  • microSD drive 1: on Breakout Board

Revision 172022-06-21 - PeterSchmid

Line: 1 to 1
 
META TOPICPARENT name="WebHome"
%DASHBOARD{ section="banner"
Line: 97 to 97
 

Additional Tools and Local Filesystem

Changed:
<
<
Populate a microSD with the contents of sdcard. Put the microSD into the F405 slot and reset or power cycle the board.
>
>
Populate a microSD with the contents of sdcard. Put the microSD into the H743 slot and reset or power cycle the board.
  The directory should look like this:

Line: 172 to 172
 Get the sources from github:


Changed:
<
<
psi@homer:~> git clone --branch F405 https://github.com/spyren/Mecrisp-Cube Klone nach 'Mecrisp-Cube' ... remote: Enumerating objects: 1157, done. remote: Counting objects: 100% (1157/1157), done. remote: Compressing objects: 100% (620/620), done. remote: Total 3183 (delta 720), reused 934 (delta 525), pack-reused 2026 Empfange Objekte: 100% (3183/3183), 41.60 MiB | 6.96 MiB/s, Fertig. Löse Unterschiede auf: 100% (2100/2100), Fertig.
>
>
psi@homer:~> git clone --branch H743 https://github.com/spyren/Mecrisp-Cube Cloning into 'Mecrisp-Cube'... remote: Enumerating objects: 4969, done. remote: Counting objects: 100% (47/47), done. remote: Compressing objects: 100% (34/34), done. remote: Total 4969 (delta 13), reused 47 (delta 13), pack-reused 4922 Receiving objects: 100% (4969/4969), 69.43 MiB | 3.54 MiB/s, done. Resolving deltas: 100% (3481/3481), done. Updating files: 100% (213/213), done.
 

Import the project into the IDE:

Line: 190 to 191
 Browse to Mecrisp-Cube directory
Changed:
<
<
Generate code from the STM32CubeMX MecrispCubeF405.ioc file:
>
>
Generate code from the STM32CubeMX MecrispCubeH743.ioc file:
 
Project -> Generate Code 

Revision 162022-06-19 - PeterSchmid

Line: 1 to 1
 
META TOPICPARENT name="WebHome"
%DASHBOARD{ section="banner"
Changed:
<
<
image="/twiki/pub/MecrispCube/MecrispCubeH7/NUCLEO-H743ZI2-header.jpg" title="Mecrisp-Cube for the STM32H74x Powerhouse (NUCLEO-H743ZI, Arduino Portenta STM32H747)"
>
>
image="/twiki/pub/MecrispCube/MecrispCubeH74x/NUCLEO-H743ZI2-header.jpg" title="Mecrisp-Cube for the STM32H74x Powerhouse"
  titlestyle="color:#F00000;" }%
Changed:
<
<
Intro
>
>
Intro MecrispCubeH74x
 DRAFT
Changed:
<
<
A new flavor for Mecrisp-Cube: Mecrisp-Cube-H743 for STM's NUCLEO-H743ZI and Mecrisp-Cube-H747 for Arduino Portenta H7 Development Board
>
>
New flavors for Mecrisp-Cube:
 
Changed:
<
<
If you need a really fast MCU (ARM Cortex M7 @ 480 MHz) then the Mecrisp-Cube-H74x could be the right Mecrisp Forth for you.
>
>
If you need a really fast MCU (ARM Cortex M7 @ 480 MHz) then the MecrispCubeH74x could be the right Mecrisp-Cube Forth for you. The STM32H747 has even a second Core, a Cortex M4.
 
Changed:
<
<
Instant real-time programming with Forth.
>
>
Mecrisp-Cube Instant real-time programming with Forth.
 

Sources on

Line: 25 to 27
 
Changed:
<
<
>
>
 

Features

Added:
>
>
The standard Mecrisp-Cube features like RTOS, Filesystem, USB, etc.
 
  • 512? KiB RAM dictionary
  • 784? KiB Flash dictionary
Deleted:
<
<
  • Forth as CMSIS-RTOS thread. CMSIS-RTOS API to use FreeRTOS from Forth.
  • Buffered terminal I/O (5 KiB buffer for UART Rx). Interrupt driven and RTOS aware, key and emit block the calling thread. USART3: D0 RX, D1 TX
  • USB-CDC for serial communication via USB. Redirect console I/O like cdc-emit, cdc-key
  • microSD and internal Flash mass storage for blocks and FAT filesystem.
 
    • Internal Flash drive 0:, 1024 KiB
Changed:
<
<
  • Digital and analog pins, Arduino Uno or MKR Header
    • Onboard LEDs: LED1 (green), LED2 (yellow), LED3 (red)
    • Switches: SW1, Push button
    • Digital port pins: D0 to D14 (D15)
    • Analog port pins: A0 to A5 (A6)
    • PWMs
    • Input capture
    • Output compare
    • EXTIs
  • SPI (e.g. for display, memory)
  • I2C (external peripherals Qwiic / STEMMA QT port)
  • vi Editor origin in BusyBox tiny vi. Workflow development: begin Edit EVALUATE while SaveFile repeat
  • Real Time Clock (32 bit UNIX time stamp, valid times are from 1.1.2000 to 31.12.2099 because of the STM32WB RTC peripheral) time!, time@, and .time (YYYY-MM-DDTHH:MM:SS ISO 8601).
>
>
  • microSD drive 1: on Breakout Board
 
Changed:
<
<
>
>
 
  • TCP/IP
    • Telnet wink
Deleted:
<
<
For more BSP details see BoardSupportPackageH743 for STM's Nucleo Board or BoardSupportPackageH747 for the Arduino Portenta Development Board.
 
Line: 231 to 217
 

STM32H743 H743ZI2 Nucleo Board

Changed:
<
<
Error: (1) can't find NUCLEO-H743ZI2.jpg at /MecrispCube.MecrispCubeH7
>
>
 
Line: 240 to 226
 
Changed:
<
<
Error: (1) can't find pinout_legend_2017-06-28-2.png at /MecrispCube.MecrispCubeH7
>
>
pinout legend 2017-06-28-2.png
Pinout Legend
 
Changed:
<
<
Error: (1) can't find nucleo_h743zi2_zio_left_2019_10_9.png at /MecrispCube.MecrispCubeH7 Error: (1) can't find nucleo_h743zi2_zio_right_2019_10_9.png at /MecrispCube.MecrispCubeH7 Error: (1) can't find nucleo_h743zi2_morpho_left_2019_10_9.png at /MecrispCube.MecrispCubeH7 Error: (1) can't find nucleo_h743zi2_morpho_right_2019_10_9.png at /MecrispCube.MecrispCubeH7
>
>
nucleo h743zi2 zio left 2019 10 9.png
ZIO/Arduino CN8 CN9 left
nucleo h743zi2 zio right 2019 10 9.png
ZIO/Arduino CN7 CN10 right
nucleo h743zi2 morpho left 2019 10 9.png
Morpho CN11 left
nucleo h743zi2 morpho right 2019 10 9.png
Morpho CN12 right
 

STM32H747 Arduino Portenta H7 Development Board

Line: 258 to 244
  https://docs.arduino.cc/hardware/portenta-h7
Changed:
<
<
Error: (1) can't find portenta-h7-pinout.png at /MecrispCube.MecrispCubeH7
>
>
portenta-h7-pinout.png
Portenta H7 Pinout
  Schematics
Line: 276 to 262
  Creative Commons License
This work by Peter Schmid is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Deleted:
<
<
  • portenta-h7-pinout.png:
    portenta-h7-pinout.png
 
META FILEATTACHMENT attachment="NUCLEO-H743ZI2-header.jpg" attr="" comment="" date="1646579079" name="NUCLEO-H743ZI2-header.jpg" path="NUCLEO-H743ZI2-header.jpg" size="86333" user="PeterSchmid" version="1"
META FILEATTACHMENT attachment="NUCLEO-H743ZI2.jpg" attr="" comment="" date="1646579079" name="NUCLEO-H743ZI2.jpg" path="NUCLEO-H743ZI2.jpg" size="1733514" user="PeterSchmid" version="1"
Line: 289 to 273
 
META FILEATTACHMENT attachment="nucleo_h743zi2_zio_right_2019_10_9.png" attr="" comment="" date="1646586879" name="nucleo_h743zi2_zio_right_2019_10_9.png" path="nucleo_h743zi2_zio_right_2019_10_9.png" size="433662" user="PeterSchmid" version="1"
META FILEATTACHMENT attachment="pinout_legend_2017-06-28-2.png" attr="" comment="" date="1646586879" name="pinout_legend_2017-06-28-2.png" path="pinout_legend_2017-06-28-2.png" size="34746" user="PeterSchmid" version="1"
META FILEATTACHMENT attachment="portenta-h7-pinout.png" attr="" comment="" date="1654804155" name="portenta-h7-pinout.png" path="portenta-h7-pinout.png" size="381064" user="PeterSchmid" version="1"
Changed:
<
<
META TOPICMOVED by="PeterSchmid" date="1655580391" from="MecrispCube.MecrispCubeH743" to="MecrispCube.MecrispCubeH7"
>
>
META TOPICMOVED by="PeterSchmid" date="1655656838" from="MecrispCube.MecrispCubeH7" to="MecrispCube.MecrispCubeH74x"

Revision 152022-06-18 - PeterSchmid

Line: 1 to 1
 
META TOPICPARENT name="WebHome"
%DASHBOARD{ section="banner"
Changed:
<
<
image="/twiki/pub/MecrispCube/MecrispCubeH743/NUCLEO-H743ZI2-header.jpg" title="Mecrisp-Cube for the STM32H743 Powerhouse (NUCLEO-H743ZI)"
>
>
image="/twiki/pub/MecrispCube/MecrispCubeH7/NUCLEO-H743ZI2-header.jpg" title="Mecrisp-Cube for the STM32H74x Powerhouse (NUCLEO-H743ZI, Arduino Portenta STM32H747)"
  titlestyle="color:#F00000;" }%
Intro
DRAFT
Changed:
<
<
A new flavor for Mecrisp-Cube: Mecrisp-Cube-H743 for STM's NUCLEO-H743ZI.
>
>
A new flavor for Mecrisp-Cube: Mecrisp-Cube-H743 for STM's NUCLEO-H743ZI and Mecrisp-Cube-H747 for Arduino Portenta H7 Development Board
 
Changed:
<
<
If you need a really fast MCU (ARM Cortex M7 @ 480 MHz) then the MecrispCubeH743 could be the right Mecrisp Forth for you.
>
>
If you need a really fast MCU (ARM Cortex M7 @ 480 MHz) then the Mecrisp-Cube-H74x could be the right Mecrisp Forth for you.
  Instant real-time programming with Forth.
Changed:
<
<
Sources on GitHub (H743 branch on Mecrisp-Cube)
>
>
Sources on
  • GitHub (H743 branch on Mecrisp-Cube)
  • GitHub (H747 branch on Mecrisp-Cube)
 
Contents
Line: 35 to 38
 
Changed:
<
<
  • Digital and analog pins, Arduino Uno Header
    • LEDs: LED1 (green, PB0), LED2 (yellow, PE1), LED3 (red, PB14)
    • Switches: SW1, Push button (PC13)
    • Digital port pins: D0 to D15 (ST Zio D16 to D72)
    • Analog port pins: A0 to A5 (ST Zio A6 to A8)
    • PWM:
      • TIM3: D5, D6
      • TIM4: D9, D10, D14, D15
    • Input capture TIM2: A1,
    • Output compare TIM2: D0, D1
    • EXTI: D11, D12, D13
  • SPI: D2 SCK, D3 MISO, D4 MOSI (e.g. for display, memory)
  • I2C: D14 SDA, D15 SCL (external peripherals Qwiic / STEMMA QT port)
>
>
  • Digital and analog pins, Arduino Uno or MKR Header
    • Onboard LEDs: LED1 (green), LED2 (yellow), LED3 (red)
    • Switches: SW1, Push button
    • Digital port pins: D0 to D14 (D15)
    • Analog port pins: A0 to A5 (A6)
    • PWMs
    • Input capture
    • Output compare
    • EXTIs
  • SPI (e.g. for display, memory)
  • I2C (external peripherals Qwiic / STEMMA QT port)
 
  • vi Editor origin in BusyBox tiny vi. Workflow development: begin Edit EVALUATE while SaveFile repeat
  • Real Time Clock (32 bit UNIX time stamp, valid times are from 1.1.2000 to 31.12.2099 because of the STM32WB RTC peripheral) time!, time@, and .time (YYYY-MM-DDTHH:MM:SS ISO 8601).
Line: 56 to 57
 
  • TCP/IP
    • Telnet wink
Changed:
<
<
For more BSP details see BoardSupportPackageH743.
>
>
For more BSP details see BoardSupportPackageH743 for STM's Nucleo Board or BoardSupportPackageH747 for the Arduino Portenta Development Board.
 
Line: 230 to 231
 

STM32H743 H743ZI2 Nucleo Board

Changed:
<
<
Error: (1) can't find NUCLEO-H743ZI2.jpg at /MecrispCube.MecrispCubeH743
>
>
Error: (1) can't find NUCLEO-H743ZI2.jpg at /MecrispCube.MecrispCubeH7
 
Line: 239 to 240
 
Changed:
<
<
Error: (1) can't find pinout_legend_2017-06-28-2.png at /MecrispCube.MecrispCubeH743
>
>
Error: (1) can't find pinout_legend_2017-06-28-2.png at /MecrispCube.MecrispCubeH7
 
Changed:
<
<
Error: (1) can't find nucleo_h743zi2_zio_left_2019_10_9.png at /MecrispCube.MecrispCubeH743 Error: (1) can't find nucleo_h743zi2_zio_right_2019_10_9.png at /MecrispCube.MecrispCubeH743 Error: (1) can't find nucleo_h743zi2_morpho_left_2019_10_9.png at /MecrispCube.MecrispCubeH743 Error: (1) can't find nucleo_h743zi2_morpho_right_2019_10_9.png at /MecrispCube.MecrispCubeH743
>
>
Error: (1) can't find nucleo_h743zi2_zio_left_2019_10_9.png at /MecrispCube.MecrispCubeH7 Error: (1) can't find nucleo_h743zi2_zio_right_2019_10_9.png at /MecrispCube.MecrispCubeH7 Error: (1) can't find nucleo_h743zi2_morpho_left_2019_10_9.png at /MecrispCube.MecrispCubeH7 Error: (1) can't find nucleo_h743zi2_morpho_right_2019_10_9.png at /MecrispCube.MecrispCubeH7
 

STM32H747 Arduino Portenta H7 Development Board

Line: 257 to 258
  https://docs.arduino.cc/hardware/portenta-h7
Changed:
<
<
Error: (1) can't find portenta-h7-pinout.png at /MecrispCube.MecrispCubeH743
>
>
Error: (1) can't find portenta-h7-pinout.png at /MecrispCube.MecrispCubeH7
  Schematics
Line: 288 to 289
 
META FILEATTACHMENT attachment="nucleo_h743zi2_zio_right_2019_10_9.png" attr="" comment="" date="1646586879" name="nucleo_h743zi2_zio_right_2019_10_9.png" path="nucleo_h743zi2_zio_right_2019_10_9.png" size="433662" user="PeterSchmid" version="1"
META FILEATTACHMENT attachment="pinout_legend_2017-06-28-2.png" attr="" comment="" date="1646586879" name="pinout_legend_2017-06-28-2.png" path="pinout_legend_2017-06-28-2.png" size="34746" user="PeterSchmid" version="1"
META FILEATTACHMENT attachment="portenta-h7-pinout.png" attr="" comment="" date="1654804155" name="portenta-h7-pinout.png" path="portenta-h7-pinout.png" size="381064" user="PeterSchmid" version="1"
Added:
>
>
META TOPICMOVED by="PeterSchmid" date="1655580391" from="MecrispCube.MecrispCubeH743" to="MecrispCube.MecrispCubeH7"

Revision 142022-06-09 - PeterSchmid

Line: 1 to 1
 
META TOPICPARENT name="WebHome"
%DASHBOARD{ section="banner"
Line: 257 to 257
  https://docs.arduino.cc/hardware/portenta-h7
Added:
>
>
Error: (1) can't find portenta-h7-pinout.png at /MecrispCube.MecrispCubeH743

Schematics

 

Wio Lite AI Single Board

Line: 272 to 275
  Creative Commons License
This work by Peter Schmid is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Added:
>
>
  • portenta-h7-pinout.png:
    portenta-h7-pinout.png
 
META FILEATTACHMENT attachment="NUCLEO-H743ZI2-header.jpg" attr="" comment="" date="1646579079" name="NUCLEO-H743ZI2-header.jpg" path="NUCLEO-H743ZI2-header.jpg" size="86333" user="PeterSchmid" version="1"
META FILEATTACHMENT attachment="NUCLEO-H743ZI2.jpg" attr="" comment="" date="1646579079" name="NUCLEO-H743ZI2.jpg" path="NUCLEO-H743ZI2.jpg" size="1733514" user="PeterSchmid" version="1"
META FILEATTACHMENT attachment="ABX00045_02.front_1000x750.webp" attr="" comment="" date="1646581311" name="ABX00045_02.front_1000x750.webp" path="ABX00045_02.front_1000x750.webp" size="121048" user="PeterSchmid" version="1"
Line: 281 to 287
 
META FILEATTACHMENT attachment="nucleo_h743zi2_zio_left_2019_10_9.png" attr="" comment="" date="1646586879" name="nucleo_h743zi2_zio_left_2019_10_9.png" path="nucleo_h743zi2_zio_left_2019_10_9.png" size="510700" user="PeterSchmid" version="1"
META FILEATTACHMENT attachment="nucleo_h743zi2_zio_right_2019_10_9.png" attr="" comment="" date="1646586879" name="nucleo_h743zi2_zio_right_2019_10_9.png" path="nucleo_h743zi2_zio_right_2019_10_9.png" size="433662" user="PeterSchmid" version="1"
META FILEATTACHMENT attachment="pinout_legend_2017-06-28-2.png" attr="" comment="" date="1646586879" name="pinout_legend_2017-06-28-2.png" path="pinout_legend_2017-06-28-2.png" size="34746" user="PeterSchmid" version="1"
Added:
>
>
META FILEATTACHMENT attachment="portenta-h7-pinout.png" attr="" comment="" date="1654804155" name="portenta-h7-pinout.png" path="portenta-h7-pinout.png" size="381064" user="PeterSchmid" version="1"

Revision 132022-04-20 - PeterSchmid

Line: 1 to 1
 
META TOPICPARENT name="WebHome"
%DASHBOARD{ section="banner"
Line: 255 to 255
  No Board Support Package yet.
Added:
>
>
https://docs.arduino.cc/hardware/portenta-h7
 
Deleted:
<
<

Wio Lite AI Single Board

 
Changed:
<
<
https://docs.arduino.cc/hardware/portenta-h7
>
>

Wio Lite AI Single Board

  No Board Support Package yet.

Revision 122022-04-18 - PeterSchmid

Line: 1 to 1
 
META TOPICPARENT name="WebHome"
%DASHBOARD{ section="banner"
Line: 53 to 53
 
Added:
>
>
  • TCP/IP
    • Telnet wink
 For more BSP details see BoardSupportPackageH743.

Revision 112022-03-14 - PeterSchmid

Line: 1 to 1
 
META TOPICPARENT name="WebHome"
%DASHBOARD{ section="banner"
Line: 51 to 51
 
  • vi Editor origin in BusyBox tiny vi. Workflow development: begin Edit EVALUATE while SaveFile repeat
  • Real Time Clock (32 bit UNIX time stamp, valid times are from 1.1.2000 to 31.12.2099 because of the STM32WB RTC peripheral) time!, time@, and .time (YYYY-MM-DDTHH:MM:SS ISO 8601).
Deleted:
<
<
  • OLED FeatherWing 128x32
    • Switches: SW1 (button A, D9), SW2 (button B, D6), SW3 (button C, D5)
    • I2C: D14 SDA, D15 SCL
 

For more BSP details see BoardSupportPackageH743.

Revision 102022-03-12 - PeterSchmid

Line: 1 to 1
 
META TOPICPARENT name="WebHome"
%DASHBOARD{ section="banner"
Line: 254 to 254
  Why should I use this board? It is less powerful than a Raspberry Pi and is even more expensive! The Raspi draws much more current and therefore cannot be operated with a battery.
Added:
>
>
No Board Support Package yet.

Wio Lite AI Single Board

 https://docs.arduino.cc/hardware/portenta-h7

No Board Support Package yet.

Added:
>
>
 

Revision 92022-03-09 - PeterSchmid

Line: 1 to 1
 
META TOPICPARENT name="WebHome"
%DASHBOARD{ section="banner"
Line: 77 to 77
 
    • minicom, microcom, screen - Linux
    • Use the built in Eclipse console (but no LF)

Changed:
<
<
Flash the Mecrisp-Cube binary (MecrispCubeF405.bin) or the util-binary (MecrispCubeF405Util.bin) to the Feather Board.
>
>
Flash the Mecrisp-Cube binary (MecrispCubeH743.bin) or the util-binary (MecrispCubeH743Util.bin) to the Feather Board.
 
Changed:
<
<
  1. Connect the BOOTP (BO Pin) to 3.3V
  2. Connect the Feather Board USB to the PC
  3. Program the binary with the STMCubeProgrammer
  4. Disconnect the BOOTP (BO Pin)
  5. Reset or power cycle the Feather board
>
>
  1. Connect the Nucleo Board USB ST-LINK to the PC
  2. Copy the binary or the util-binary to the USB mass storage NODE_H743
  Start the terminal emulator application on the PC. Check for the serial communication port (e.g. for Linux /dev/ttyACM0).

Revision 82022-03-08 - PeterSchmid

Line: 1 to 1
 
META TOPICPARENT name="WebHome"
%DASHBOARD{ section="banner" image="/twiki/pub/MecrispCube/MecrispCubeH743/NUCLEO-H743ZI2-header.jpg"
Changed:
<
<
title="!MecrispCube for the STM32H743 Powerhouse (NUCLEO-H743ZI)"
>
>
title="Mecrisp-Cube for the STM32H743 Powerhouse (NUCLEO-H743ZI)"
  titlestyle="color:#F00000;" }%
Intro

Revision 62022-03-06 - PeterSchmid

Line: 1 to 1
 
META TOPICPARENT name="WebHome"
%DASHBOARD{ section="banner"
Line: 25 to 25
 

Features

Changed:
<
<
  • 512? KiB RAM dictionary Yes / Done
  • 784? KiB Flash dictionary Yes / Done
  • Forth as CMSIS-RTOS thread. CMSIS-RTOS API to use FreeRTOS from Forth. Yes / Done
  • Buffered terminal I/O (5 KiB buffer for UART Rx). Interrupt driven and RTOS aware, key and emit block the calling thread. USART3: D0 RX, D1 TX Yes / Done
  • USB-CDC for serial communication via USB. Redirect console I/O like cdc-emit, cdc-key Yes / Done
  • microSD and internal Flash mass storage for blocks and FAT filesystem. Yes / Done
>
>
  • 512? KiB RAM dictionary
  • 784? KiB Flash dictionary
  • Forth as CMSIS-RTOS thread. CMSIS-RTOS API to use FreeRTOS from Forth.
  • Buffered terminal I/O (5 KiB buffer for UART Rx). Interrupt driven and RTOS aware, key and emit block the calling thread. USART3: D0 RX, D1 TX
  • USB-CDC for serial communication via USB. Redirect console I/O like cdc-emit, cdc-key
  • microSD and internal Flash mass storage for blocks and FAT filesystem.
 
Changed:
<
<
  • Digital and analog pins, Arduino Uno Header Yes / Done
>
>
  • Digital and analog pins, Arduino Uno Header
 
    • LEDs: LED1 (green, PB0), LED2 (yellow, PE1), LED3 (red, PB14)
Added:
>
>
    • Switches: SW1, Push button (PC13)
 
    • Digital port pins: D0 to D15 (ST Zio D16 to D72)
    • Analog port pins: A0 to A5 (ST Zio A6 to A8)
    • PWM:
Line: 46 to 47
 
    • Output compare TIM2: D0, D1
    • EXTI: D11, D12, D13
  • SPI: D2 SCK, D3 MISO, D4 MOSI (e.g. for display, memory)
Changed:
<
<
  • I2C: D14 SDA, D15 SCL (external peripherals Qwiic / STEMMA QT port) Yes / Done
  • vi Editor origin in BusyBox tiny vi. Workflow development: begin Edit EVALUATE while SaveFile repeat Yes / Done
  • Real Time Clock (32 bit UNIX time stamp, valid times are from 1.1.2000 to 31.12.2099 because of the STM32WB RTC peripheral) time!, time@, and .time (YYYY-MM-DDTHH:MM:SS ISO 8601). Yes / Done
>
>
  • I2C: D14 SDA, D15 SCL (external peripherals Qwiic / STEMMA QT port)
  • vi Editor origin in BusyBox tiny vi. Workflow development: begin Edit EVALUATE while SaveFile repeat
  • Real Time Clock (32 bit UNIX time stamp, valid times are from 1.1.2000 to 31.12.2099 because of the STM32WB RTC peripheral) time!, time@, and .time (YYYY-MM-DDTHH:MM:SS ISO 8601).
 
Changed:
<
<
>
>
 
    • Switches: SW1 (button A, D9), SW2 (button B, D6), SW3 (button C, D5)
    • I2C: D14 SDA, D15 SCL
Line: 233 to 234
 

STM32H743 H743ZI2 Nucleo Board

Changed:
<
<
stm32wb-nucleo.jpg
>
>
Error: (1) can't find NUCLEO-H743ZI2.jpg at /MecrispCube.MecrispCubeH743
 

Revision 52022-03-06 - PeterSchmid

Line: 1 to 1
 
META TOPICPARENT name="WebHome"
%DASHBOARD{ section="banner"
Line: 36 to 36
 
Changed:
<
<
    • LEDs: LED1 (green), LED2 (yellow), LED3 (red)
>
>
    • LEDs: LED1 (green, PB0), LED2 (yellow, PE1), LED3 (red, PB14)
 
    • Digital port pins: D0 to D15 (ST Zio D16 to D72)
    • Analog port pins: A0 to A5 (ST Zio A6 to A8)
    • PWM:
Line: 237 to 237
 
Changed:
<
<
>
>
 

Revision 42022-03-06 - PeterSchmid

Line: 1 to 1
 
META TOPICPARENT name="WebHome"
%DASHBOARD{ section="banner"
Line: 11 to 11
  A new flavor for Mecrisp-Cube: Mecrisp-Cube-H743 for STM's NUCLEO-H743ZI.
Changed:
<
<
If you need a really fast MCU (ARM Cortex M7 @ 550 MHz) then the MecrispCubeH743 could be the right Mecrisp Forth for you.
>
>
If you need a really fast MCU (ARM Cortex M7 @ 480 MHz) then the MecrispCubeH743 could be the right Mecrisp Forth for you.
  Instant real-time programming with Forth.
Line: 25 to 25
 

Features

Changed:
<
<
  • 128? KiB RAM dictionary Yes / Done
  • 1024? KiB Flash dictionary Yes / Done
>
>
  • 512? KiB RAM dictionary Yes / Done
  • 784? KiB Flash dictionary Yes / Done
 
  • Forth as CMSIS-RTOS thread. CMSIS-RTOS API to use FreeRTOS from Forth. Yes / Done
  • Buffered terminal I/O (5 KiB buffer for UART Rx). Interrupt driven and RTOS aware, key and emit block the calling thread. USART3: D0 RX, D1 TX Yes / Done
  • USB-CDC for serial communication via USB. Redirect console I/O like cdc-emit, cdc-key Yes / Done
  • microSD and internal Flash mass storage for blocks and FAT filesystem. Yes / Done
Changed:
<
<
    • Internal Flash drive 0:, 512 KiB
>
>
    • Internal Flash drive 0:, 1024 KiB
 
Changed:
<
<
  • Digital and analog pins Yes / Done
    • LEDs: LED1 (red) D13, NeoPixel D8 (RGB)
    • Digital port pins: D0 to D15 (D8 NeoPixel and D7 fake, internal)
    • Analog port pins: A0 to A6 (A6 battery voltage, internal)
>
>
  • Digital and analog pins, Arduino Uno Header Yes / Done
    • LEDs: LED1 (green), LED2 (yellow), LED3 (red)
    • Digital port pins: D0 to D15 (ST Zio D16 to D72)
    • Analog port pins: A0 to A5 (ST Zio A6 to A8)
 
    • PWM:
      • TIM3: D5, D6
      • TIM4: D9, D10, D14, D15
Line: 235 to 235
  stm32wb-nucleo.jpg
Changed:
<
<
>
>
 
Changed:
<
<
nucleo wb55rg arduino left.png
Arduino left
nucleo wb55rg arduino right.png
Arduino right
nucleo wb55rg morpho left.png
Morpho left
nucleo wb55rg morpho right2.png
Morpho right
>
>
Error: (1) can't find pinout_legend_2017-06-28-2.png at /MecrispCube.MecrispCubeH743

Error: (1) can't find nucleo_h743zi2_zio_left_2019_10_9.png at /MecrispCube.MecrispCubeH743 Error: (1) can't find nucleo_h743zi2_zio_right_2019_10_9.png at /MecrispCube.MecrispCubeH743 Error: (1) can't find nucleo_h743zi2_morpho_left_2019_10_9.png at /MecrispCube.MecrispCubeH743 Error: (1) can't find nucleo_h743zi2_morpho_right_2019_10_9.png at /MecrispCube.MecrispCubeH743

 

STM32H747 Arduino Portenta H7 Development Board

Line: 271 to 272
 
META FILEATTACHMENT attachment="NUCLEO-H743ZI2.jpg" attr="" comment="" date="1646579079" name="NUCLEO-H743ZI2.jpg" path="NUCLEO-H743ZI2.jpg" size="1733514" user="PeterSchmid" version="1"
META FILEATTACHMENT attachment="ABX00045_02.front_1000x750.webp" attr="" comment="" date="1646581311" name="ABX00045_02.front_1000x750.webp" path="ABX00045_02.front_1000x750.webp" size="121048" user="PeterSchmid" version="1"
META FILEATTACHMENT attachment="ABX00042-pinout.png" attr="" comment="" date="1646581311" name="ABX00042-pinout.png" path="ABX00042-pinout.png" size="381064" user="PeterSchmid" version="1"
Added:
>
>
META FILEATTACHMENT attachment="nucleo_h743zi2_morpho_left_2019_10_9.png" attr="" comment="" date="1646586879" name="nucleo_h743zi2_morpho_left_2019_10_9.png" path="nucleo_h743zi2_morpho_left_2019_10_9.png" size="469554" user="PeterSchmid" version="1"
META FILEATTACHMENT attachment="nucleo_h743zi2_morpho_right_2019_10_9.png" attr="" comment="" date="1646586879" name="nucleo_h743zi2_morpho_right_2019_10_9.png" path="nucleo_h743zi2_morpho_right_2019_10_9.png" size="408679" user="PeterSchmid" version="1"
META FILEATTACHMENT attachment="nucleo_h743zi2_zio_left_2019_10_9.png" attr="" comment="" date="1646586879" name="nucleo_h743zi2_zio_left_2019_10_9.png" path="nucleo_h743zi2_zio_left_2019_10_9.png" size="510700" user="PeterSchmid" version="1"
META FILEATTACHMENT attachment="nucleo_h743zi2_zio_right_2019_10_9.png" attr="" comment="" date="1646586879" name="nucleo_h743zi2_zio_right_2019_10_9.png" path="nucleo_h743zi2_zio_right_2019_10_9.png" size="433662" user="PeterSchmid" version="1"
META FILEATTACHMENT attachment="pinout_legend_2017-06-28-2.png" attr="" comment="" date="1646586879" name="pinout_legend_2017-06-28-2.png" path="pinout_legend_2017-06-28-2.png" size="34746" user="PeterSchmid" version="1"

Revision 32022-03-06 - PeterSchmid

Line: 1 to 1
 
META TOPICPARENT name="WebHome"
%DASHBOARD{ section="banner"
Changed:
<
<
image="/twiki/pub/MecrispCube/BoardSupportPackageF405/feather-stm32f405-head.jpg"
>
>
image="/twiki/pub/MecrispCube/MecrispCubeH743/NUCLEO-H743ZI2-header.jpg"
  title="!MecrispCube for the STM32H743 Powerhouse (NUCLEO-H743ZI)" titlestyle="color:#F00000;" }%
Line: 16 to 16
 Instant real-time programming with Forth.
Deleted:
<
<
Arduino Portenta H7?
 Sources on GitHub (H743 branch on Mecrisp-Cube)

Line: 230 to 228
 
Added:
>
>

STM32H7 Development Boards

STM32H743 H743ZI2 Nucleo Board

stm32wb-nucleo.jpg

nucleo wb55rg arduino left.png
Arduino left
nucleo wb55rg arduino right.png
Arduino right
nucleo wb55rg morpho left.png
Morpho left
nucleo wb55rg morpho right2.png
Morpho right

STM32H747 Arduino Portenta H7 Development Board

This Arduino Portenta H7 development board follows the Arduino MKR form factor, but enhanced with the Portenta family 80 pin high-density connector.

Why should I use this board? It is less powerful than a Raspberry Pi and is even more expensive! The Raspi draws much more current and therefore cannot be operated with a battery.

https://docs.arduino.cc/hardware/portenta-h7

No Board Support Package yet.

 
Line: 237 to 266
 -- Peter Schmid - 2022-03-04

Creative Commons License
This work by Peter Schmid is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. \ No newline at end of file

Added:
>
>
META FILEATTACHMENT attachment="NUCLEO-H743ZI2-header.jpg" attr="" comment="" date="1646579079" name="NUCLEO-H743ZI2-header.jpg" path="NUCLEO-H743ZI2-header.jpg" size="86333" user="PeterSchmid" version="1"
META FILEATTACHMENT attachment="NUCLEO-H743ZI2.jpg" attr="" comment="" date="1646579079" name="NUCLEO-H743ZI2.jpg" path="NUCLEO-H743ZI2.jpg" size="1733514" user="PeterSchmid" version="1"
META FILEATTACHMENT attachment="ABX00045_02.front_1000x750.webp" attr="" comment="" date="1646581311" name="ABX00045_02.front_1000x750.webp" path="ABX00045_02.front_1000x750.webp" size="121048" user="PeterSchmid" version="1"
META FILEATTACHMENT attachment="ABX00042-pinout.png" attr="" comment="" date="1646581311" name="ABX00042-pinout.png" path="ABX00042-pinout.png" size="381064" user="PeterSchmid" version="1"

Revision 22022-03-05 - PeterSchmid

Line: 1 to 1
 
META TOPICPARENT name="WebHome"
%DASHBOARD{ section="banner"
Line: 7 to 7
  titlestyle="color:#F00000;" }%
Intro
Added:
>
>
DRAFT
 A new flavor for Mecrisp-Cube: Mecrisp-Cube-H743 for STM's NUCLEO-H743ZI.

If you need a really fast MCU (ARM Cortex M7 @ 550 MHz) then the MecrispCubeH743 could be the right Mecrisp Forth for you.

Revision 12022-03-04 - PeterSchmid

Line: 1 to 1
Added:
>
>
META TOPICPARENT name="WebHome"
MecrispCube for the STM32H743 Powerhouse (NUCLEO-H743ZI)
Intro
A new flavor for Mecrisp-Cube: Mecrisp-Cube-H743 for STM's NUCLEO-H743ZI.

If you need a really fast MCU (ARM Cortex M7 @ 550 MHz) then the MecrispCubeH743 could be the right Mecrisp Forth for you.

Instant real-time programming with Forth.

Arduino Portenta H7?

Sources on GitHub (H743 branch on Mecrisp-Cube)

Features

  • 128? KiB RAM dictionary Yes / Done
  • 1024? KiB Flash dictionary Yes / Done
  • Forth as CMSIS-RTOS thread. CMSIS-RTOS API to use FreeRTOS from Forth. Yes / Done
  • Buffered terminal I/O (5 KiB buffer for UART Rx). Interrupt driven and RTOS aware, key and emit block the calling thread. USART3: D0 RX, D1 TX Yes / Done
  • USB-CDC for serial communication via USB. Redirect console I/O like cdc-emit, cdc-key Yes / Done
  • microSD and internal Flash mass storage for blocks and FAT filesystem. Yes / Done
  • Digital and analog pins Yes / Done
    • LEDs: LED1 (red) D13, NeoPixel D8 (RGB)
    • Digital port pins: D0 to D15 (D8 NeoPixel and D7 fake, internal)
    • Analog port pins: A0 to A6 (A6 battery voltage, internal)
    • PWM:
      • TIM3: D5, D6
      • TIM4: D9, D10, D14, D15
    • Input capture TIM2: A1,
    • Output compare TIM2: D0, D1
    • EXTI: D11, D12, D13
  • SPI: D2 SCK, D3 MISO, D4 MOSI (e.g. for display, memory)
  • I2C: D14 SDA, D15 SCL (external peripherals Qwiic / STEMMA QT port) Yes / Done
  • vi Editor origin in BusyBox tiny vi. Workflow development: begin Edit EVALUATE while SaveFile repeat Yes / Done
  • Real Time Clock (32 bit UNIX time stamp, valid times are from 1.1.2000 to 31.12.2099 because of the STM32WB RTC peripheral) time!, time@, and .time (YYYY-MM-DDTHH:MM:SS ISO 8601). Yes / Done

  • OLED FeatherWing 128x32 Yes / Done
    • Switches: SW1 (button A, D9), SW2 (button B, D6), SW3 (button C, D5)
    • I2C: D14 SDA, D15 SCL

For more BSP details see BoardSupportPackageH743.

Getting Started

These instructions will get you a copy of the project up and running on your local machine (STM's NUCLEO-H743ZI board) for development and testing purposes.

Prerequisites

  • STM's NUCLEO-H743ZI
  • Terminal emulator application for PC, e.g.:
    • PuTTY - Windows and Linux
    • Tera Term - Windows
    • Realterm - Windows
    • minicom, microcom, screen - Linux
    • Use the built in Eclipse console (but no LF)

Flash the Mecrisp-Cube binary (MecrispCubeF405.bin) or the util-binary (MecrispCubeF405Util.bin) to the Feather Board.

  1. Connect the BOOTP (BO Pin) to 3.3V
  2. Connect the Feather Board USB to the PC
  3. Program the binary with the STMCubeProgrammer
  4. Disconnect the BOOTP (BO Pin)
  5. Reset or power cycle the Feather board

Start the terminal emulator application on the PC. Check for the serial communication port (e.g. for Linux /dev/ttyACM0). I set the putty terminal configuration to

  • Implicit CR in every LF
  • Local echo: Auto
  • Local line editing: Auto
  • Keyboard Backspace: Control-H
  • Keyboard Function: Keys VT100
  • Remote character set: CP850

Mecrisp-Stellaris RA 2.5.4 by Matthias Koch.

Mecrisp-Cube 1.4.3 for STM32F405, 31/768 KiB RAM/FLASH dictionary (C) 2021 peter@spyr.ch
  * Firmware Package STM32Cube F4 V1.26.0, USB-CDC (C) 2021 STMicroelectronics
  * CMSIS-RTOS V2 FreeRTOS wrapper, FreeRTOS Kernel V10.3.1 (C) 2020 Amazon.com
  * FatFs for serial flash and microSD - Generic FAT fs module  R0.12c (C) 2017 ChaN
  * tiny vi - part of BusyBox (C) 2000, 2001 Sterling Huxley

include 0:/etc/rc.local

23 5 / .[CR] 4  ok.
: hello ." World" ;[CR]  ok.
hello[CR] World ok.

Additional Tools and Local Filesystem

Populate a microSD with the contents of sdcard. Put the microSD into the F405 slot and reset or power cycle the board.

The directory should look like this:

ls -l 1:[CR]
drw-         0 2021-04-18T18:12:38 boot
drw-         0 2021-03-21T18:47:52 etc
drw-         0 2021-03-21T18:47:54 fsr
drw-         0 2021-03-21T18:47:54 home
drw-         0 2021-03-21T18:47:56 man
-rwa      7219 2021-01-08T19:42:36 README.md
ok.

You can use the local CLI commands like mkfs, mkdir and cp to create a filesystem on the serial flash and fill it with files and folders. But this is tedious job because I haven't yet implemented a recursive copy for MecrispCube. But there is prepared disk image (for details see MicroSdBlocks#Serial_Flash) on microSD and the tool dd. You can copy the disk image to the drive 0: (this takes about 2 Minutes):

dd 1:/boot/fd-2MiB.img 0:[CR]
 ok.
mount 0:[CR]
 ok.
ls 0:[CR]
man                     fsr                     README.md               boot
etc                     home
 ok.

The Mecrisp have some tools bundled in its distribution e.g. assembler, disassembler, dump, float. I put those tools and some more into the folder /fsr. With the "init.fs script" I compile my favorite ones into the flash directory:

compiletoflash[CR]  ok.
include /etc/init.fs[CR]
init.fs Loading started
RAM Dictionary: 392991 KiB
utils.fs loading ...
conditional.fs loading ...
dump.fs loading ...
disassembler-m3.fs loading ...
float.fs loading ...
threads.fs loading ...
RAM Dictionary: 392981 KiB
init.fs finished  ok.

For example, the word disassember is available now:

see dump[CR]
080405F0: B500  push { lr }
080405F2: F7C2  bl  08002A3E  --> cr
080405F4: FA24
080405F6: CF08  ldmia r7 { r3 }
080405F8: F013  ands r2 r3 #F
080405FA: 020F
080405FC: F847  str r3 [ r7 #-4 ]!
080405FE: 3D04
08040600: 2A00  cmp r2 #0
08040602: D000  beq 08040606
08040604: 3610  adds r6 #10
08040606: CF08  ldmia r7 { r3 }
08040608: F847  str r6 [ r7 #-4 ]!

Installing

A step by step series of examples that tell you how to get a development env running

Install the IDE STM32CubeIDE, it is Eclipse and GCC based. STM32CubeMX is included in the IDE, you need a stand alone installation only if you do not want to use the STM32CubeIDE.

Get the sources from github:

psi@homer:~> git clone --branch F405 https://github.com/spyren/Mecrisp-Cube
Klone nach 'Mecrisp-Cube' ...
remote: Enumerating objects: 1157, done.
remote: Counting objects: 100% (1157/1157), done.
remote: Compressing objects: 100% (620/620), done.
remote: Total 3183 (delta 720), reused 934 (delta 525), pack-reused 2026
Empfange Objekte: 100% (3183/3183), 41.60 MiB | 6.96 MiB/s, Fertig.
Löse Unterschiede auf: 100% (2100/2100), Fertig.

Import the project into the IDE:

File -> Import -> General -> Existing Projects into Workspace -> Select root directory
Copy project into workspace
Browse to Mecrisp-Cube directory

Generate code from the STM32CubeMX MecrispCubeF405.ioc file:

Project -> Generate Code 

Restore changed source files

$ git status
{list of changed files}
$ git restore {files to restore} 

Select the Build Configuration (Debug if you want to debug the project) and Build the project:

Project -> Build Configurations -> Set Active -> Debug/Release 
Project -> Build Project

-- Peter Schmid - 2022-03-04

Creative Commons License
This work by Peter Schmid is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2025 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback