Take the 2-minute tour ×

The company I am working for has it's own ARM embedded device and currently I am starting a project with it to communicate with a dial-up modem. The modem and the device are to be connected via serial TXD and RXD ports.

My question is, how do I go about troubleshooting communications between the ARM device and the modem? For instance, before even starting with the ARM device, I connected the modem to a laptop via TTL USB connector and sent commands to the modem using Putty. I know how to use the ARM device software to send commands to the modem, however there is no screen on the ARM device so there is no way for me to know for 100% certainty if a command was sent to the modem or not. I guess what I am really asking, is there a way to use a laptop just as a "window" or "viewer" to monitor communications between the modem and the ARM device?

share|improve this question
There are serial monitors, both hardware and software. Typically, a PC driver can dump all traffic to a file and add send or receive header information. However, there is no way to know that the ARM serial port received the data unless you have code on that device. Ie, the ARM serial driver may overflow and miss data on occasion. Usually, an ARM device may have a JTAG or other debug port and the software can be monitored on that device. You need to give more information and do more research. –  artless noise Apr 15 at 16:16
I am using a JTAG to download code to the ARM device. So you are saying I can use that in conjunction with a serial monitor to view the communication between the devices? –  Josh Apr 15 at 16:51
Downloading firmware is just one of MANY uses for JTAG. With a proper debugger and the right settings you can debug your running code with the help of JTAG. Search for "openocd gdb" to get some more information. –  Masta79 Apr 15 at 18:23
The serial monitor can be placed in the line or on your PC that it communicates with. Both give different perspectives. The final perspective is on the ARM (which you can get with a JTAG debugger). Data can get lost at any point due to noise, voltage variations, CPU busy on a device, missed interrupt, etc. Usually the protocols will have retries, sequence numbers, etc. This depends on how reliable the serial link and devices are. –  artless noise Apr 15 at 21:26

Your Answer



Browse other questions tagged or ask your own question.