Skip to content

boards/arm/stm32h7: Add support for nucleo-h753zi board#18921

Merged
jerpelea merged 3 commits into
apache:masterfrom
pbarada:test/nucleo-h753zi
May 21, 2026
Merged

boards/arm/stm32h7: Add support for nucleo-h753zi board#18921
jerpelea merged 3 commits into
apache:masterfrom
pbarada:test/nucleo-h753zi

Conversation

@pbarada
Copy link
Copy Markdown
Contributor

@pbarada pbarada commented May 20, 2026

Add BSP for the NUCLEO-H753ZI board using nucleo-h743zi2 as base.

Summary

This patch adds support for nucle-h753zi board using nucleo-h743zi2 as a starting point.

Impact

  • User experience: No adaptation required. This fix extends existing behavior.
  • Build: No impact.
  • Hardware: Affects nucleo-h753zi board.
  • Documentation: Add nucleo-h753zi platform
  • Security: No impact.
  • Compatibility: Backward compatible - adds functionality.

Testing

Build Host:

  • OS: Ubuntu 24.04.4 LTS
  • Compiler: arm-none-eabi-gcc 13.2.1

Target:

  • Architecture: ARM (STM32H753ZI)
  • Board: Nucleo-h753zi
  • Configuration: Default nucleo-h753zi:jumbo configuration

Testing performed:

  • Connected Ethernet to nucleo-h753zi
  • Connected FAT-32 USB stick via OTG cable to USB OTG connector
  • Ran commands/log as shown in target documentation including button example

Runtime testing:

From target console:

ADE
telnetd [7:100]

NuttShell (NSH) NuttX-12.13.0
nsh> uname -a
NuttX  12.13.0 81dc339415-dirty May 19 2026 13:07:19 arm nucleo-h753zi
nsh> help
help usage:  help [-v] [<cmd>]

    .           cp          expr        mkrd        route       truncate    
    [           cmp         false       mount       set         uname       
    ?           dirname     fdinfo      mv          kill        umount      
    addroute    date        free        nslookup    pkill       unset       
    alias       delroute    help        pidof       sleep       uptime      
    unalias     df          hexdump     printf      usleep      watch       
    arp         dmesg       ifconfig    ps          source      wget        
    basename    echo        irqinfo     pwd         test        xd          
    break       env         ls          reboot      top         wait        
    cat         exec        mkdir       rm          time        
    cd          exit        mkfatfs     rmdir       true        

Builtin Apps:
    buttons     getprime    netcat      ping        tc          
    dd          hidkbd      nsh         renew       telnetd     
    fstest      iperf       ostest      sh          
nsh> ls
/:
 dev/
 mnt/
 proc/
nsh> free
      total       used       free    maxused    maxfree  nused  nfree name
     953572     158596     794976     158992     461520     64      5 Umem
nsh> irqinfo
IRQ HANDLER  ARGUMENT    COUNT    RATE    TIME
 11 080012e5 00000000       1031   50.738    0
 15 0800b00d 00000000       2032  100.000    1
 55 080007d5 24000000       1455   71.604    5
 77 0800cccd 00000000          8    0.393    1
117 0800bf85 00000000        205   10.168 21558
nsh> ifconfig
eth0	Link encap:Ethernet HWaddr ea:63:b9:20:1d:46 at RUNNING mtu 1486
	inet addr:10.0.0.2 DRaddr:10.0.0.1 Mask:255.255.255.0

lo	Link encap:Local Loopback at RUNNING mtu 1518
	inet addr:127.0.0.1 DRaddr:127.0.0.1 Mask:255.0.0.0

             IPv4   TCP   UDP  ICMP
Received     0004  0000  0004  0000
Dropped      0000  0000  0000  0000
  IPv4        VHL: 0000   Frg: 0000
  Checksum   0000  0000  0000  ----
  TCP         ACK: 0000   SYN: 0000
              RST: 0000  0000
  Type       0000  ----  ----  0000
Sent         0000  0000  0000  0000
  Rexmit     ----  0000  ----  ----
nsh> renew eth0
nsh> ifconfig eth0
eth0	Link encap:Ethernet HWaddr ea:63:b9:20:1d:46 at RUNNING mtu 1486
	inet addr:192.168.3.106 DRaddr:192.168.3.1 Mask:255.255.255.0

nsh> ifconfig eth0
eth0	Link encap:Ethernet HWaddr ea:63:b9:20:1d:46 at RUNNING mtu 1486
	inet addr:192.168.3.106 DRaddr:192.168.3.1 Mask:255.255.255.0

nsh> ifconfig eth0
eth0	Link encap:Ethernet HWaddr ea:63:b9:20:1d:46 at RUNNING mtu 1486
	inet addr:192.168.3.106 DRaddr:192.168.3.1 Mask:255.255.255.0

nsh> ifconfig
eth0	Link encap:Ethernet HWaddr ea:63:b9:20:1d:46 at RUNNING mtu 1486
	inet addr:192.168.3.106 DRaddr:192.168.3.1 Mask:255.255.255.0

lo	Link encap:Local Loopback at RUNNING mtu 1518
	inet addr:127.0.0.1 DRaddr:127.0.0.1 Mask:255.0.0.0

             IPv4   TCP   UDP  ICMP
Received     004e  0033  001a  0001
Dropped      0000  0000  0000  0000
  IPv4        VHL: 0000   Frg: 0000
  Checksum   0000  0000  0000  ----
  TCP         ACK: 0000   SYN: 0000
              RST: 0000  0000
  Type       0000  ----  ----  0000
Sent         0035  0032  0002  0001
  Rexmit     ----  0000  ----  ----
nsh> ping www.google.com
PING 142.251.155.119 56 bytes of data
56 bytes from 142.251.155.119: icmp_seq=0 time=10.0 ms
56 bytes from 142.251.155.119: icmp_seq=1 time=10.0 ms
56 bytes from 142.251.155.119: icmp_seq=2 time=10.0 ms
56 bytes from 142.251.155.119: icmp_seq=3 time=20.0 ms
56 bytes from 142.251.155.119: icmp_seq=4 time=10.0 ms
56 bytes from 142.251.155.119: icmp_seq=5 time=10.0 ms
56 bytes from 142.251.155.119: icmp_seq=6 time=10.0 ms
56 bytes from 142.251.155.119: icmp_seq=7 time=20.0 ms
56 bytes from 142.251.155.119: icmp_seq=8 time=10.0 ms
56 bytes from 142.251.155.119: icmp_seq=9 time=10.0 ms
10 packets transmitted, 10 received, 0% packet loss, time 10100 ms
rtt min/avg/max/mdev = 10.000/12.000/20.000/4.000 ms
nsh> ls /dev
/dev:
 buttons
 console
 kmsg
 null
 rammtd
 sda
 telnet
 ttyS0
 zero
nsh> ls /mnt
/mnt:
 lfs/
nsh> echo "This will go away on reboot." > /mnt/lfs/afile
nsh> cat /mnet/lfs/afile
nsh: cat: open failed: 2
nsh> mount -t vfat /dev/sda /mnt/sda
nsh> echo "Thos will stay on the USB drive" > /mnt/sda/afile
nsh> ls /mnt/sda
/mnt/sda:
 GARMIN/
 afile
nsh> rebootADE
telnetd [7:100]

NuttShell (NSH) NuttX-12.13.0
nsh> ls /mnt/lfs
/mnt/lfs:
 .
 ..
nsh> mount -t vfat /dev/sda /mnt/sda
nsh> ls /mnt/sda
/mnt/sda:
 GARMIN/
 afile
nsh> cat /mnt/sda/afail
nsh: cat: open failed: 2
nsh> cat /mnt/sda/afile
Thos will stay on the USB drive
nsh> buttons
buttons_main: Starting the button_daemon
buttons_main: button_daemon started
button_daemon: Running
button_daemon: Opening /dev/buttons
button_daemon: Supported BUTTONs 0x01
nsh> B1 was pressed
B1 was released
B1 was pressed
B1 was released

nsh> ps
  TID   PID  PPID PRI POLICY   TYPE    NPX STATE    EVENT     SIGMASK            STACK    USED FILLED    CPU COMMAND
    0     0     0   0 FIFO     Kthread   - Ready              0000000000000000 0001000 0000552  55.2%  100.0% Idle_Task
    1     0     0 224 RR       Kthread   - Waiting  Semaphore 0000000000000000 0001976 0000632  31.9%   0.0% hpwork 0x24000130 0x24000180
    2     0     0 100 RR       Kthread   - Waiting  Semaphore 0000000000000000 0001976 0000632  31.9%   0.0% lpwork 0x240000c0 0x24000110
    4     0     0 100 RR       Kthread   - Waiting  Semaphore 0000000000000000 0002008 0000896  44.6%   0.0% usbhost
    5     0     0  50 RR       Kthread   - Waiting  Signal    0000000000000000 0004048 0000616  15.2%   0.0% USB_Monitor
    6     6     0 100 RR       Task      - Running            0000000000000000 0004048 0001800  44.4%   0.0% nsh_main
    7     7     0 100 RR       Task      - Waiting  Semaphore 0000000000000000 0002008 0000912  45.4%   0.0% telnetd
    9     9     0 100 RR       Task      - Waiting  Signal    0000000000000000 0004048 0000720  17.7%   0.0% button_daemon
nsh> 

From Linux host(after 'renew eth0' acquires 192.168.3.106 board IP address):

peter@legion:~$ telnet 192.168.3.106
Trying 192.168.3.106...
Connected to 192.168.3.106.
Escape character is '^]'.

NuttShell (NSH) NuttX-12.13.0
nsh> ps
  TID   PID  PPID PRI POLICY   TYPE    NPX STATE    EVENT     SIGMASK            STACK    USED FILLED    CPU COMMAND
    0     0     0   0 FIFO     Kthread   - Ready              0000000000000000 0001000 0000552  55.2%  100.0% Idle_Task
    1     0     0 224 RR       Kthread   - Waiting  Semaphore 0000000000000000 0001976 0000632  31.9%   0.0% hpwork 0x24000130 0x24000180
    2     0     0 100 RR       Kthread   - Waiting  Semaphore 0000000000000000 0001976 0000632  31.9%   0.0% lpwork 0x240000c0 0x24000110
    4     0     0 100 RR       Kthread   - Waiting  Semaphore 0000000000000000 0002008 0000896  44.6%   0.0% usbhost
    5     0     0  50 RR       Kthread   - Waiting  Signal    0000000000000000 0004048 0000632  15.6%   0.0% USB_Monitor
    6     6     0 100 RR       Task      - Waiting  Semaphore 0000000000000000 0004048 0001416  34.9%   0.0% nsh_main
    7     7     0 100 RR       Task      - Waiting  Semaphore 0000000000000000 0002008 0000912  45.4%   0.0% telnetd
    9     9     0 100 RR       Task      - Running            0000000000000000 0002000 0001896  94.8%!  0.0% Telnet_session
nsh> ^]
telnet> quit
Connection closed.
peter@legion:~$ 

Add BSP for the NUCLEO-H753ZI board using nucleo-h743zi2 as base.

Signed-off-by: Peter Barada <peter.barada@gmail.com>
@github-actions github-actions Bot added Area: Build system Size: XL The size of the change in this PR is very large. Consider breaking down the PR into smaller pieces. Board: arm labels May 20, 2026
Fix typo in string written to SD card; its "This", not "Thos".

Signed-off-by: Peter Barada <peter.barada@gmail.com>
linguini1
linguini1 previously approved these changes May 20, 2026
Copy link
Copy Markdown
Contributor

@linguini1 linguini1 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If you could add an image of the board to the docs as in Documentation/contributing/doc_templates/board.rst that would be great!

acassis
acassis previously approved these changes May 20, 2026
@acassis
Copy link
Copy Markdown
Contributor

acassis commented May 20, 2026

If you could add an image of the board to the docs as in Documentation/contributing/doc_templates/board.rst that would be great!

Good point, @pbarada all boards need to have proper Documentation with a picture to user see and to avoid confusion because some boards could have same name but are completely different

Add missing NUCLEO-H753ZI board image.

Signed-off-by: Peter Barada <peter.barada@gmail.com>
@pbarada pbarada dismissed stale reviews from acassis and linguini1 via 6e2c983 May 20, 2026 19:58
@pbarada
Copy link
Copy Markdown
Contributor Author

pbarada commented May 20, 2026

If you could add an image of the board to the docs as in Documentation/contributing/doc_templates/board.rst that would be great!

Good point, @pbarada all boards need to have proper Documentation with a picture to user see and to avoid confusion because some boards could have same name but are completely different

Added missing board image.

@jerpelea jerpelea merged commit 2230d32 into apache:master May 21, 2026
42 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Area: Build system Board: arm Size: XL The size of the change in this PR is very large. Consider breaking down the PR into smaller pieces.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants