I decided it was time to get to work and try to learn something new about this device and JTAG. I’ve never used a JTAG interface before so why not just jump right in. I started by watching this video of Felix Domke, it explained the concept, and the basics about using the JTAG interface and how most hardware doesn’t bother disabling it.
First things first… Even though the pads are clearly labeled on the board, I wanted to find more information on the chip that was being used in the remote. The MAXQ610, a 16-Bit Microcontroller with Infared Module. Doesn’t that just roll of the tongue?
More Info: http://www.maxim-ic.com/datasheet/index.mvp/id/5939
Data Sheet: http://datasheets.maxim-ic.com/en/ds/MAXQ610.pdf
User Guide: http://pdfserv.maxim-ic.com/en/an/AN4812.pdf
Other Documents: http://www.maxim-ic.com/datasheet/index.mvp/id/5939/t/do
I was psyched to get started, so I got my soldering iron out, my wires all cut and ready, and began connecting wires to my JTAG programmer. It didn’t take long to get it all hooked up, and after some programmer issues, I was up and running with a small test app using the FTDI drivers and libraries directly from http://www.ftdichip.com/Drivers/D2XX.htm. I tried doing some simple stuff like navigating the JTAG TAP. It didn’t seem to work though, I tried several things reading in streams of 1’s reading in streams of 0’s none of it seemed to work. I guess it’s time to check the signals.
I hooked up the scope with the intent of probing each signal to make sure it was getting to the board. In doing so I noticed that I forgot to hook up the TCK connection, and that totally explained why nothing was happening. Without clocking the process cannot move forward. As I reached for another piece of wire to connect TCK, the probe that was connected to my TMS pin fell off the table and ripped the pad off the remote board. ARGGGggggg.
Well I guess I’m done for the day until I go get another remote to start over with.