mirror of
https://github.com/apache/nuttx.git
synced 2026-05-28 11:56:10 +08:00
boards/stm32h7: Add button support to nucleo-h743zi2
This patch adds support for the user button on nuclo-h743zi2 board (and nucleo-h753zi2 which is also a MB1364 board design) and enables button support and example in nucleo-h743zi2:jumbo configuration selector. Signed-off-by: Peter Barada <peter.barada@gmail.com>
This commit is contained in:
committed by
Mateusz Szafoni
parent
966be68259
commit
c4d6b728a0
@@ -11,7 +11,7 @@ memory and 1MByte SRAM. The board features:
|
|||||||
|
|
||||||
- On-board ST-LINK/V2 for programming and debugging,
|
- On-board ST-LINK/V2 for programming and debugging,
|
||||||
- 3 user LEDs
|
- 3 user LEDs
|
||||||
- Two pushbuttons (user and reset)
|
- Two pushbuttons (user[B1] and reset)
|
||||||
- 32.768 kHz crystal oscillator
|
- 32.768 kHz crystal oscillator
|
||||||
- USB OTG FS with Micro-AB connectors
|
- USB OTG FS with Micro-AB connectors
|
||||||
- Ethernet connector compliant with IEEE-802.3-2002
|
- Ethernet connector compliant with IEEE-802.3-2002
|
||||||
@@ -113,54 +113,60 @@ Some highlights:
|
|||||||
|
|
||||||
|
|
||||||
..
|
..
|
||||||
NuttShell (NSH) NuttX-10.0.1
|
ADE
|
||||||
|
telnetd [6:100]
|
||||||
|
|
||||||
|
NuttShell (NSH)
|
||||||
|
nsh>
|
||||||
nsh> uname -a
|
nsh> uname -a
|
||||||
NuttX 10.0.1 3ab35e48ff-dirty Mar 28 2021 15:35:29 arm nucleo-h743zi2
|
NuttX 0.0.0 643f33934e-dirty Feb 20 2026 14:50:28 arm nucleo-h743zi2
|
||||||
nsh> ?
|
nsh> ?
|
||||||
help usage: help [-v] [<cmd>]
|
help usage: help [-v] [<cmd>]
|
||||||
|
|
||||||
. cd dmesg hexdump mkrd reboot telnetd xd
|
. cp expr mkrd route truncate
|
||||||
[ cp echo ifconfig mh rm time
|
[ cmp false mount set uname
|
||||||
? cmp env irqinfo mount rmdir true
|
? dirname fdinfo mv kill umount
|
||||||
addroute dirname exec kill mv route uname
|
addroute date free nslookup pkill unset
|
||||||
arp date exit ls mw set umount
|
alias delroute help pidof sleep uptime
|
||||||
basename dd false mb nslookup sleep unset
|
unalias df hexdump printf usleep watch
|
||||||
break delroute free mkdir ps source usleep
|
arp dmesg ifconfig ps source wget
|
||||||
cat df help mkfatfs pwd test 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:
|
Builtin Apps:
|
||||||
fstest getprime nsh ostest ping renew sh
|
dd hidkbd nsh renew telnetd
|
||||||
|
fstest iperf ostest sh
|
||||||
|
getprime netcat ping tc
|
||||||
nsh> ps
|
nsh> ps
|
||||||
PID PRI POLICY TYPE NPX STATE EVENT SIGMASK STACK USED FILLED CPU COMMAND
|
TID PID PPID PRI POLICY TYPE NPX STATE EVENT SIGMASK STACK USED FILLED CPU COMMAND
|
||||||
0 0 FIFO Kthread N-- Ready 00000000 001024 000472 46.0% 100.0% Idle Task
|
0 0 0 0 FIFO Kthread - Ready 0000000000000000 0001000 0000544 54.4% 100.0% Idle_Task
|
||||||
1 224 RR Kthread --- Waiting Signal 00000000 002036 000456 22.3% 0.0% hpwork
|
1 0 0 224 RR Kthread - Waiting Semaphore 0000000000000000 0001976 0000592 29.9% 0.0% hpwork 0x24000120 0x24000168
|
||||||
2 100 RR Kthread --- Waiting Signal 00000000 002036 000680 33.3% 0.0% lpwork
|
2 0 0 100 RR Kthread - Waiting Semaphore 0000000000000000 0001976 0000592 29.9% 0.0% lpwork 0x240000bc 0x24000104
|
||||||
3 100 RR Task --- Running 00000000 004084 001304 31.9% 0.0% init
|
3 3 0 100 RR Task - Running 0000000000000000 0004048 0001768 43.6% 0.0% nsh_main
|
||||||
4 100 RR Kthread --- Waiting Semaphore 00000000 002036 000752 36.9% 0.0% usbhost
|
4 0 0 100 RR Kthread - Waiting Semaphore 0000000000000000 0002008 0000856 42.6% 0.0% usbhost
|
||||||
5 50 RR Kthread --- Waiting Signal 00000000 004076 000472 11.5% 0.0% USB Monitor
|
5 0 0 50 RR Kthread - Waiting Signal 0000000000000000 0004048 0000536 13.2% 0.0% USB_Monitor
|
||||||
6 100 RR Task --- Waiting Semaphore 00000000 002012 000648 32.2% 0.0% Telnet daemon 0x38005600
|
6 6 0 100 RR Task - Waiting Semaphore 0000000000000000 0002008 0000880 43.8% 0.0% telnetd
|
||||||
nsh> free
|
nsh> free
|
||||||
total used free largest
|
total used free maxused maxfree nused nfree name
|
||||||
Umem: 944336 159520 784816 451712
|
956604 158372 798232 158768 464552 62 5 Umem
|
||||||
nsh> irqinfo
|
nsh> irqinfo
|
||||||
IRQ HANDLER ARGUMENT COUNT RATE TIME
|
IRQ HANDLER ARGUMENT COUNT RATE TIME
|
||||||
3 080011ed 00000000 1599 20.405 0
|
11 080012c1 00000000 1757 19.719 0
|
||||||
15 08004e0d 00000000 7836 100.000 10000
|
15 0800804d 00000000 8910 100.000 1
|
||||||
55 08000799 24000000 1122 14.318 0
|
55 080007a1 24000000 2338 26.240 5
|
||||||
77 0800580b 00000000 14 0.178 0
|
77 0800849d 00000000 30 0.336 1
|
||||||
117 0802c6f1 00000000 1372 17.544 0
|
117 0803bbb1 00000000 206 2.316 21558
|
||||||
nsh> date; sleep 2; date
|
|
||||||
Thu, Jan 01 00:01:50 1970
|
|
||||||
Thu, Jan 01 00:01:52 1970
|
|
||||||
nsh> ifconfig
|
nsh> ifconfig
|
||||||
eth0 Link encap:Ethernet HWaddr 46:fd:66:78:aa:54 at UP
|
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
|
inet addr:10.0.0.2 DRaddr:10.0.0.1 Mask:255.255.255.0
|
||||||
|
|
||||||
lo Link encap:Local Loopback at UP
|
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
|
inet addr:127.0.0.1 DRaddr:127.0.0.1 Mask:255.0.0.0
|
||||||
|
|
||||||
IPv4 TCP UDP ICMP
|
IPv4 TCP UDP ICMP
|
||||||
Received 0004 0000 0004 0000
|
Received 000a 0000 000a 0000
|
||||||
Dropped 0000 0000 0000 0000
|
Dropped 0000 0000 0000 0000
|
||||||
IPv4 VHL: 0000 Frg: 0000
|
IPv4 VHL: 0000 Frg: 0000
|
||||||
Checksum 0000 0000 0000 ----
|
Checksum 0000 0000 0000 ----
|
||||||
@@ -170,46 +176,52 @@ Some highlights:
|
|||||||
Sent 0000 0000 0000 0000
|
Sent 0000 0000 0000 0000
|
||||||
Rexmit ---- 0000 ---- ----
|
Rexmit ---- 0000 ---- ----
|
||||||
nsh> renew eth0
|
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.120 DRaddr:192.168.3.1 Mask:255.255.255.0
|
||||||
|
|
||||||
|
nsh> # telnet to board here
|
||||||
nsh> ifconfig
|
nsh> ifconfig
|
||||||
eth0 Link encap:Ethernet HWaddr 46:fd:66:78:aa:54 at UP
|
eth0 Link encap:Ethernet HWaddr ea:63:b9:20:1d:46 at RUNNING mtu 1486
|
||||||
inet addr:192.168.86.249 DRaddr:192.168.86.1 Mask:255.255.255.0
|
inet addr:192.168.3.120 DRaddr:192.168.3.1 Mask:255.255.255.0
|
||||||
|
|
||||||
lo Link encap:Local Loopback at UP
|
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
|
inet addr:127.0.0.1 DRaddr:127.0.0.1 Mask:255.0.0.0
|
||||||
|
|
||||||
IPv4 TCP UDP ICMP
|
IPv4 TCP UDP ICMP
|
||||||
Received 0007 0000 0007 0000
|
Received 004b 0037 0013 0001
|
||||||
Dropped 0000 0000 0000 0000
|
Dropped 0000 0000 0000 0000
|
||||||
IPv4 VHL: 0000 Frg: 0000
|
IPv4 VHL: 0000 Frg: 0000
|
||||||
Checksum 0000 0000 0000 ----
|
Checksum 0000 0000 0000 ----
|
||||||
TCP ACK: 0000 SYN: 0000
|
TCP ACK: 0000 SYN: 0000
|
||||||
RST: 0000 0000
|
RST: 0000 0000
|
||||||
Type 0000 ---- ---- 0000
|
Type 0000 ---- ---- 0000
|
||||||
Sent 0002 0000 0002 0000
|
Sent 0039 0036 0002 0001
|
||||||
Rexmit ---- 0000 ---- ----
|
Rexmit ---- 0000 ---- ----
|
||||||
nsh> ping www.google.com
|
nsh> ping www.google.com
|
||||||
PING 172.217.14.196 56 bytes of data
|
PING 142.250.191.4 56 bytes of data
|
||||||
56 bytes from 172.217.14.196: icmp_seq=0 time=10 ms
|
56 bytes from 142.250.191.4: icmp_seq=0 time=20.0 ms
|
||||||
56 bytes from 172.217.14.196: icmp_seq=1 time=0 ms
|
56 bytes from 142.250.191.4: icmp_seq=1 time=10.0 ms
|
||||||
56 bytes from 172.217.14.196: icmp_seq=2 time=0 ms
|
56 bytes from 142.250.191.4: icmp_seq=2 time=10.0 ms
|
||||||
56 bytes from 172.217.14.196: icmp_seq=3 time=0 ms
|
56 bytes from 142.250.191.4: icmp_seq=3 time=10.0 ms
|
||||||
56 bytes from 172.217.14.196: icmp_seq=4 time=0 ms
|
56 bytes from 142.250.191.4: icmp_seq=4 time=10.0 ms
|
||||||
56 bytes from 172.217.14.196: icmp_seq=5 time=0 ms
|
56 bytes from 142.250.191.4: icmp_seq=5 time=10.0 ms
|
||||||
56 bytes from 172.217.14.196: icmp_seq=6 time=0 ms
|
56 bytes from 142.250.191.4: icmp_seq=6 time=10.0 ms
|
||||||
56 bytes from 172.217.14.196: icmp_seq=7 time=0 ms
|
56 bytes from 142.250.191.4: icmp_seq=7 time=10.0 ms
|
||||||
56 bytes from 172.217.14.196: icmp_seq=8 time=0 ms
|
56 bytes from 142.250.191.4: icmp_seq=8 time=10.0 ms
|
||||||
56 bytes from 172.217.14.196: icmp_seq=9 time=0 ms
|
56 bytes from 142.250.191.4: icmp_seq=9 time=20.0 ms
|
||||||
10 packets transmitted, 10 received, 0% packet loss, time 10100 ms
|
10 packets transmitted, 10 received, 0% packet loss, time 10100 ms
|
||||||
nsh>
|
rtt min/avg/max/mdev = 10.000/12.000/20.000/4.000 ms
|
||||||
nsh> ls /dev
|
nsh> ls /dev
|
||||||
/dev:
|
/dev:
|
||||||
console
|
console
|
||||||
|
kmsg
|
||||||
null
|
null
|
||||||
ramlog
|
|
||||||
rammtd
|
rammtd
|
||||||
sda
|
sda
|
||||||
telnet
|
telnet
|
||||||
ttyS0
|
ttyS0
|
||||||
|
zero
|
||||||
nsh> ls /mnt
|
nsh> ls /mnt
|
||||||
/mnt:
|
/mnt:
|
||||||
lfs/
|
lfs/
|
||||||
@@ -220,40 +232,191 @@ Some highlights:
|
|||||||
nsh> echo "This will stay on the USB drive" > /mnt/sda/afile
|
nsh> echo "This will stay on the USB drive" > /mnt/sda/afile
|
||||||
nsh> ls /mnt/sda
|
nsh> ls /mnt/sda
|
||||||
/mnt/sda:
|
/mnt/sda:
|
||||||
|
GARMIN/
|
||||||
afile
|
afile
|
||||||
nsh> reboot
|
nsh> rebootADE
|
||||||
|
telnetd [6:100]
|
||||||
NuttShell (NSH) NuttX-10.0.1
|
|
||||||
nsh> mount -t vfat /dev/sda /mnt/sda
|
NuttShell (NSH)
|
||||||
nsh> ls /mnt/lfs
|
nsh> ls /mnt/lfs
|
||||||
/mnt/lfs:
|
/mnt/lfs:
|
||||||
.
|
.
|
||||||
..
|
..
|
||||||
|
nsh> ls /mnt
|
||||||
|
/mnt:
|
||||||
|
lfs/
|
||||||
|
nsh> mount -t vfat /dev/sda /mnt/sda
|
||||||
nsh> ls /mnt/sda
|
nsh> ls /mnt/sda
|
||||||
/mnt/sda:
|
/mnt/sda:
|
||||||
|
GARMIN/
|
||||||
afile
|
afile
|
||||||
nsh> cat /mnt/sda/afile
|
nsh> cat /mnt/sda/afile
|
||||||
This will stay on the USB drive
|
This will stay on the USB drive
|
||||||
nsh>
|
nsh> buttons
|
||||||
```
|
nsh: buttons: command not found
|
||||||
|
nsh> ADE
|
||||||
```
|
ADE
|
||||||
❯ telnet 192.168.86.249
|
telnetd [6:100]
|
||||||
Trying 192.168.86.249...
|
|
||||||
Connected to 192.168.86.249.
|
NuttShell (NSH)
|
||||||
Escape character is '^]'.
|
nsh> uname -a
|
||||||
|
NuttX 0.0.0 d147177c62 Feb 20 2026 15:18:50 arm nucleo-h743zi2
|
||||||
NuttShell (NSH) NuttX-10.0.1
|
nsh> ?
|
||||||
|
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
|
||||||
|
956492 158452 798040 158848 464440 64 5 Umem
|
||||||
|
nsh> irqinfo
|
||||||
|
IRQ HANDLER ARGUMENT COUNT RATE TIME
|
||||||
|
11 080012f1 00000000 1073 10.277 0
|
||||||
|
15 0800807d 00000000 10440 100.000 1
|
||||||
|
55 080007a1 24000000 1380 13.218 5
|
||||||
|
77 080084cd 00000000 36 0.344 1
|
||||||
|
117 0803c4ed 00000000 206 1.976 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 000d 0000 000d 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.120 DRaddr:192.168.3.1 Mask:255.255.255.0
|
||||||
|
|
||||||
|
nsh> ping www.google.com
|
||||||
|
PING 142.250.217.132 56 bytes of data
|
||||||
|
56 bytes from 142.250.217.132: icmp_seq=0 time=20.0 ms
|
||||||
|
56 bytes from 142.250.217.132: icmp_seq=1 time=10.0 ms
|
||||||
|
56 bytes from 142.250.217.132: icmp_seq=2 time=10.0 ms
|
||||||
|
56 bytes from 142.250.217.132: icmp_seq=3 time=10.0 ms
|
||||||
|
56 bytes from 142.250.217.132: icmp_seq=4 time=10.0 ms
|
||||||
|
56 bytes from 142.250.217.132: icmp_seq=5 time=20.0 ms
|
||||||
|
56 bytes from 142.250.217.132: icmp_seq=6 time=10.0 ms
|
||||||
|
56 bytes from 142.250.217.132: icmp_seq=7 time=10.0 ms
|
||||||
|
56 bytes from 142.250.217.132: icmp_seq=8 time=10.0 ms
|
||||||
|
56 bytes from 142.250.217.132: 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 /mnt/lfs/afile
|
||||||
|
This will go away on reboot.
|
||||||
|
nsh> mount -t vfat /dev/sda /mnt/sda
|
||||||
|
nsh> echo "This will stay on the USB drive" > /mnt/sda/afile
|
||||||
|
nsh> ls /mnt/sda
|
||||||
|
/mnt/sda:
|
||||||
|
GARMIN/
|
||||||
|
afile
|
||||||
|
nsh> rebootADE
|
||||||
|
telnetd [6:100]
|
||||||
|
|
||||||
|
NuttShell (NSH)
|
||||||
|
nsh> ls /mnt/lfs
|
||||||
|
/mnt/lfs:
|
||||||
|
.
|
||||||
|
..
|
||||||
|
nsh> ls /mnt
|
||||||
|
/mnt:
|
||||||
|
lfs/
|
||||||
|
nsh> mount -t vfat /dev/sda /mnt/sda
|
||||||
|
nsh> ls /mnt/sda
|
||||||
|
/mnt/sda:
|
||||||
|
GARMIN/
|
||||||
|
afile
|
||||||
|
nsh> cat /mnt/sda/afile
|
||||||
|
This 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
|
nsh> ps
|
||||||
PID PRI POLICY TYPE NPX STATE EVENT SIGMASK STACK USED FILLED CPU COMMAND
|
TID PID PPID PRI POLICY TYPE NPX STATE EVENT SIGMASK STACK USED FILLED CPU COMMAND
|
||||||
0 0 FIFO Kthread N-- Ready 00000000 001024 000472 46.0% 100.0% Idle Task
|
0 0 0 0 FIFO Kthread - Ready 0000000000000000 0001000 0000544 54.4% 100.0% Idle_Task
|
||||||
1 224 RR Kthread --- Waiting Signal 00000000 002036 000456 22.3% 0.0% hpwork
|
1 0 0 224 RR Kthread - Waiting Semaphore 0000000000000000 0001976 0000592 29.9% 0.0% hpwork 0x24000120 0x24000168
|
||||||
2 100 RR Kthread --- Waiting Signal 00000000 002036 000680 33.3% 0.0% lpwork
|
2 0 0 100 RR Kthread - Waiting Semaphore 0000000000000000 0001976 0000592 29.9% 0.0% lpwork 0x240000bc 0x24000104
|
||||||
3 100 RR Task --- Waiting Semaphore 00000000 004084 001304 31.9% 0.0% init
|
3 3 0 100 RR Task - Running 0000000000000000 0004048 0001768 43.6% 0.0% nsh_main
|
||||||
4 100 RR Kthread --- Waiting Semaphore 00000000 002036 000752 36.9% 0.0% usbhost
|
4 0 0 100 RR Kthread - Waiting Semaphore 0000000000000000 0002008 0000856 42.6% 0.0% usbhost
|
||||||
5 50 RR Kthread --- Waiting Signal 00000000 004076 000472 11.5% 0.0% USB Monitor
|
5 0 0 50 RR Kthread - Waiting Signal 0000000000000000 0004048 0000816 20.1% 0.0% USB_Monitor
|
||||||
6 100 RR Task --- Waiting Semaphore 00000000 002012 000648 32.2% 0.0% Telnet daemon 0x38005600
|
6 6 0 100 RR Task - Waiting Semaphore 0000000000000000 0002008 0000880 43.8% 0.0% telnetd
|
||||||
9 100 RR Kthread --- Waiting Semaphore 00000000 001004 000448 44.6% 0.0% telnet_io
|
8 8 0 100 RR Task - Waiting Signal 0000000000000000 0004048 0000712 17.5% 0.0% button_daemon
|
||||||
10 100 RR Task --- Running 00000000 002028 001328 65.4% 0.0% Telnet session
|
|
||||||
nsh>
|
nsh>
|
||||||
```
|
```
|
||||||
|
|
||||||
|
```
|
||||||
|
peter@legion:~$ telnet 192.168.3.120
|
||||||
|
Trying 192.168.3.120...
|
||||||
|
Connected to 192.168.3.120.
|
||||||
|
Escape character is '^]'.
|
||||||
|
|
||||||
|
NuttShell (NSH)
|
||||||
|
nsh> ps
|
||||||
|
nsh: &ps: command not found
|
||||||
|
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 0000544 54.4% 100.0% Idle_Task
|
||||||
|
1 0 0 224 RR Kthread - Waiting Semaphore 0000000000000000 0001976 0000592 29.9% 0.0% hpwork 0x24000120 0x24000168
|
||||||
|
2 0 0 100 RR Kthread - Waiting Semaphore 0000000000000000 0001976 0000592 29.9% 0.0% lpwork 0x240000bc 0x24000104
|
||||||
|
3 3 0 100 RR Task - Waiting Semaphore 0000000000000000 0004048 0001384 34.1% 0.0% nsh_main
|
||||||
|
4 0 0 100 RR Kthread - Waiting Semaphore 0000000000000000 0002008 0000856 42.6% 0.0% usbhost
|
||||||
|
5 0 0 50 RR Kthread - Waiting Signal 0000000000000000 0004048 0000536 13.2% 0.0% USB_Monitor
|
||||||
|
6 6 0 100 RR Task - Waiting Semaphore 0000000000000000 0002008 0000880 43.8% 0.0% telnetd
|
||||||
|
8 8 0 100 RR Task - Running 0000000000000000 0002000 0001864 93.2%! 0.0% Telnet_session
|
||||||
|
nsh> ^]
|
||||||
|
telnet> quit
|
||||||
|
Connection closed.
|
||||||
|
peter@legion:~$
|
||||||
|
```
|
||||||
|
|||||||
@@ -1921,6 +1921,7 @@ config ARCH_BOARD_NUCLEO_H743ZI2
|
|||||||
depends on ARCH_CHIP_STM32H743ZI
|
depends on ARCH_CHIP_STM32H743ZI
|
||||||
select ARCH_HAVE_LEDS
|
select ARCH_HAVE_LEDS
|
||||||
select ARCH_HAVE_BUTTONS
|
select ARCH_HAVE_BUTTONS
|
||||||
|
select ARCH_HAVE_IRQBUTTONS
|
||||||
---help---
|
---help---
|
||||||
STMicro Nucleo H743ZI2 board based on the STMicro STM32H743ZI MCU.
|
STMicro Nucleo H743ZI2 board based on the STMicro STM32H743ZI MCU.
|
||||||
|
|
||||||
|
|||||||
@@ -11,10 +11,12 @@
|
|||||||
CONFIG_ARCH="arm"
|
CONFIG_ARCH="arm"
|
||||||
CONFIG_ARCH_BOARD="nucleo-h743zi2"
|
CONFIG_ARCH_BOARD="nucleo-h743zi2"
|
||||||
CONFIG_ARCH_BOARD_NUCLEO_H743ZI2=y
|
CONFIG_ARCH_BOARD_NUCLEO_H743ZI2=y
|
||||||
|
CONFIG_ARCH_BUTTONS=y
|
||||||
CONFIG_ARCH_CHIP="stm32h7"
|
CONFIG_ARCH_CHIP="stm32h7"
|
||||||
CONFIG_ARCH_CHIP_STM32H743ZI=y
|
CONFIG_ARCH_CHIP_STM32H743ZI=y
|
||||||
CONFIG_ARCH_CHIP_STM32H7=y
|
CONFIG_ARCH_CHIP_STM32H7=y
|
||||||
CONFIG_ARCH_CHIP_STM32H7_CORTEXM7=y
|
CONFIG_ARCH_CHIP_STM32H7_CORTEXM7=y
|
||||||
|
CONFIG_ARCH_IRQBUTTONS=y
|
||||||
CONFIG_ARCH_STACKDUMP=y
|
CONFIG_ARCH_STACKDUMP=y
|
||||||
CONFIG_ARMV7M_DCACHE=y
|
CONFIG_ARMV7M_DCACHE=y
|
||||||
CONFIG_ARMV7M_DCACHE_WRITETHROUGH=y
|
CONFIG_ARMV7M_DCACHE_WRITETHROUGH=y
|
||||||
@@ -32,6 +34,10 @@ CONFIG_DEBUG_USB_WARN=y
|
|||||||
CONFIG_DEFAULT_TASK_STACKSIZE=4096
|
CONFIG_DEFAULT_TASK_STACKSIZE=4096
|
||||||
CONFIG_DHCPC_RENEW_STACKSIZE=2048
|
CONFIG_DHCPC_RENEW_STACKSIZE=2048
|
||||||
CONFIG_ETH0_PHY_LAN8742A=y
|
CONFIG_ETH0_PHY_LAN8742A=y
|
||||||
|
CONFIG_EXAMPLES_BUTTONS=y
|
||||||
|
CONFIG_EXAMPLES_BUTTONS_NAME0="B1"
|
||||||
|
CONFIG_EXAMPLES_BUTTONS_NAMES=y
|
||||||
|
CONFIG_EXAMPLES_BUTTONS_QTD=1
|
||||||
CONFIG_EXAMPLES_HIDKBD=y
|
CONFIG_EXAMPLES_HIDKBD=y
|
||||||
CONFIG_EXAMPLES_TOUCHSCREEN=y
|
CONFIG_EXAMPLES_TOUCHSCREEN=y
|
||||||
CONFIG_EXAMPLES_TOUCHSCREEN_DEVPATH="/dev/mouse0"
|
CONFIG_EXAMPLES_TOUCHSCREEN_DEVPATH="/dev/mouse0"
|
||||||
@@ -44,6 +50,8 @@ CONFIG_FS_PROCFS_REGISTER=y
|
|||||||
CONFIG_HAVE_CXX=y
|
CONFIG_HAVE_CXX=y
|
||||||
CONFIG_HAVE_CXXINITIALIZE=y
|
CONFIG_HAVE_CXXINITIALIZE=y
|
||||||
CONFIG_INIT_ENTRYPOINT="nsh_main"
|
CONFIG_INIT_ENTRYPOINT="nsh_main"
|
||||||
|
CONFIG_INPUT_BUTTONS=y
|
||||||
|
CONFIG_INPUT_BUTTONS_LOWER=y
|
||||||
CONFIG_INTELHEX_BINARY=y
|
CONFIG_INTELHEX_BINARY=y
|
||||||
CONFIG_LIBM=y
|
CONFIG_LIBM=y
|
||||||
CONFIG_LINE_MAX=64
|
CONFIG_LINE_MAX=64
|
||||||
|
|||||||
@@ -56,6 +56,10 @@ if(CONFIG_BOARDCTL_RESET)
|
|||||||
list(APPEND SRCS stm32_reset.c)
|
list(APPEND SRCS stm32_reset.c)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if(CONFIG_ARCH_BUTTONS)
|
||||||
|
list(APPEND SRCS stm32_buttons.c)
|
||||||
|
endif()
|
||||||
|
|
||||||
target_sources(board PRIVATE ${SRCS})
|
target_sources(board PRIVATE ${SRCS})
|
||||||
|
|
||||||
set_property(GLOBAL PROPERTY LD_SCRIPT "${NUTTX_BOARD_DIR}/scripts/flash.ld")
|
set_property(GLOBAL PROPERTY LD_SCRIPT "${NUTTX_BOARD_DIR}/scripts/flash.ld")
|
||||||
@@ -64,6 +68,5 @@ if(NOT CONFIG_BUILD_FLAT)
|
|||||||
add_subdirectory(${NUTTX_BOARD_DIR}/kernel)
|
add_subdirectory(${NUTTX_BOARD_DIR}/kernel)
|
||||||
set_property(
|
set_property(
|
||||||
GLOBAL PROPERTY LD_SCRIPT_USER ${NUTTX_BOARD_DIR}/scripts/memory.ld
|
GLOBAL PROPERTY LD_SCRIPT_USER ${NUTTX_BOARD_DIR}/scripts/memory.ld
|
||||||
${NUTTX_BOARD_DIR}/scripts/user-space.ld)
|
${NUTTX_BOARD_DIR}/scripts/user-space.ld)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|||||||
@@ -34,6 +34,10 @@ else
|
|||||||
CSRCS += stm32_userleds.c
|
CSRCS += stm32_userleds.c
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifeq ($(CONFIG_ARCH_BUTTONS),y)
|
||||||
|
CSRCS += stm32_buttons.c
|
||||||
|
endif
|
||||||
|
|
||||||
ifeq ($(CONFIG_STM32H7_OTGFS),y)
|
ifeq ($(CONFIG_STM32H7_OTGFS),y)
|
||||||
CSRCS += stm32_usb.c
|
CSRCS += stm32_usb.c
|
||||||
endif
|
endif
|
||||||
|
|||||||
@@ -88,6 +88,19 @@
|
|||||||
#define GPIO_LED_ORANGE GPIO_LD2
|
#define GPIO_LED_ORANGE GPIO_LD2
|
||||||
#define GPIO_LED_RED GPIO_LD3
|
#define GPIO_LED_RED GPIO_LD3
|
||||||
|
|
||||||
|
/* BUTTONS
|
||||||
|
*
|
||||||
|
* The Blue pushbutton B1, labeled "User", is connected to GPIO PC13.
|
||||||
|
* A high value will be sensed when the button is depressed.
|
||||||
|
* Note:
|
||||||
|
* 1) That the EXTI is included in the definition to enable an interrupt
|
||||||
|
* on this IO.
|
||||||
|
* 2) The following definitions assume the default Solder Bridges are
|
||||||
|
* installed.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define GPIO_BTN_USER (GPIO_INPUT | GPIO_FLOAT | GPIO_EXTI | GPIO_PORTC | GPIO_PIN13)
|
||||||
|
|
||||||
#define GPIO_OTGFS_VBUS (GPIO_INPUT|GPIO_FLOAT|GPIO_SPEED_100MHz| \
|
#define GPIO_OTGFS_VBUS (GPIO_INPUT|GPIO_FLOAT|GPIO_SPEED_100MHz| \
|
||||||
GPIO_OPENDRAIN|GPIO_PORTA|GPIO_PIN9)
|
GPIO_OPENDRAIN|GPIO_PORTA|GPIO_PIN9)
|
||||||
|
|
||||||
|
|||||||
@@ -49,6 +49,10 @@
|
|||||||
|
|
||||||
#include "nucleo-h743zi2.h"
|
#include "nucleo-h743zi2.h"
|
||||||
|
|
||||||
|
#ifdef CONFIG_INPUT_BUTTONS
|
||||||
|
# include <nuttx/input/buttons.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Private Functions
|
* Private Functions
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
@@ -157,6 +161,16 @@ int stm32_bringup(void)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(CONFIG_INPUT_BUTTONS_LOWER)
|
||||||
|
/* Register the BUTTON driver */
|
||||||
|
|
||||||
|
ret = btn_lower_initialize("/dev/buttons");
|
||||||
|
if (ret < 0)
|
||||||
|
{
|
||||||
|
syslog(LOG_ERR, "ERROR: btn_lower_initialize() failed: %d\n", ret);
|
||||||
|
}
|
||||||
|
#endif /* CONFIG_INPUT_BUTTONS */
|
||||||
|
|
||||||
#ifdef HAVE_USBHOST
|
#ifdef HAVE_USBHOST
|
||||||
/* Initialize USB host operation. stm32_usbhost_initialize()
|
/* Initialize USB host operation. stm32_usbhost_initialize()
|
||||||
* starts a thread will monitor for USB connection and
|
* starts a thread will monitor for USB connection and
|
||||||
|
|||||||
@@ -0,0 +1,107 @@
|
|||||||
|
/****************************************************************************
|
||||||
|
* boards/arm/stm32h7/nucleo-h743zi2/src/stm32_buttons.c
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*
|
||||||
|
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
|
* contributor license agreements. See the NOTICE file distributed with
|
||||||
|
* this work for additional information regarding copyright ownership. The
|
||||||
|
* ASF licenses this file to you under the Apache License, Version 2.0 (the
|
||||||
|
* "License"); you may not use this file except in compliance with the
|
||||||
|
* License. You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||||
|
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||||
|
* License for the specific language governing permissions and limitations
|
||||||
|
* under the License.
|
||||||
|
*
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
/****************************************************************************
|
||||||
|
* Included Files
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
#include <nuttx/config.h>
|
||||||
|
|
||||||
|
#include <stddef.h>
|
||||||
|
#include <errno.h>
|
||||||
|
|
||||||
|
#include <nuttx/irq.h>
|
||||||
|
#include <nuttx/board.h>
|
||||||
|
|
||||||
|
#include "stm32_gpio.h"
|
||||||
|
#include "nucleo-h743zi2.h"
|
||||||
|
#include <arch/board/board.h>
|
||||||
|
|
||||||
|
#ifdef CONFIG_ARCH_BUTTONS
|
||||||
|
|
||||||
|
/****************************************************************************
|
||||||
|
* Public Functions
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
/****************************************************************************
|
||||||
|
* Name: board_button_initialize
|
||||||
|
*
|
||||||
|
* Description:
|
||||||
|
* board_button_initialize() must be called to initialize button resources.
|
||||||
|
* After that, board_buttons() may be called to collect the current state
|
||||||
|
* of all buttons or board_button_irq() may be called to register button
|
||||||
|
* interrupt handlers.
|
||||||
|
*
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
uint32_t board_button_initialize(void)
|
||||||
|
{
|
||||||
|
stm32_configgpio(GPIO_BTN_USER);
|
||||||
|
return NUM_BUTTONS;
|
||||||
|
}
|
||||||
|
|
||||||
|
/****************************************************************************
|
||||||
|
* Name: board_buttons
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
uint32_t board_buttons(void)
|
||||||
|
{
|
||||||
|
return stm32_gpioread(GPIO_BTN_USER) ? 1 : 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/****************************************************************************
|
||||||
|
* Button support.
|
||||||
|
*
|
||||||
|
* Description:
|
||||||
|
* board_button_initialize() must be called to initialize button resources.
|
||||||
|
* After that, board_buttons() may be called to collect the current state
|
||||||
|
* of all buttons or board_button_irq() may be called to register button
|
||||||
|
* interrupt handlers.
|
||||||
|
*
|
||||||
|
* After board_button_initialize() has been called, board_buttons() may be
|
||||||
|
* called to collect the state of all buttons. board_buttons() returns a
|
||||||
|
* 32-bit bit set with each bit associated with a button. See the
|
||||||
|
* BUTTON_*_BIT definitions in board.h for the meaning of each bit.
|
||||||
|
*
|
||||||
|
* board_button_irq() may be called to register an interrupt handler that
|
||||||
|
* will be called when a button is depressed or released. The ID value is
|
||||||
|
* a button enumeration value that uniquely identifies a button resource.
|
||||||
|
* See the BUTTON_* definitions in board.h for the meaning of enumeration
|
||||||
|
* value.
|
||||||
|
*
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
#ifdef CONFIG_ARCH_IRQBUTTONS
|
||||||
|
int board_button_irq(int id, xcpt_t irqhandler, void *arg)
|
||||||
|
{
|
||||||
|
int ret = -EINVAL;
|
||||||
|
|
||||||
|
if (id == BUTTON_USER)
|
||||||
|
{
|
||||||
|
ret = stm32_gpiosetevent(GPIO_BTN_USER, true, true, true,
|
||||||
|
irqhandler, arg);
|
||||||
|
}
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#endif /* CONFIG_ARCH_BUTTONS */
|
||||||
Reference in New Issue
Block a user