With a support entitlement you can also get direct access to our team of highly-qualified Arm experts 24-hours a day
Open a support case
We have a requirement in our Gateway product which uses the NUC472.
The flash is loaded with two binaries i.e. bootloader at 0 location and application at 0x10000 location. The bootloader boots up and initializes the hardware peripherals such as Clock, External SRAM via EBI etc. Following the initialization, the Bootloader jumps to the application binary location in the flash. The application code boots up completely on the external 512K SRAM (0x60000000).
Now, the application uses BSP along with FreeRTOS 8.2.1 and LWIP 1.4.1 implementations present as third party code with the OpenNuvoton NUC472_442 BSP v03.00.00 GIT Repository.
We are using Ethernet for external connectivity for which we require to run DHClient. However, upon running the DHClient, we are not able to obtain IP address from our gateway. Upon further investigation in LWIP/EMAC Driver implementations, we found that the First DHCP Discover request returns success from the LWIP stack but has not yet been transmitted by the EMAC.
This results into Tx Buffer not being available for consequent Tx triggers. Digging for information on similar cases on various forums gave us a scenario in which DHCP was not working with External RAM as DMA engine is unable to access non-contiguous RAM locations. We tried looking for such information in the Technical Reference Manual v1.05 but were not able to get some conclusive insight.
One noteworthy observation we made was that the Ethernet communication is working fine with static IP. Also DHCP works when we loaded a demo application onto the internal 64k RAM. However, same application fails to get IP when booted on external RAM.
Could you please consider this scenario with some urgency and provide help or insight into it? This is becoming critical for our road map.