Hi all, I run into a situation when doing system implementation to load the program code and other registers from the MCU, however, because of some stupid constraints in the MCU, I had to load the program code in segments using I2C, meaning 0x0800-0x083F, then 0x0840-0x087F etc, and the program would not work (no pure tone from the output viewed on the scope).
I then made another system with different MCU which I could load the program in one go, and it works! However, because of the requirements, I had to go back to the old MCU, so the problem still exists.
Here are the things I tried:
1. Checked using an logic analyser to look at the packets of I2C, no difference except the extra segments with the reg address of 0x0840 etc.
2. Put in the DSPEN and DSPRUN to stop the DSP before loading the program data.
1. The working setup uses 3.3v on analog, digital IO and crystal (ASFL1-12.88MHz)
2. The not working and load by segment system uses 3.3v on analog, and 1.8v for digital IO and crystal (same crystal)
3. Both systems can get the PLL lock, and respond to I2C reads on registers.
If anyone can point me to a direction which I can investigate, it would be great help. Has been 2 weeks without good sleep