Important changes to forums and questions
All forums and questions are now archived. To start a new conversation or read the latest updates go to forums.mbed.com.
10 years, 8 months ago.
Error EthernetInterface Init function
I use board MCB1700 and Keil.
Compile TCPSocket_HelloWorld example in keil, I can't run it.
EthernetInterface eth; eth.init(); printf("Welcome!\n"); eth.connect();
Program loop forever in eth.init() function, can't run printf.
Question relating to:
3 Answers
10 years, 8 months ago.
The mbed code retrieves the ethernet MAC address through the USB/programming interface using semihost calls. This interface is not available on the Keil board and the software will hang. See http://mbed.org/forum/mbed/topic/972/?page=1#comment-10318 for examples on how to overrule these semihost calls and replace them with your own MAC address.
extern "C" void mbed_mac_address(char * mac) { // define your own MAC Address mac[0] = 0x00; mac[1] = 0x01; mac[2] = 0x02; mac[3] = 0x03; mac[4] = 0x04; mac[5] = 0x05; };
Also note that their may be other hardware differences between the mbed and the Keil board that will prevent the mbed libs from working on the Keil.
10 years, 8 months ago.
I tried it with mbed and it worked. Are you sure you don't have any connection problem with your LAN through your router ?
My system base on MCB1700 kit of keil.
Connection very good!
I also tried a example TCP client of TCP_CM3.lib keil, it wored and post data to server.
I tried library TCP - Ethernet Library mbed, example TCPSocket_HelloWorld, export to keil, compile , and it don't work.
Please me.
posted by 02 Dec 201310 years, 8 months ago.
extern "C" void mbed_mac_address(char * mac) { // define your own MAC Address mac[0] = 0x00; mac[1] = 0x01; mac[2] = 0x02; mac[3] = 0x03; mac[4] = 0x04; mac[5] = 0x05; };
It's worked.
Thanks.