STM32 Nucleo

From Axel Public Wiki
Jump to: navigation, search

STM32 Nucleo F767ZI demo board can be used with LogicLab Automation Suite.

All informations about Nucleo F767ZI target board and ST software are available on STMicroelectronics website [1]

How to start

1) Download Axel Automation Suite

2) Install Axel Automation Suite

3) Start LogicLab and create new Nucleo project (available for Nucleo F767ZI and F207ZG demo board)

 NewNucleoProject.jpg

4) From the main target page open user manual

 NucleoUserManual.jpg

5) See user manual chapter 3 - Firmware Upgrade to configure Nucleo target board with Axel Nucleo firmware

6) See user manual chapter 1 - Quickstart to connect to target device via USB-Serial or Ehernet

7) Once connected to target, enter product key provided by Axel in main target page

 NucleoLicense.jpg

8) Nucleo is now ready for LogicLab

User plugins and firmware development

Nucleo firmware source can be provided by Axel only by explicit request.

If request is accepted Axel will provide firmware sources and guidelines for development.

Nucleo firmware has been developed using STM32CubeIDE.

See Nucleo versions for the STM32CubeIDE version used for development.

Supported Nucleo versions

Nucleo F767ZI demo board

Nucleo F767ZI 3p0

  • PLC
  • SoftScope
  • Database
  • Local I/O (plugin sample)
  • Modbus RTU master
  • Modbus RTU slave
  • CANopen master
  • Modbus TCP master (new)
  • Modbus TCP slave
  • Symbols server (new)
  • Network scan support
  • Plugin API for custom plugins development
  • Plugin builder (new)

Quickstart and documentation Nucleo_F767ZI_3p0.pdf

Firmware developed and tested with STM32CubeIDE 1.5.1

Nucleo F767ZI 2p0

  • PLC
  • SoftScope (new)
  • Database
  • Local I/O (plugin sample)
  • Modbus RTU master
  • Modbus RTU slave
  • CANopen master
  • Modbus TCP slave (new)
  • Network scan support (new)
  • Plugin API for custom plugins development (new)

Quickstart and documentation Nucleo_F767ZI_2p0.pdf

Firmware developed and tested with STM32CubeIDE 1.3.0

Nucleo F767ZI 1p0

  • PLC
  • Database
  • Local I/O
  • Modbus RTU master
  • Modbus RTU slave
  • CANopen master
  • Modbus TCP slave

Firmware developed and tested with STM32CubeIDE 1.3.0

Quickstart and documentation Nucleo_F767ZI_1p0.pdf

Nucleo F207ZG demo board

Nucleo F207ZG 1p0

  • PLC
  • SoftScope
  • Database
  • Local I/O (plugin sample)
  • Modbus RTU slave
  • Plugin API for custom plugins development

Firmware developed and tested with STM32CubeIDE 1.5.1

Quickstart and documentation Nucleo_F207ZG_1p0.pdf

N.B.: Requires WinCommLibs version >= 12.1.0.13 (installed by Axel Automation Suite version >= 3.02.03.00)

Nucleo H743ZI2 demo board

Nucleo H743ZI2 1p0

  • PLC
  • SoftScope
  • Database
  • Local I/O (plugin sample)
  • Modbus RTU slave
  • EtherCAT plugin
  • Plugin API for custom plugins development

Firmware developed and tested with STM32CubeIDE 1.5.1

Quickstart and documentation [TODO]

N.B.: Requires WinCommLibs version >= 12.1.0.13 (installed by Axel Automation Suite version >= 3.02.03.00)


Firmware notes

Nucleo F767ZI

Based on Nucleo F767ZI 3p0 firwmare

Plugin/sw component Is plugin Flash RAM Description Notes Customizations info
for other porting
based on this target
AlPlcRuntimeCore & porting No 24 KB 48 KB Validate, manage and run PLC code Includes math, real plugins, functions to manage system events, download and storage Mandatory component
AlPlcRuntimeCore (STRING) No 20 KB 0 KB String plugin Support for operations with ascii strings and wide strings:
CONCAT, DELETE, FIND, INSERT, LEFT, LEN, MID, REPLACE, RIGHT
String to number and number to string conversion functions
Optional component
AlPlcRuntimeCore (TIME) No 6 KB 0 KB Time plugin Support for operations with Date:
CONCAT_DATE, CONCAT_DATE_LTOD, CONCAT_DATE_TOD, CONCAT_LDATE, CONCAT_LTOD, CONCAT_TOD,
DAY_OF_WEEK, SPLIT_DATE, SPLIT_LTOD, SPLIT_TOD
Support for operations with Date and Time:
CONCAT_DT, CONCAT_LDT, SPLIT_DT, SPLIT_LDT
Optional component
PLC code No 512 KB - - - - - Reserved area for PLC application code Code is run directly from flash Size can be customized.
Execution mode from RAM can be implemented
PLC data No - - - - - 128 KB Reserved area for PLC application variables Size can be customized
Database No 16 KB 1 KB + (***) Manage persistency and access to system and application parameters Requires reserved flash sectors for parameters values storage (**) Basic database required for LogicLab communication.
No persistency required.
Other feature and persistency are customizable
Modbus TCP slave No 12 KB 16 KB Allow a client to access database parameters via Modbus TCP Requires LwIP stack Optional component.
Mandatory if Modbus RTU slave is not available
Network scan No 1 KB 4 KB Manage UDP requests for target recognition Optional component
FreeRTOS + HAL drivers + LwIP stack + other No 164 KB 72 KB FreeRTOS real time O.S., low level drivers, TCP/IP stack, main, wrappers LwIP required for Modbus TCP slave, Network scan, Modbus TCP master Depending on system configuration
SoftScope Yes 7 KB 16 KB Real time oscilloscope plugin 8KB of data required for data transfer in real time mode (acquisitions of 8 tracks at 1 ms) Optional component
Local I/O Yes 1 KB 1 KB Basic I/O plugin Customizable depending on the I/O
Modbus RTU master + slave Yes 17 KB 65 KB + (*) Modbus RTU master + slave stack Configured to manage up to 32 slaves Optional component.
Mandatory if Modbus TCP slave is not available
CANopen master Yes 18 KB 2 KB + (*) CANopen master stack Can manage up to 126 slaves Optional component
Modbus TCP master Yes 18 KB 26 KB + (*) Modbus TCP master stack Configured to manage up to 16 slaves. Requires LwIP stack Optional component
Symbols server Yes 46 KB 1 KB + (*) Allow access to PLC symbols from clients that uses LLSymbols.dll Symbols table is allocated into PLC code area Optional component
Total size (No PLC areas) 350 KB 263 KB Fimware occupation NOT including PLC code and data reserved area
Total size 862 KB 391 KB Fimware occupation including PLC code and data reserved area 512 KB for PLC code, 128 KB for PLC data
Nucleo F767ZI memory 2048 KB 512 KB

(*) some resources, depending on user configuration, are allocated into PLC data area when plugin configuration code is generated.

(**) database manager can be configured to save parameters into file systems or EEPROM if available

(***) 2 KB for parameters and status variables datablocks

Nucleo F207ZG

Based on Nucleo F207ZG 1p0 firwmare

Plugin/sw component Is plugin Flash RAM Description Notes Customizations info
for other porting
based on this target
AlPlcRuntimeCore & porting No 24 KB 36 KB Validate, manage and run PLC code Includes math, real, string and time plugins, functions to manage system events, download and storage Mandatory component
AlPlcRuntimeCore (STRING) No 20 KB 0 KB String plugin Support for operations with ascii strings and wide strings:
CONCAT, DELETE, FIND, INSERT, LEFT, LEN, MID, REPLACE, RIGHT
String to number and number to string conversion functions
Optional component
AlPlcRuntimeCore (TIME) No 6 KB 0 KB Time plugin Support for operations with Date:
CONCAT_DATE, CONCAT_DATE_LTOD, CONCAT_DATE_TOD, CONCAT_LDATE, CONCAT_LTOD, CONCAT_TOD,
DAY_OF_WEEK, SPLIT_DATE, SPLIT_LTOD, SPLIT_TOD
Support for operations with Date and Time:
CONCAT_DT, CONCAT_LDT, SPLIT_DT, SPLIT_LDT
Optional component
PLC code No 128 KB - - - - - Reserved area for PLC application code Code is run directly from flash Size can be customized.
Execution mode from RAM can be implemented
PLC data No - - - - - 32 KB Reserved area for PLC application variables Size can be customized
Database No 16 KB 1 KB + (***) Manage persistency and access to system and application parameters Requires reserved flash sectors for parameters values storage (**) Basic database required for LogicLab communication.
No persistency required.
Other feature and persistency are customizable
FreeRTOS + HAL drivers + other No 53 KB 18 KB FreeRTOS real time O.S., low level drivers, main, wrappers Depending on system configuration
SoftScope Yes 7 KB 18 KB Real time oscilloscope plugin 8KB of data required for data transfer in real time mode (acquisitions of 8 tracks at 1 ms) Optional
Local I/O Yes 1 KB 1 KB Basic I/O plugin Customizable
Modbus RTU slave Yes 13 KB 1 KB Modbus RTU slave stack Mandatory component
Firmware size
(No PLC areas)
140 KB 75 KB Fimware occupation NOT including PLC code and data reserved area
Total firmware size 268 KB 107 KB Fimware occupation including PLC code and data reserved area 128 KB for PLC code, 32 KB for PLC data
Nucleo F207ZG memory 1024 KB 128 KB

(*) some resources, depending on user configuration, are allocated into PLC data area when plugin configuration code is generated.

(**) database manager can be configured to save parameters into file systems or EEPROM if available

(***) 2 KB for parameters and status variables datablocks

Nucleo H743ZI2

Based on Nucleo H743ZI2 1p0 firwmare

Plugin/sw component Is plugin Flash RAM Description Notes Customizations info
for other porting
based on this target
AlPlcRuntimeCore & porting No 24 KB 36 KB Validate, manage and run PLC code Includes math, real, string and time plugins, functions to manage system events, download and storage Mandatory component
AlPlcRuntimeCore (STRING) No 20 KB 0 KB String plugin Support for operations with ascii strings and wide strings:
CONCAT, DELETE, FIND, INSERT, LEFT, LEN, MID, REPLACE, RIGHT
String to number and number to string conversion functions
Optional component
AlPlcRuntimeCore (TIME) No 6 KB 0 KB Time plugin Support for operations with Date:
CONCAT_DATE, CONCAT_DATE_LTOD, CONCAT_DATE_TOD, CONCAT_LDATE, CONCAT_LTOD, CONCAT_TOD,
DAY_OF_WEEK, SPLIT_DATE, SPLIT_LTOD, SPLIT_TOD
Support for operations with Date and Time:
CONCAT_DT, CONCAT_LDT, SPLIT_DT, SPLIT_LDT
Optional component
PLC code No 256 KB - - - - - Reserved area for PLC application code Code is run directly from flash Size can be customized.
Execution mode from RAM can be implemented
PLC data No - - - - - 128 KB Reserved area for PLC application variables Size can be customized
Database No 16 KB 1 KB + (*1) Manage persistency and access to system and application parameters Requires reserved flash sectors for parameters values storage (*2) Basic database required for LogicLab communication.
No persistency required.
Other feature and persistency are customizable
FreeRTOS + HAL drivers + other No 73 KB 53 KB FreeRTOS real time O.S., low level drivers, main, wrappers Depending on system configuration
SoftScope Yes 9 KB 11 KB Real time oscilloscope plugin 8KB of data required for data transfer in real time mode (acquisitions of 8 tracks at 1 ms) Optional
Local I/O Yes 3 KB 0.01 KB Basic I/O plugin Customizable
Modbus RTU slave Yes 21 KB 2 KB Modbus RTU slave stack Mandatory component
EtherCAT Yes 324 KB 150 KB (*3) EtherCAT master stack Requires reserved flash sectors for parameters values storage Optional
Ethercat CNF/ENI file storage Yes 256 KB 0 KB Reserved flash areas for ECAT configuration files storage. Size can be customized Mandatory when EtherCAT is used
Firmware size
(No PLC areas)
496 KB 253 KB Fimware occupation NOT including PLC code and data reserved area, not including EtherCAT configuration storage area
Total firmware size 1008 KB 381 KB Fimware occupation including PLC code and data reserved area, including EtherCAT configuration storage area 256KB for PLC code, 128 KB for PLC data, 256KB for EtherCAT configuration storage
Nucleo H743ZI2 memory 2048 KB 1024 KB

(*1) 2 KB for parameters and status variables datablocks

(*2) database manager can be configured to save parameters into file systems or EEPROM if available

(*3) Includes 97KB RAM used for dynamic allocation

Firmware versions release notes

NUCLEO_STM32F767ZI_RTOS_3.0.3_20210806.bin

  • Database bugfix for multiple read holding registers operations.

NUCLEO_STM32F767ZI_RTOS_3.0.2_20210730.bin

  • CAN driver configuration issues fixed. CANopen can be now configured at the specified baudrate.

NUCLEO_STM32F767ZI_RTOS_3.0.1_20210707.bin

  • Auto IP setting (if no DHCP server is available, IP address is automatically assigned) for LLScan

NUCLEO_STM32F767ZI_RTOS_3.0.0_20210423.bin

  • Initial NUCLEO_F767ZI 3.0 target version