NETXDUO not working with enabled TrustZone
Hi everyone,
i'm currently facing some issues while using NetXDuo (in the NonSecure World) with TrustZone.
My current goal: Use Network stuff, i.e. be able to ping the board from my PC with NetXDuo running in the NonSecure World with activated TrustZone.
With an empty project, i do the following steps and assign the ETH to the NS world. Apart from that, the project is empty.
The steps are more or less taken from this example.
- ETH: `RMII` mode. Set RxBuffLen to `1536`
- ICACHE: (optional to disable the IDE warnings) `2-ways set associative cache` mode
- ThreadX: `Core`
- NetXDuo: NX Core, DHCP Client, Network Interfaces > Ethernet Interfacea and LAN8472. In the configuration:
- Platform Settings > chose lan8742 for both options
- Enable Interface Capability true
- Memory Pool Size 30 * 1024
- Generate Init Code true
- IP Instance Thread Size 2 * 1024
- Pool Size in number of Packets 10
- Application Thread Stack Size 2 * 1024
- NVIC: Enable Ethernet Global Interrupt to Preemption Prio 7
- SYS: Timebase Source TIM6
- RCC: Enable High Speed Clock > DIGBYPASS Clock Source
- Pinout: Set Pin PG12 to `ETH_TXD1`. (By doing this, PG14 should be cleared)
If i run the project like this, the wati until an IP Address is ready semaphore get in app_netxduo.c does not return to TX_SUCCESS, i.e. the board is not pingable.
What kinda confuses me is that if i do the steps above in an Project without TrustZone, everything works.
Anyone got an idea what might be my issue? I also tried to compare the .ioc files by hand in an editor and did not spot anything what might be a problem.
I'd appreciate any help or hints :)
Best,
funkii
