We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
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
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...
Any other idea for the cause?