cancel
Showing results for 
Search instead for 
Did you mean: 

LwIP on the CM4 core of a dual core STM32H7?

WLear
Associate III

Has anyone been successful using CubeMX to create a CubeIDE bare metal project with Ethernet/LwIP running on the CM4 core of a dual-core STM32H7 processor?

If so, I'd greatly appreciate any pointers or examples you can share.

1 ACCEPTED SOLUTION

Accepted Solutions
  1. When running the stack on Cortex-M4, the buffers can be placed at the same address (0x30040000), but it is better to place them at 0x10040000 which is alias for the same address. This alias is accessible by Cortex-M4 D-bus and helps to utilize the Harvard architecture.
  2. When not using FreeRTOS, the Ethernet interrupt should be disabled and MX_LWIP_Process should be called periodically (in main loop).

View solution in original post

3 REPLIES 3
EOzde.1
Associate III
  1. When running the stack on Cortex-M4, the buffers can be placed at the same address (0x30040000), but it is better to place them at 0x10040000 which is alias for the same address. This alias is accessible by Cortex-M4 D-bus and helps to utilize the Harvard architecture.
  2. When not using FreeRTOS, the Ethernet interrupt should be disabled and MX_LWIP_Process should be called periodically (in main loop).

Thanks! I had not even thought about using the aliased address space for the buffers - excellent idea.

I've seen, and successfully used the various examples for the M7 core, but they all focus primarily on the intricacies of dealing with the M7 dCache - of little interest on the M4.