we have a Rabbit interface board (the standard development kit), and a RCM6710 minicore board.
We made a pcb that fit our needs, that basically contains:
- the RCM6710 socket
- a 3,3V regulator
- the FTDI232 with the usb connector
- the backup battery
- a SD slot
- some leds
- two idc connector with some pins, to be used as serial or parallel comunications with other pcbs
- an spst switch, that puts the RCM on programing or free run, manipulating the SMODE pin, like the jumper on the development board
Of course, the circuit between the FT232 and the RCM is the same as the interface board, including the HC125 for the reset and SMODE pins.
This board works very well with any program we load on the RCM, on program mode and free run mode (this last, loading the firmware on flash, of course).
But, and this is why I writting, fails EXCLUSIVELY if we load some firmware that uses the ethernet connector, even the simple static.c (that resides in the examples folder of the Dynamic C program), when the board is in program mode; when is on free run mode, the same firmware, static.c, works perfectly.
We found that the failure occurs when we call sock_init();
A couple of secnds after this call, the program stops, and a window saying “The target stopped responding” appears.
Would you somebody help us, please?; excuse my little english!.
Thanks a lot,
Hello,If you use the function sock_init() directly and if there is no net work available or pending net work interface to come up ,you may see this kind of messages at the console. The work around for this is , you should write your code as below
if (sock_init() != 0)
while (ifpending(IF_DEFAULT) == IF_COMING_UP)
if (ifpending(IF_DEFAULT) != IF_UP)
OR Already Dynamic C have a another function sock_init_or_exit() with the above logic.
You can use this function sock_init_or_exit() in your application.
For more information on the above fun details , please check Dynamic C user’s manual at the below link
Note that this function is primarily for debugging and sample code.
thanks for your answer.
We tried before the code you said, but it does not work.
We use static IP, and the network is really connected and working.
The same RCM6710 with the same code, but inserted on the Rabbit interface board, work fine; so the problem is with our board exclusively.
As I said, any code that does not include ehternet, Works well on our board, on program mode (this is, connected to Dynamic C ide trough usb), and on free run (this is, with Smode at GND). So the usb interface and the Smode and reset lines manipulation circuitry is working fine.
The RCM6710 has the magnetics and th RJ45 Jack on board, so we have nothing to do with the Ethernet circuitry wiring.
Perhaps you can give another clue…
Thanks in advance,
Hello , I do not think this is a problem with the hardware or software. Please try to use higher debug baud rates(115200), I hope it will not give the specified error.
Still if you are getting the error, please send the screen shot, I will take a look into this.
thanks for your attention!
The debug baud rates are actually at 115200; lower rates give us the same behavior.
I can send you a printscrn of the sample program (static.c), the StdIO and the message that Dynamic C give us when we click on Run button, after the compilation
At last, I can send you the sch we are working on… but, how can I do to attach the images?.
I understand it is not easy, and I do not want to be annoying with this!.
Thanks a lot again