Loading...
 

SW4STM32 and SW4Linux fully supports the STM32MP1 asymmetric multicore Cortex/A7+M4 MPUs

   With System Workbench for Linux, Embedded Linux on the STM32MP1 family of MPUs from ST was never as simple to build and maintain, even for newcomers in the Linux world. And, if you install System Workbench for Linux in System Workbench for STM32 you can seamlessly develop and debug asymmetric applications running partly on Linux, partly on the Cortex-M4.
You can get more information from the ac6-tools website and download (registration required) various documents highlighting:

System Workbench for STM32


lwIP on Nucleo-F767ZI

hello everybody, today i was trying to use the lwIP stack on my board and more specifically i tried to set up an UDP echo client/server following what i’ve seen inside the other examples from the F7 firmware package, but i wanted to throw in STM32CubeMX too for the various configurations.

Basically in Cube MX i just enabled ETH and lwIP modules, ETH set to MII mode. Then i configured lwIP with a static IP address and left the other settings untouched.

I then imported the project to SW, and copied the udp conmfigurations and management as seen on a different board example.
Result is it doesn’t work, i can’t even ping the board.

Do i have to assume that actually it doesn’t configure the IP and the basic stuff and that t odo so there’s some additional code i’m missing?
I’ll attach my main, in case it could be useful.

thanks in advance.

More infos:

looks like that in lwip.c (it contains the function that initialize lwIP), the condition returned by netif_is_link_up(&gnetif) is always false so it skips an if were netif_set_up(&gnetif) is called.
What can be the cause of that failure?


More updates,

i used netif_set_link_up to make the code run through that part i tolked about in the previous post.
Also noticed i didn’t call udp_echoclient_connect(), so i added it in my main, and it sets everything up fine.

For some reason it still doesn’t connect to the server that i set up through echotool, as explained by the lwIP application note provided by ST.



EDIT: apparently using netif_set_link_up wasn’t really the right thing to do as i basically forced a flag via software that it should have been set by the driver it seems.




EDIT 2: After looking at the Nucleo user guide, i switched the eth configuration to RMII instead of MII. Still, can’t even ping my board.


seam you’r alone here and talikng to yourself ;)

i’l suggest to check all dif vs the working project ,
many time differences are not obvious or located where we look at first
typiclay interrupt dma setting and clock in the msp and it files .
you may also be missing a callback (interrupt , timer etc . ) or some hla/ll required link ?

last hints are they any failign malloc ? what is minimal heap size ?

no malloc used (at least by me) and minimum heap size set by default by CubeMX to 0x200

France

Hi,
I just look at your post; if you read the Nucleo-F767ZI user manual, available at ((http://www.st.com/content/ccc/resource/technical/document/user_manual/group0/26/49/90/2e/33/0d/4a/da/DM00244518/files/DM00244518.pdf/jcr:content/translations/en.DM00244518.pdf)) you’ll see that the Ethernet PHY is connected to the STM32 using an RMII interface, not an MII interface as you say you have configured under CubeMX.

You shoud then modify your CubeMX configuration, by running again CubeMX using the same .ioc file, then regenerate the code (save your old custom code just in case) and it should work better...

Bernard (Ac6)


Hi,

i didn’t post any more updates on what i’ve done so far cause i kinda lost hope on getting some support on here.

Anyways i’ve noticed that too the past week and changed to RMII the whole configuration. Results didn’t change, though.
By looking on ST forums i’ve aknowledged that this board have some issues with the RMII interface but only on the RX side, so on tx everything should be ok.
But despite i can see some data going out from my TXD0 pin, wireshark can’t recognize any packet being sent from the board.

So dunno what to do really.