Forums

Re: C5509A core(CPU domain) suspend problem(use HPI multiplexed boot)

Started by Jeff Brower May 19, 2009
DJJ-

> I'am debugging a hardware system based on 5509a chip and got a strange
> problem,it trouble me many days.
>
> My system use HPI multiplexed boot mode(hard set the BOOTM[3..0]),the
> system clock use a outside OSC circuit of 20M.
>
> The host can access the DSP DARAM very stablely(I test it by writting
> the test code and then reading it back for comparison many times,and
> never found a fail),but the DSP can't boot successfully stablely
> (success ratio is about 50%).

Do you realize that in HPI boot mode, the chip does not actually boot when you
release Reset? You have to "do something" to cause the chip to run, for example set
a bit in an HPI register, write to a special memory location, etc (the method varies
between different TI DSPs).

The point of this method is that the chip will hold inside the bootloader until the
release action, allowing the external HPI master to load program code as needed.

In your case, how are you causing the chip to run?

-Jeff

> The test program code is so simple,just toggle a outside LED controlled
> by XF pin:
>
> label: BCLR XF
>
> BSET XF
>
> B label
>
> I connect a emulator to debug the problem.When the dsp fail boot to run,
> I run CCS tool to connect the dsp,and I found sometimes the dsp halt in
> bootloader section(rom),sometimes it halt in my simple test program code.
> The PROBLEM is :On any situation,the dsp core reject to run(use the CCS
> 'run free' menu command),I inspect the PC register,find that it never
> change,and I can't even change it manually by CCS GUI.The same time ,I
> can watch DSP's cpu registers,program & data memory normally.When I quit
> CCS program,the HOST can continue to read & write the DSP correctly,
> without reset the DSP.It seems that only the DSP core(CPU domain) is
> suspended.
>
> When the dsp success to boot and run,I connect the CCS to the DSP ,I
> can step debug run the above simple code normally.
>
> By the way,I use a core voltage of 1.6V. EMU0,EMU1 pins pulled up by a
> 10K resistor to DVdd respectively.