Whilst working on the software for our, yet to be named network light controller, I managed to stop the Jtag from being able to connect to our LM3S6100 ARM microprocessor. All code composer would do when I pressed debug was to show me a very unhelpful dialog saying the “Frequency is out of range”.
I knew the board was okay as I had previously re-flashed it many times. Working backwards, my last change was code to control GPIO Port F. Referring to the schematic, Port F shares a pin with the TRST Line (PB7). So it seems I had accidentally overridden the TRST line and made it a GPIO, stopping the jtag from gaining control of the device, opps!
Click “Continue reading” for the fix..
The fix in the end was quite simple, which Is why I am sharing it. Hopefully some one who has the same problem with a Jtag suddenly not connecting in code composer will stumble upon this post and find the help they need.
I’m using Code Composer 4 and a LM3S8962 Evaluation board as a Jtag (Most TI Stellaris boards have this feature). To erase the device and regain Jtag control you need a separate application called LM FlashProgrammer this, like the title suggests, can reprogram a LM3’s.
After download and installing the Flash programmer, you must close code composer, this caught me out for a while. Run the LM Flash Programmer, on the configuration tab tell it how you are connected to the LM3, Since I am using a Eval board I select ICDI. Our network controller has an 8mhz crystal, so I changed the drop down Crystal value to 8mhz. Now flip to the last tab “Other Utilities” and in the “Debug Port Unlock” Group I selected “Fury and dustDevil Classes” as my device is a LM3S6x. That bit took a while to find out as the old “Code” names don’t seem to be in use on the TI site or datasheets, so finding out which Class device you have isn’t easy!
Finally Press Unlock and follow the prompts. You should end up with a blank device that code composer can now reflash/debug.
That got me going again, if your jtag still doesn’t work, the next step would be to try to erase the device using the Uart boot loader with the LM flash programmer set to “Serial”.
Hope it helps someone!