nucleo-stm32h7zi vs nucleo-stm32h7zi2 boards
Hi What are the main differences between the nucleo-stm32h743zi and the nucleo-stm32h743zi2 boards? I have a stm32743zi2 board but the available files under "boards" for nucleo-stm32h743zi2 are limited compared to the files available for the nucleo-stm32h743zi version. I need different devices (PWM, ADC, encoder, CAN) and I don't know exactly if I have to new implement them for the ZI2 version or if it is possible to work using the ZI version. I tried the netnsh configuration of the ZI on my ZI2 board and it works... Thanks in advance for any hints Roberto
Re: nucleo-stm32h7zi vs nucleo-stm32h7zi2 boards
Hi Roberto, I found both boards listed on Digikey: NUCLEO-H743ZI: https://www.digikey.com/en/products/detail/stmicroelectronics/NUCLEO-H743ZI/7809236 NUCLEO-H743ZI2: https://www.digikey.com/en/products/detail/stmicroelectronics/NUCLEO-H743ZI2/10130892 The ZI board was replaced with ZI2 by ST according with a note here: https://www.st.com/content/ccc/resource/technical/document/data_brief/group1/8c/c9/8a/9b/3e/f0/45/bb/DM00357737/files/DM00357737.pdf/jcr:content/translations/en.DM00357737.pdf Also according with this note ZI uses ST-LINK/V2 and ZI2 uses ST-LINK/V3, I didn't look the schematics to do further comparison. If you do the schematic comparison and realize they are identical, then it should be nice to copy the code from ZI board to ZI2 because ZI was discontinued and users normally will by ZI2. The board ZI has reference code MB1137 and ZI2 has MB1364. BR, Alan On 6/29/22, Roberto Bucher wrote: > Hi > > What are the main differences between the nucleo-stm32h743zi and the > nucleo-stm32h743zi2 boards? > > I have a stm32743zi2 board but the available files under "boards" for > nucleo-stm32h743zi2 are limited compared to the files available for the > nucleo-stm32h743zi version. > > I need different devices (PWM, ADC, encoder, CAN) and I don't know > exactly if I have to new implement them for the ZI2 version or if it is > possible to work using the ZI version. > > I tried the netnsh configuration of the ZI on my ZI2 board and it works... > > Thanks in advance for any hints > > Roberto > >
Re: nucleo-stm32h7zi vs nucleo-stm32h7zi2 boards
Thanks Alan I'll try to move the different devices to the new architecture. I'll already tried to port the stm32_pwm.c under the zi2 board and it works without problems. In the next weeks I'll try to port other devices (ADC, Encoders etc.). It seems the SocketCan is already implemented. One additional problems has raised when I modified the "System timer tick period" I can't see relations between this configuration and the network... Network is okĀ with values of this timer set to 1 and 1000, but when I modify it to 100, the network doesn't work anymore... BR Roberto On 6/29/22 14:26, Alan Carvalho de Assis wrote: Hi Roberto, I found both boards listed on Digikey: NUCLEO-H743ZI: https://www.digikey.com/en/products/detail/stmicroelectronics/NUCLEO-H743ZI/7809236 NUCLEO-H743ZI2: https://www.digikey.com/en/products/detail/stmicroelectronics/NUCLEO-H743ZI2/10130892 The ZI board was replaced with ZI2 by ST according with a note here: https://www.st.com/content/ccc/resource/technical/document/data_brief/group1/8c/c9/8a/9b/3e/f0/45/bb/DM00357737/files/DM00357737.pdf/jcr:content/translations/en.DM00357737.pdf Also according with this note ZI uses ST-LINK/V2 and ZI2 uses ST-LINK/V3, I didn't look the schematics to do further comparison. If you do the schematic comparison and realize they are identical, then it should be nice to copy the code from ZI board to ZI2 because ZI was discontinued and users normally will by ZI2. The board ZI has reference code MB1137 and ZI2 has MB1364. BR, Alan On 6/29/22, Roberto Bucher wrote: Hi What are the main differences between the nucleo-stm32h743zi and the nucleo-stm32h743zi2 boards? I have a stm32743zi2 board but the available files under "boards" for nucleo-stm32h743zi2 are limited compared to the files available for the nucleo-stm32h743zi version. I need different devices (PWM, ADC, encoder, CAN) and I don't know exactly if I have to new implement them for the ZI2 version or if it is possible to work using the ZI version. I tried the netnsh configuration of the ZI on my ZI2 board and it works... Thanks in advance for any hints Roberto
Re: nucleo-stm32h7zi vs nucleo-stm32h7zi2 boards
Hi Roberto, Gustavo just told me that other difference is the clock, ZI2 uses the clock from STLink, it could explain the issue you are facing. BR, Alan On 6/29/22, Roberto Bucher wrote: > Thanks Alan > > I'll try to move the different devices to the new architecture. I'll > already tried to port the stm32_pwm.c under the zi2 board and it works > without problems. > > In the next weeks I'll try to port other devices (ADC, Encoders etc.). > It seems the SocketCan is already implemented. > > One additional problems has raised when I modified the "System timer > tick period" I can't see relations between this configuration and the > network... Network is ok with values of this timer set to 1 and > 1000, but when I modify it to 100, the network doesn't work anymore... > > BR > > Roberto > > On 6/29/22 14:26, Alan Carvalho de Assis wrote: >> Hi Roberto, >> >> I found both boards listed on Digikey: >> >> NUCLEO-H743ZI: >> https://www.digikey.com/en/products/detail/stmicroelectronics/NUCLEO-H743ZI/7809236 >> >> NUCLEO-H743ZI2: >> https://www.digikey.com/en/products/detail/stmicroelectronics/NUCLEO-H743ZI2/10130892 >> >> The ZI board was replaced with ZI2 by ST according with a note here: >> >> https://www.st.com/content/ccc/resource/technical/document/data_brief/group1/8c/c9/8a/9b/3e/f0/45/bb/DM00357737/files/DM00357737.pdf/jcr:content/translations/en.DM00357737.pdf >> >> Also according with this note ZI uses ST-LINK/V2 and ZI2 uses >> ST-LINK/V3, I didn't look the schematics to do further comparison. >> >> If you do the schematic comparison and realize they are identical, >> then it should be nice to copy the code from ZI board to ZI2 because >> ZI was discontinued and users normally will by ZI2. >> >> The board ZI has reference code MB1137 and ZI2 has MB1364. >> >> BR, >> >> Alan >> >> On 6/29/22, Roberto Bucher wrote: >>> Hi >>> >>> What are the main differences between the nucleo-stm32h743zi and the >>> nucleo-stm32h743zi2 boards? >>> >>> I have a stm32743zi2 board but the available files under "boards" for >>> nucleo-stm32h743zi2 are limited compared to the files available for the >>> nucleo-stm32h743zi version. >>> >>> I need different devices (PWM, ADC, encoder, CAN) and I don't know >>> exactly if I have to new implement them for the ZI2 version or if it is >>> possible to work using the ZI version. >>> >>> I tried the netnsh configuration of the ZI on my ZI2 board and it >>> works... >>> >>> Thanks in advance for any hints >>> >>> Roberto >>> >>> > >
Re: nucleo-stm32h7zi vs nucleo-stm32h7zi2 boards
I had tried to just handle the difference via config flags but it got too complicated (different pin mappings, inverted signals, clocking, etc...). The original board is quite different and is closer to the F series boards than the H ones. On Wed, Jun 29, 2022, 6:53 AM Alan Carvalho de Assis wrote: > Hi Roberto, > > Gustavo just told me that other difference is the clock, ZI2 uses the > clock from STLink, it could explain the issue you are facing. > > BR, > > Alan > > On 6/29/22, Roberto Bucher wrote: > > Thanks Alan > > > > I'll try to move the different devices to the new architecture. I'll > > already tried to port the stm32_pwm.c under the zi2 board and it works > > without problems. > > > > In the next weeks I'll try to port other devices (ADC, Encoders etc.). > > It seems the SocketCan is already implemented. > > > > One additional problems has raised when I modified the "System timer > > tick period" I can't see relations between this configuration and the > > network... Network is ok with values of this timer set to 1 and > > 1000, but when I modify it to 100, the network doesn't work anymore... > > > > BR > > > > Roberto > > > > On 6/29/22 14:26, Alan Carvalho de Assis wrote: > >> Hi Roberto, > >> > >> I found both boards listed on Digikey: > >> > >> NUCLEO-H743ZI: > >> > https://www.digikey.com/en/products/detail/stmicroelectronics/NUCLEO-H743ZI/7809236 > >> > >> NUCLEO-H743ZI2: > >> > https://www.digikey.com/en/products/detail/stmicroelectronics/NUCLEO-H743ZI2/10130892 > >> > >> The ZI board was replaced with ZI2 by ST according with a note here: > >> > >> > https://www.st.com/content/ccc/resource/technical/document/data_brief/group1/8c/c9/8a/9b/3e/f0/45/bb/DM00357737/files/DM00357737.pdf/jcr:content/translations/en.DM00357737.pdf > >> > >> Also according with this note ZI uses ST-LINK/V2 and ZI2 uses > >> ST-LINK/V3, I didn't look the schematics to do further comparison. > >> > >> If you do the schematic comparison and realize they are identical, > >> then it should be nice to copy the code from ZI board to ZI2 because > >> ZI was discontinued and users normally will by ZI2. > >> > >> The board ZI has reference code MB1137 and ZI2 has MB1364. > >> > >> BR, > >> > >> Alan > >> > >> On 6/29/22, Roberto Bucher wrote: > >>> Hi > >>> > >>> What are the main differences between the nucleo-stm32h743zi and the > >>> nucleo-stm32h743zi2 boards? > >>> > >>> I have a stm32743zi2 board but the available files under "boards" for > >>> nucleo-stm32h743zi2 are limited compared to the files available for the > >>> nucleo-stm32h743zi version. > >>> > >>> I need different devices (PWM, ADC, encoder, CAN) and I don't know > >>> exactly if I have to new implement them for the ZI2 version or if it is > >>> possible to work using the ZI version. > >>> > >>> I tried the netnsh configuration of the ZI on my ZI2 board and it > >>> works... > >>> > >>> Thanks in advance for any hints > >>> > >>> Roberto > >>> > >>> > > > > >
Re: net/if_arp.h - standard header?
On Wed, Jun 29, 2022 at 4:44 AM Nathan Hartman wrote: > On Tue, Jun 28, 2022 at 4:05 PM Nathan Hartman > wrote: > > > > I have a program that builds under Linux, BSD, and macOS which > > includes the net/if_arp.h header. > > > > This header does not seem to exist under NuttX. > > > > It is included for the ARPHRD_ETHER define (and possibly other things). > > > > I see that under NuttX, this is defined in net/arp.h, rather than > net/if_arp.h. > > > > Is net/if_arp.h supposed to be a standard header? I cannot seem to > > find any meaningful information about it. > > > If no standard defines it, it's better to follow other OS(especially, other POSIX compliant)'s practices. > > Thanks, > > Nathan > > Also, do we lack the defines IFF_LOOPBACK, IFF_UP, IFF_BROADCAST, and > IFF_MULTICAST? I can't find them anywhere, except in comments. > > For example, a grep for IFF_LOOPBACK shows it in the comments for > getifaddrs(): > > [[[ > * Depending on whether the bit IFF_BROADCAST or IFF_POINTOPOINT is > * set in ifa_flags (only one can be set at a time), either > * ifa_broadaddr will contain the broadcast address associated with > * ifa_addr (if applicable for the address family) or ifa_dstaddr > * will contain the destination address of the point-to-point > * interface. > ]]] > > but no such define exists in NuttX. > We just added the related code a couple weeks ago. My teammate will upstream the change soon.
Re: net/if_arp.h - standard header?
On Wed, Jun 29, 2022 at 12:23 PM Xiang Xiao wrote: > > On Wed, Jun 29, 2022 at 4:44 AM Nathan Hartman > wrote: > > > On Tue, Jun 28, 2022 at 4:05 PM Nathan Hartman > > wrote: > > > > > > I have a program that builds under Linux, BSD, and macOS which > > > includes the net/if_arp.h header. > > > > > > This header does not seem to exist under NuttX. > > > > > > It is included for the ARPHRD_ETHER define (and possibly other things). > > > > > > I see that under NuttX, this is defined in net/arp.h, rather than > > net/if_arp.h. > > > > > > Is net/if_arp.h supposed to be a standard header? I cannot seem to > > > find any meaningful information about it. > > > > > > > If no standard defines it, it's better to follow other OS(especially, other > POSIX compliant)'s practices. Hmm... well the net/if_arp.h header seems to exist on Linux and macOS (BSD), so maybe we need to do something similar. I still can't seem to find much information about this header, so for now I added a special case: if __NuttX__ is defined then I #include . Otherwise I include . It builds, but I do not know if the code that uses the ARPHRD_ETHER define is working correctly because I haven't tested it yet. The code is trying to get the MAC address of a Ethernet interface using ioctl SIOCGIFHWADDR on a temporary socket. In the returned struct ifreq, it checks if ifr_hwaddr.sa_family == ARPHRD_ETHER to ensure it is a Ethernet MAC and not a different type of interface. Maybe there is a better way to do this in NuttX but I prefer to leave the application code unchanged if possible. More below... > > Also, do we lack the defines IFF_LOOPBACK, IFF_UP, IFF_BROADCAST, and > > IFF_MULTICAST? I can't find them anywhere, except in comments. > > > > For example, a grep for IFF_LOOPBACK shows it in the comments for > > getifaddrs(): > > > > [[[ > > * Depending on whether the bit IFF_BROADCAST or IFF_POINTOPOINT is > > * set in ifa_flags (only one can be set at a time), either > > * ifa_broadaddr will contain the broadcast address associated with > > * ifa_addr (if applicable for the address family) or ifa_dstaddr > > * will contain the destination address of the point-to-point > > * interface. > > ]]] > > > > but no such define exists in NuttX. > > > > We just added the related code a couple weeks ago. My teammate will > upstream the change soon. That is very good news! I'll be looking out for it when it lands. Feel free to ping me for review on GitHub. Thanks for the reply. Cheers, Nathan
Re: net/if_arp.h - standard header?
On Thu, Jun 30, 2022 at 12:40 AM Nathan Hartman wrote: > On Wed, Jun 29, 2022 at 12:23 PM Xiang Xiao > wrote: > > > > On Wed, Jun 29, 2022 at 4:44 AM Nathan Hartman > > > wrote: > > > > > On Tue, Jun 28, 2022 at 4:05 PM Nathan Hartman < > hartman.nat...@gmail.com> > > > wrote: > > > > > > > > I have a program that builds under Linux, BSD, and macOS which > > > > includes the net/if_arp.h header. > > > > > > > > This header does not seem to exist under NuttX. > > > > > > > > It is included for the ARPHRD_ETHER define (and possibly other > things). > > > > > > > > I see that under NuttX, this is defined in net/arp.h, rather than > > > net/if_arp.h. > > > > > > > > Is net/if_arp.h supposed to be a standard header? I cannot seem to > > > > find any meaningful information about it. > > > > > > > > > > > If no standard defines it, it's better to follow other OS(especially, > other > > POSIX compliant)'s practices. > > > Hmm... well the net/if_arp.h header seems to exist on Linux and macOS > (BSD), so maybe we need to do something similar. > > I still can't seem to find much information about this header, so for > now I added a special case: if __NuttX__ is defined then I #include > . Otherwise I include . It builds, but > I do not know if the code that uses the ARPHRD_ETHER define is working > correctly because I haven't tested it yet. > > The code is trying to get the MAC address of a Ethernet interface > using ioctl SIOCGIFHWADDR on a temporary socket. In the returned > struct ifreq, it checks if ifr_hwaddr.sa_family == ARPHRD_ETHER to > ensure it is a Ethernet MAC and not a different type of interface. > > here is NuttX's implementation: https://github.com/apache/incubator-nuttx/blob/master/net/netdev/netdev_ioctl.c#L914-L949 If the implementation isn't fully compatible with other OS, I normally prefer to update NuttX's one. > Maybe there is a better way to do this in NuttX but I prefer to leave > the application code unchanged if possible. > > More below... > > > > > Also, do we lack the defines IFF_LOOPBACK, IFF_UP, IFF_BROADCAST, and > > > IFF_MULTICAST? I can't find them anywhere, except in comments. > > > > > > For example, a grep for IFF_LOOPBACK shows it in the comments for > > > getifaddrs(): > > > > > > [[[ > > > * Depending on whether the bit IFF_BROADCAST or IFF_POINTOPOINT is > > > * set in ifa_flags (only one can be set at a time), either > > > * ifa_broadaddr will contain the broadcast address associated with > > > * ifa_addr (if applicable for the address family) or ifa_dstaddr > > > * will contain the destination address of the point-to-point > > > * interface. > > > ]]] > > > > > > but no such define exists in NuttX. > > > > > > > We just added the related code a couple weeks ago. My teammate will > > upstream the change soon. > > > That is very good news! I'll be looking out for it when it lands. Feel > free to ping me for review on GitHub. > > It's here: https://github.com/apache/incubator-nuttx/pull/6543 > Thanks for the reply. > > Cheers, > Nathan >