Hi people,
I’ve been battling a bit with my ST STR912. I can get it running with the PLL set to 60mHz, but the chip crashes with the PLL set to 96mHz.
Does this sound like a bad chip? I can’t think of any reason external to the chip that would cause it not to run at 96mHz, but fine at 60mHz. (I’ve had the chip replaced with the latest revision number of the chip that ST supplies, since the original silicon on the dev kit had a number of errata issues)
What is making the debug process harder, is that I can’t step my code up to the point where I execute the instruction that causes it to crash.
I follow the following steps to program:
-
Build program on GCC 4.3.1
-
Connect openOCD server to the board via parallel port wiggler
-
Run telnet script to command openOCD to program the flash.
3.1) Issue “reset halt” as the last step in my script, to reboot the chip, but to attempt to halt it, so as not to execute my code yet.
- Launch debugger in Eclipse (gdb->OpenOcd->PP wiggler->JTAG)
This all works fine (singe stepping, watching variables, etc) when the 60mHz version of the program is downloaded.
When the 96mHz version is downloaded, the chip immediately crashes after the “reset halt”. The nett effect is that I can’t even start to single step the program to see where exactly the problem occurs in the code.
It almost seems asof the program is already executing before the JTAG command can suspend the chip. In that brief moment the chip crashes, rendering the JTAG incapable.
Would someone give me a quick overview of where the JTAG fits into the execution chain?
Any feedback shall be much appreciated.
Regards,
Frikkie Thirion