Hello all.
We're using the MCB1760 Board and try to communicate via Ethernet with a PC with a RealTime Linux. The Ethernet communication on the board is interrupt triggered. If we program the device via USB JTAg and let it run everything works fine. The MicroController gets every Message from the PC via Ethernet. The connected and controlled servos are set just in that way we liked it. But after a reboot of the MCB1760 Board we can notice strange behavior. Ethernet Messages seem to take a lot longer to be set by the MCB Board(about 50s). Unfurtunately this behavior can´t be observed when using the debugging function of uVision4. Because the controller is programmed again before a debug session starts. This behavior leads to this questions: What does the board after a reboot do which compromised our code or the behavior of the board? Which are the differents between just programming the board and programming and do a reboot? Is this issue caused by the bootloader? How we can fix it?
Thanks for any advice.
Unfurtunately this behavior can´t be observed when using the debugging function of uVision4. Because the controller is programmed again before a debug session starts.
This should only happen if you relink.
Ethernet Messages seem to take a lot longer to be set by the MCB Board(about 50s).
What do you mean exactly?
Ethernet Messages seem to take a lot longer to be set by the MCB Board
Just a wild guess: could it be duplex mismatch? en.wikipedia.org/.../Duplex_mismatch
If some code (say, a bootloader) runs prior to your code, it could configure your ethernet controller/PHY to an undesirable state. You can check this by somehow reading the relevant configuration registers prior to your initialization and comparing the values obtained with debugger attached and without it.
Thanks to both of you for the good advices.
reading the relevant configuration registers prior to your initialization and comparing the values obtained with debugger attached and without it
I'm going to try it tomorrow. It sounds promising.
What do you mean exactly? The communication is triggered by the MCB1760. It transmits data packets with sensor values to the pc. The PC receives the sensor packet and send a ethernet packet with desired actuator values itself. If we change these actuator values on the pc it takes a long time until they were set by the controller.(we've verified by setting the actuator value to a servo or print it on the display) It takes 50s to 60s until the values are set. Packets send by the pc contain the correct values immediately (monitoring by wireshark).