writing my own boot loader ... My code follows the procedure from the ARM Ref Guid in section 6.5 for initializing the PLLCs. The code is loaded and controlled through the JTAG interface, running uncached, MMU disabled. It works fine on the DM355 EVM, (a -216 part), but on my board, it causes a hard reset as soon as the write of 1 to the PLLEN bit in PLLC1 happens. This reset occurs by letting the code run, or single step through it, or even break before the store instruction and issuing the write via a debugger through JTAG. I am aware of the wait state and extra divider bits in the MISC register.
Any obvious things I am forgetting?
- setting the DDR PLLC2 before initializing PLLC1? - no mention in ti datasheets
- configuring some debug modes somewhere?
- ARM needs to run cached?
- is a non-locked PLL causing this reset?
Btw, this does not happen in PLLC2.
thx