Other Parts Discussed in Thread: PTH08T220W
Dear TI Engineer:
I have question about the c6678 emif16 boot, the followings are my understanding of the boot process and the problem I have encountered. Would you give me some suggestions, thanks!
- A. Reference
From TI <<sprugy5b.pdf>>, on page 10:
“The ROM Boot Loader (RBL) is DSP code that transfers application code from slow non-volatile external memory or from an external host into high-speed internal memory for execution after the DSP is taken out of reset. The RBL is permanently stored in the internal ROM of the DSP starting at the base address of ROM 0x20B00000.”
From TI <<sprugy5b.pdf>>, on page 18:
“The RBL uses the BOOTCOMPLETE register, which controls the BOOTCOMPLETE pin status, to indicate the completion of the ROM boot process. Due to legacy implementation, the BOOTCOMPLETE bit is set before the image is loaded in the CorePac0.”
From TI <<sprugy5b.pdf>>, on page 24:
“In EMIF16 boot mode, the ROM code configures the EMIF16 interface and sets the boot complete, then branches to the EMIF CS2 data memory at 0x70000000. No return is expected. No memory is reserved by the bootloader.”
.Note: The Boot Complete Register (address:0x0262013C) is shown in Figure 3-8 and described in Table 3-10 from TI <<sprs691c.pdf>>, on page 78.
Conclusions
Then, according to the above descriptions by TI’s user guide, can I make these conclusions:
1, The boot sequence is started automatically after each power-on reset, warm reset, and system reset;
2, The boot process by the RBL executes an initialization code using the device configuration .pins,and then branches to the desired address for example 0x70000000;
3, When the board was powered on correctly and the dsp out of reset, the RBL .will complete automatically, and set he BOOTCOMPLETE register to indicate the completion of the ROM boot process.
- B. My work
The following is my work environment and tools:
1, I use the TMS320C6678ACYPA DSP to design my own board;
2, The board’s schematics was designed reference to ti’s TMDXEVM6678L EVM. Board;
3,I want to use the EMIF16 boot mode for single core boot;
4,The nor flash for boot is S29WS256P of SPANSION company, on dsp ce0,as 0x70000000
5, ccs5.3 software
The following is my test steps:
1,Make sure the power value and power up sequence for DVDD18→CVDD→CVDD1→DVDD15→and others are good,.
2, Make sure the clock for CORE,DDR,PA and others are good
3, Set the device configuration pins to the EMIF16 boot mode, then the BOOTMODE[12:0] value is 011011xxxx000
- C. Question
If my conclusions are right, when I power on the board, and after the DSP out of reset, the RBL will boot complete, and the BOOTCOMPLETE register will be 1.
1, But when I connect the emulator, viewing that the BOOTCOMPLETE register is 0;
2, Besides, no matter in which boot mode, the register is always 0.
So, is my understanding not correct, or, why the RBL do not execute completely? What reason may cause the RBL not done, or the BOOTCOMPLETE register not be set to 1.?
Thanks!