Hardware: STM32F107VC and 2G module(M35) Software: RL-ARM, TCPNet
Description: In my project, the MCU which i used is STM32F107VC, In the hardware, we have a 2G module which connect to the CPU with UART interface, Now i want to use the 2G module to do the ppp connection, As the user manual said, i need to customize the std_modem.c for the modem driver, But in the TCP_CM3.lib, the null_modem.o is include as default, So when after i compile the std_modem.c and when link, the IDE report the multi define for the modem_hangup() and other modem_xxx() function,
Question: So my question is how to disable the default null_modem.o in the lib and link to my customized std_modem.c.
More information:
I add the std_modem.c in my project, the link error report: .\Out\F20V1.axf: Error: L6200E: Symbol modem_hangup multiply defined (by null_modem.o and std_modem.o). .\Out\F20V1.axf: Error: L6200E: Symbol modem_dial multiply defined (by null_modem.o and std_modem.o). .\Out\F20V1.axf: Error: L6200E: Symbol modem_listen multiply defined (by null_modem.o and std_modem.o). .\Out\F20V1.axf: Error: L6200E: Symbol modem_online multiply defined (by null_modem.o and std_modem.o). .\Out\F20V1.axf: Error: L6200E: Symbol modem_process multiply defined (by null_modem.o and std_modem.o). .\Out\F20V1.axf: Error: L6200E: Symbol modem_run multiply defined (by null_modem.o and std_modem.o).
Did you remove the file Null_Modem.c from your project.
See: http://www.keil.com/support/man/docs/rlarm/rlarm_tn_drv_mod.htm
This issue have been solved, just need to use the modem_init(), not init_modem().