STM32 Nucleo: Difference between revisions

From Axel Public Wiki
Jump to navigation Jump to search
 
(261 intermediate revisions by the same user not shown)
Line 1: Line 1:
We're sorry, this page is under construction
STM32 Nucleo F767ZI demo board can be used with LogicLab Automation Suite.


This guide is intended for STM32 Nucleo F767ZI demo board, with Axel runtime.
All informations about Nucleo F767ZI target board and ST software are available on STMicroelectronics website [https://www.st.com/content/st_com/en/products/evaluation-tools/product-evaluation-tools/mcu-mpu-eval-tools/stm32-mcu-mpu-eval-tools/stm32-nucleo-boards/nucleo-f767zi.html]


== Quickstart ==
= How to start =


=== USB connection ===
1) Download [https://www.axelsoftware.it/en/download/ Axel Automation Suite]
It is possible to connect the Nucleo board via USB-Serial connection; just refer to the following steps:
* Connect USB cable into CN1 connector.
* Open LogicLab.
* Create new Nucleo_F767ZI project.
* Select from LogicLab main menu bar ''On-line'' -> ''Set up communication''.
* Select ''Modbus'' protocol, click on ''Activate'' button and then on ''Properties'' button, the settings dialog will appear; configure it as shown in the image below:


[[File:Nucleo-USBConnection1.jpg]]
2) Install Axel Automation Suite


* Click ''Ok''
3) Start LogicLab and create new Nucleo project (available for Nucleo F767ZI and F207ZG demo board)
* Now from the main menu bar, choose ''On-line'' -> ''Connect''
* Now, in the right-lower corner of the application window, you should see a green rectangle with the word ''CONNECTED'' written inside.


=== Ethernet connection ===
  [[File:NewNucleoProject.jpg]]
It is possible to connect the Nucleo board via Ethernet; just refer to the following steps:
* Connect to Ethernet LAN plugging cable into CN14 connector.
* Open LogicLab
* Click ''Scan Network…'' button
* If Nucleo board is recognized, you should see this results table:


[[File:Nucleo-EthScan.jpg]]
4) From the main target page open user manual


* By default, IP address is assigned by DHCP
  [[File:NucleoUserManual.jpg]]
* Click on the (+) button to automatically create a new nucleo project with the right communication settings


[[File:Nucleo-EthConfig.jpg]]
5) See user manual chapter ''3 - Firmware Upgrade'' to configure Nucleo target board with Axel Nucleo firmware


* From the main menu bar choose ''On-line'' -> ''Connect''
6) See user manual chapter ''1 - Quickstart'' to connect to target device via USB-Serial or Ehernet
* Now, in the right-lower corner of the application window, you should see a green rectangle with the word CONNECTED written inside.


==== Modify ethernet communication settings ====
7) Once connected to target, enter product key provided by Axel in main target page
If the IP address cannot be correctly assigned by DHCP, it is possible to manually configure a fixed IP address for the Nucleo board. See the following instruction:
* Connect USB cable into CN1 connector
* Open SoftTune
* Create new Nucleo_F767ZI project
* From the menu bar choose ''Target'' -> ''Communication settings''
* Select ''Modbus'' protocol, then click on ''Activate'' and then click on ''Properties''
* Configure the Modbus setting as shown in the following image (specify the USB virtual COM port as recognized by your system):


[[File:Nucleo-USBConnection1.jpg]]
  [[File:NucleoLicense.jpg]]


* Click OK
8) Nucleo is now ready for LogicLab
* Click on the connection Icon
* In the bottom-right corner of the application window, you should see a green rectangle with ''CONNECTED'' written inside
* Inside the parameters tree, select ''All Parameters'' -> ''Communication'' -> '' Configure TCP IP address'', and specify the desired IP address (this should write the parameter inside the target)
* Save parameters and reboot (from the menu bar choose ''Target'' -> ''Save parameter'', then ''Target'' -> ''Device reboot''
* Connect LogicLab to target via Ethernet (see 1.2 Ethernet connection)


== Peripheral connection ==
== User plugins and firmware development ==
{| border="1" cellpadding="3" cellspacing="0" style="text-align:left;"
 
!Peripheral
Nucleo firmware source can be provided by Axel only by explicit request.
!Connector
 
!Description
If request is accepted Axel will provide firmware sources and guidelines for development.
!Usage
 
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 [https://www.axelsw.it/pwiki/pub/Nucleo_F767ZI_3p0.pdf 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 [https://www.axelsw.it/pwiki/pub/Nucleo_F767ZI_2p0.pdf 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 [https://www.axelsw.it/pwiki/pub/Nucleo_F767ZI_1p0.pdf 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 [https://www.axelsw.it/pwiki/pub/Nucleo_F207ZG_1p0.pdf 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
 
{|class="wikitable"
! Plugin/sw component
! Is plugin
! Flash
! RAM
! Description
! Notes
! Customizations info<br>for other porting<br>based on this target
|-
|style="background-color:HoneyDew" | 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
|-
|style="background-color:Ivory" | AlPlcRuntimeCore (STRING)
|No
|20 KB
|0 KB
|String plugin
|Support for operations with ascii strings and wide strings:<br>CONCAT, DELETE, FIND, INSERT, LEFT, LEN, MID, REPLACE, RIGHT<br>String to number and number to string conversion functions
|Optional component
|-
|style="background-color:Ivory" | AlPlcRuntimeCore (TIME)
|No
|6 KB
|0 KB
|Time plugin
|Support for operations with Date:<br>CONCAT_DATE, CONCAT_DATE_LTOD, CONCAT_DATE_TOD, CONCAT_LDATE, CONCAT_LTOD, CONCAT_TOD,<br>DAY_OF_WEEK, SPLIT_DATE, SPLIT_LTOD, SPLIT_TOD<br>Support for operations with Date and Time:<br>CONCAT_DT, CONCAT_LDT, SPLIT_DT, SPLIT_LDT
|Optional component
|-
|style="background-color:HoneyDew" | PLC code
|No
|512 KB
| - - - - -
|Reserved area for PLC application code
|Code is run directly from flash
|'''Size can be customized.<br>Execution mode from RAM can be implemented'''
|-
|style="background-color:HoneyDew" | PLC data
|No
| - - - - -
|128 KB
|Reserved area for PLC application variables
|
|'''Size can be customized'''
|-
|-
|Ethernet || CN14 || RJ45 port || Modbus TCP slave
|style="background-color:HoneyDew" | 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.'''<br>No persistency required.<br>Other feature and persistency are customizable
|-
|-
|USB || CN1 || USB-RS232 virtual port || Modbus RTU slave
|style="background-color:Ivory" | Modbus TCP slave
|No
|12 KB
|16 KB
|Allow a client to access database parameters via Modbus TCP
|Requires LwIP stack
|Optional component.<br>Mandatory if Modbus RTU slave is not available
|-
|-
|GPIO - Out  || CN12 – Pin 11 (PA5) || GPIO digital output pin || I/O
|style="background-color:Ivory" | Network scan
|No
|1 KB
|4 KB
|Manage UDP requests for target recognition
|
|Optional component
|-
|-
|GPIO - Out  || CN12 – Pin 13 (PA6) || GPIO digital output pin || I/O
|style="background-color:HoneyDew" | 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'''
|-
|-
|GPIO - In  || CN12 – Pin 23 (PA8) || GPIO digital input pin || I/O
|style="background-color:Ivory" | 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
|-
|-
|GPIO - In  || CN12 – Pin 21 (PA9) || GPIO digital input pin || I/O
|style="background-color:Ivory" | Local I/O
|Yes
|1 KB
|1 KB
|Basic I/O plugin
|
|Customizable depending on the I/O
|-
|-
|CAN Rx  || CN11 – Pin 57 (PD0) || CAN Rx signal || CAN Open master
|style="background-color:Ivory" | Modbus RTU master + slave
|Yes
|17 KB
|65 KB + (*)
|Modbus RTU master + slave stack
|Configured to manage up to 32 slaves
|Optional component.<br>Mandatory if Modbus TCP slave is not available
|-
|-
|CAN Tx  || CN11 – Pin 55 (PD1) || CAN Tx signal || CAN Open master
|style="background-color:Ivory" | CANopen master
|Yes
|18 KB
|2 KB + (*)
|CANopen master stack
|Can manage up to 126 slaves
|Optional component
|-
|-
|USART1 Rx  || CN12 – Pin 26 (PB15) || RS485 Rx signal || Modbus RTU master
|style="background-color:Ivory" | Modbus TCP master
|Yes
|18 KB
|26 KB + (*)
|Modbus TCP master stack
|Configured to manage up to 16 slaves. Requires LwIP stack
|Optional component
|-
|-
|USART1 Tx  || CN12 – Pin 28 (PB14) || RS485 Tx signal || Modbus RTU master
|style="background-color:Ivory" | 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
|-
|-
|USART1 DE  || CN12 – Pin 12 (PA12) || RS485 Direction enable signal || Modbus RTU master
|'''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
|
|}
|}


== Firmware upgrade ==
(*) some resources, depending on user configuration, are allocated into PLC data area when plugin configuration code is generated.
This is the procedure to prepare Nucleo F767ZI demo board to run Axel PLC.
 
(**) 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


N.B: all data on the flash will be erased, that means '''license key will be erased''' too. <br/>If the target has been already licensed please be sure to have the license key available. You can read it from target using SoftTune before proceeding with the target upgrade.
{|class="wikitable"
* Download “STM32 ST-LINK Utility” application from ST official website at the following link <br/> https://www.st.com/en/development-tools/stsw-link004.html#get-software
! Plugin/sw component
* Connect Nucleo F767ZI demo board to PC using USB (CN1 connector)
! Is plugin
* Launch “STM32 ST-LINK Utility”
! Flash
* Connect to target (''Target'' -> ''Connect'')
! RAM
* Erase the flash (''Target'' -> ''Erase chip'')
! Description
* Prepare to download (''Target'' -> ''Program & Verify'')
! Notes
* Choose the new firmware (Select the new firmware file from Axel Installation folder, for example "C:\Program Files (x86)\Axel PC Tools\Catalog\Nucleo_F767ZI_1p0\Firmware\NUCLEO_STM32F767ZI_RTOS_1p0.bin")
! Customizations info<br>for other porting<br>based on this target
|-
|style="background-color:HoneyDew" | 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
|-
|style="background-color:Ivory" | AlPlcRuntimeCore (STRING)
|No
|20 KB
|0 KB
|String plugin
|Support for operations with ascii strings and wide strings:<br>CONCAT, DELETE, FIND, INSERT, LEFT, LEN, MID, REPLACE, RIGHT<br>String to number and number to string conversion functions
|Optional component
|-
|style="background-color:Ivory" | AlPlcRuntimeCore (TIME)
|No
|6 KB
|0 KB
|Time plugin
|Support for operations with Date:<br>CONCAT_DATE, CONCAT_DATE_LTOD, CONCAT_DATE_TOD, CONCAT_LDATE, CONCAT_LTOD, CONCAT_TOD,<br>DAY_OF_WEEK, SPLIT_DATE, SPLIT_LTOD, SPLIT_TOD<br>Support for operations with Date and Time:<br>CONCAT_DT, CONCAT_LDT, SPLIT_DT, SPLIT_LDT
|Optional component
|-
|style="background-color:HoneyDew" | PLC code
|No
|128 KB
| - - - - -
|Reserved area for PLC application code
|Code is run directly from flash
|'''Size can be customized.<br>Execution mode from RAM can be implemented'''
|-
|style="background-color:HoneyDew" | PLC data
|No
| - - - - -
|32 KB
|Reserved area for PLC application variables
|
|'''Size can be customized'''
|-
|style="background-color:HoneyDew" | 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.'''<br>No persistency required.<br>Other feature and persistency are customizable
|-
|style="background-color:HoneyDew" | FreeRTOS + HAL drivers + other
|No
|53 KB
|18 KB
|FreeRTOS real time O.S., low level drivers, main, wrappers
|
|'''Depending on system configuration'''
|-
|style="background-color:Ivory" | 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
|-
|style="background-color:Ivory" | Local I/O
|Yes
|1 KB
|1 KB
|Basic I/O plugin
|
|Customizable
|-
|style="background-color:HoneyDew" | Modbus RTU slave
|Yes
|13 KB
|1 KB
|Modbus RTU slave stack
|
|Mandatory component
|-
|'''Firmware size<br>(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
|
|}


[[File:Nucle-FWUpgrade1.jpg]]
(*) some resources, depending on user configuration, are allocated into PLC data area when plugin configuration code is generated.


* Execute the download (Click ''Start'')
(**) database manager can be configured to save parameters into file systems or EEPROM if available


== Plugin development ==
(***) 2 KB for parameters and status variables datablocks
 
== Nucleo H743ZI2 ==
 
Based on Nucleo H743ZI2 1p0 firwmare
 
{|class="wikitable"
! Plugin/sw component
! Is plugin
! Flash
! RAM
! Description
! Notes
! Customizations info<br>for other porting<br>based on this target
|-
|style="background-color:HoneyDew" | 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
|-
|style="background-color:Ivory" | AlPlcRuntimeCore (STRING)
|No
|20 KB
|0 KB
|String plugin
|Support for operations with ascii strings and wide strings:<br>CONCAT, DELETE, FIND, INSERT, LEFT, LEN, MID, REPLACE, RIGHT<br>String to number and number to string conversion functions
|Optional component
|-
|style="background-color:Ivory" | AlPlcRuntimeCore (TIME)
|No
|6 KB
|0 KB
|Time plugin
|Support for operations with Date:<br>CONCAT_DATE, CONCAT_DATE_LTOD, CONCAT_DATE_TOD, CONCAT_LDATE, CONCAT_LTOD, CONCAT_TOD,<br>DAY_OF_WEEK, SPLIT_DATE, SPLIT_LTOD, SPLIT_TOD<br>Support for operations with Date and Time:<br>CONCAT_DT, CONCAT_LDT, SPLIT_DT, SPLIT_LDT
|Optional component
|-
|style="background-color:HoneyDew" | PLC code
|No
|256 KB
| - - - - -
|Reserved area for PLC application code
|Code is run directly from flash
|'''Size can be customized.<br>Execution mode from RAM can be implemented'''
|-
|style="background-color:HoneyDew" | PLC data
|No
| - - - - -
|128 KB
|Reserved area for PLC application variables
|
|'''Size can be customized'''
|-
|style="background-color:HoneyDew" | 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.'''<br>No persistency required.<br>Other feature and persistency are customizable
|-
|style="background-color:HoneyDew" | FreeRTOS + HAL drivers + other
|No
|73 KB
|53 KB
|FreeRTOS real time O.S., low level drivers, main, wrappers
|
|'''Depending on system configuration'''
|-
|style="background-color:Ivory" | 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
|-
|style="background-color:Ivory" | Local I/O
|Yes
|3 KB
|0.01 KB
|Basic I/O plugin
|
|Customizable
|-
|style="background-color:HoneyDew" | Modbus RTU slave
|Yes
|21 KB
|2 KB
|Modbus RTU slave stack
|
|Mandatory component
|-
|style="background-color:Ivory" | EtherCAT
|Yes
|324 KB
|150 KB (*3)
|EtherCAT master stack
|Requires reserved flash sectors for parameters values storage
|Optional
|-
|style="background-color:Ivory" | 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<br>(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
|
|}


=== IOPluginLib user sample plugin ===
(*1) 2 KB for parameters and status variables datablocks


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


==== IOPlugin interface description ====
(*3) Includes 97KB RAM used for dynamic allocation


=== Add plugin to main firmware ===
==Firmware versions release notes==


=== User plugin interface ===
===NUCLEO_STM32F767ZI_RTOS_3.0.3_20210806.bin===
* Database bugfix for multiple read holding registers operations.


==== Plugin definition ===
===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


[[Category:Supported boards]]
[[Category:Supported boards]]

Latest revision as of 17:30, 16 September 2021

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