nucleo-stm32h7zi vs nucleo-stm32h7zi2 boards

2022-06-29 Thread Roberto Bucher

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

2022-06-29 Thread Alan Carvalho de Assis
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

2022-06-29 Thread Roberto Bucher

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

2022-06-29 Thread Alan Carvalho de Assis
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

2022-06-29 Thread Brennan Ashton
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?

2022-06-29 Thread Xiang Xiao
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?

2022-06-29 Thread Nathan Hartman
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?

2022-06-29 Thread Xiang Xiao
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
>