This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Greetings to all.
I have board with TMS320C6455 (hardware revision 2.1) connected to PCI 66 MHz.
I use PCI booting after power up in folowed sequence.
1. Assert DSP reset by writing PCILRSTREG with 0x00000001.
2. Deassert DSP reset by writing PCILRSTREG with 0x00000000.
3. Load program to L2 SRAM.
4. Enable interrupt DSP from HOST by writing PCIBINTSET with 0x80000000.
5. Interrupt DSP from HOST by writing PCISTATSET with 0x80000000.
DSP doest not start.
All registers writed througrt slave window 2. I check this with emulator.
Program loaded fine - I check content of L2 with emulator too.
If I load & run program with emulator program works fine.
But without it program does not started.
Can anyone give me a helpful hint?
Hi Andrew,
Do you load the program to L2 SRAM starting from 0x0080 0000? By default, the CPU will run the code at the beginning of L2. If you place the code to the other offset, you may need to change the vector table (interrupt service table).
The threads as follows may give you some helpful hints:
http://e2e.ti.com/support/dsp/tms320c6000_high_performance_dsps/f/112/p/60141/219708.aspx#219708
Sincerely,
Steven
Yes. I chek content of L2 memory - it is identical in both cases, with emulator and throught the HOST.
Thank You, Steeven, for links, I read them. I think there are not my cases. First link tell about vector tables, but program works fine with emulator, so I think vector tables ok. Right?
Second link is about I2C boot, I use PCI boot.
Sincerely, Andrew.
Andrew Chashinoff said:I chek content of L2 memory - it is identical in both cases, with emulator and throught the HOST.
This is an excellent data point because it tells us that the PCI download process is correct. The two remaining components are:
Andrew Chashinoff said:Thank You, Steeven, for links, I read them. I think there are not my cases. First link tell about vector tables, but program works fine with emulator, so I think vector tables ok. Right?
Perhaps with what I tried to explain above you will understand why those two links may be exactly what you need. They very likely are exactly your cases. Please reread my post at the end of the first link and read the app note that I referenced there.
Andrew Chashinoff said:Second link is about I2C boot, I use PCI boot.
The second link takes you to a long thread that includes a post from Bernhard W on Jul 13, 2010, that includes an attachment named Pci6455.zip - that sounds very relevant to your case, right? Maybe it is not, but it is certainly worth considering.
Regards,
RandyP
If this, or the related links, answers your question, please click the Verify Answer button below. If not, please reply back with more information.
Thank You for help, Randy.
The problem was caused by interrupt table missing. I don't know that an emulator can start code from anything address. Now all ok.