This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Adding debug to the network stack not working

I'm developing a new WiFi driver, and I'm having a failure during netInitialize() (I have the error NET_ERROR_CONFIG) so I need to add debug to the network to try to have more details of the failure that is occurring. To enable the network debug I have changed the following parameters in the Manage Run-Time environment window:

Network / Core - Changed to IPv4/IPv6 Debug

Compiler / Event Recorder - I have activated it

After these changes, building the project generates 3 errors:

.\Objects\xxxx.axf: Error: L6218E: Undefined symbol net_dbg_proc (referred from net_debug.o).
.\Objects\xxxx.axf: Error: L6218E: Undefined symbol net_dbg_time (referred from net_debug.o).
.\Objects\xxxx.axf: Error: L6218E: Undefined symbol net_evr_init (referred from net_sys.o).

Is it necessary to do other changes to activate the network debug? What could be the cause for these errors? 

Thanks!

Fernando

  • Following this page https://www.keil.com/pack/doc/mw/Network/html/network_create_app.html#nw_debugging will help you to enable network debug mode. After doing this, just check if the correct debug variant of middleware network lib, e.g. Net_Dbg_CM3_L.lib, instead of the normal lib variant like Net_CM3.L.lib is enabled and used in your project

  • Hi ChenTang,

    Thank you very much for your feedback that I think points in the right direction. The Keil project originally was configured with "IPv4/IPv6 Debug STDIO", and I can build it without errors, and I can also build it if I change for "IPv4/IPv6 Release". After your message, I noticed that in all the cases ("IPv4/IPv6 Debug STDIO", "IPv4/IPv6 Debug" and "IPv4/IPv6 Release") it is using Net_D_CM3_L.lib, and that seems to be applicable only to the Debug STDIO variant (it should use the Net_Dbg_CM3_L.lib as you have suggested when using "IPv4/IPv6 Debug"). Shouldn't it be changed automatically when we change the debug option on the "Manage Run-Time Environment window? Or should we change it manually? Sorry for such a basic question, I was assuming that it was automatically selected, I have no previous experience with Keil, I previously use Atollic and STM32CubeIDE

    Best regards

    Fernando

  • I was able to change to the Net_Dbg_CM3_L.lib using the "Options for component class"Network" in the project explorer, getting these project files:

    So now I see the correct lib (Net_Dbg_CM3_L.lib), but I still get the same linking errors:

    Linking...

    .\Objects\xxxx.axf: Error: L6218E: Undefined symbol net_dbg_proc (referred from net_debug.o).
    .\Objects\xxxx.axf: Error: L6218E: Undefined symbol net_dbg_time (referred from net_debug.o).
    .\Objects\xxxx.axf: Error: L6218E: Undefined symbol net_evr_init (referred from net_sys.o).

    Any other idea for the cause?

    Fernando