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.

TMS320C6657: IBL debugging in CCS failed

Part Number: TMS320C6657


Hi,

We have our own custom board, the board includes C6657 DSP. No FPGA nor I2C prom exist on the board.
I have build the iblInit and iblMain (after some modifications) in order to perform some debugging of the IBL step by step using the CCS.
We are using CCS9, the IBL is part of mcsdk_2_01_02_06.

1) after loading the iblInit_665x.out (or iblInit_665x_le.out) the code reached main succesfully. Then I'm running the script in the GEL file in order to initialize both ibl and iblStatus structures, its seems that both of them are initialized correctly.


2) when I'm running the code step by step and getting to the configureGPIO, and make a another step, the running is reached to hw_spi_xfer function.
configureGPIO function should only configure the GPIO pins related to UART and SPI and get back to the code.
Its seems that there is a mismatch beetween the compiled code and the one showed in the CCS debugger.
What can be the problem?

Here are  some images in order to clearify the issue.


 

  • Hi Eyal,

    1. This issue looks weird, if you set a break point after configureGPIO() weather the debugger halts at the point?

    2. Try this steps,
    A. Connect with DSP Core0
    B. Init with gel file
    C. Load and run the ibl image.

    Thank you.
  • Hi Rajasekaran K,

    2. that is exactlly what I'm doing.
    the running of the confgiureGPIO() function cause the debugger to run some code regading SPI tranfser. It shoulddnt be there.
    In addition to that, the code at the beginning (the 4 lines doing the initialization of the iblStatus - lines 456-459 in my first image), when running step by step (step over) does not runs as 4 seperated steps.
  • Eyal,

    Just wanted to understand the setup and requirements,

    Is there a reason for debugging the IBL source code on your case? What is the boot mode of your end application?

    Thank you.
  • Hello Rajasekaran K,

    Our custom borad has only SPI nor flash connected to SPI CS0 of the C6657. We don't have any I2C prom. I would like to use the IBL mechanism (using iblInit and iblMain) all located in the *SPI nor*. I'm having problem to do so.
    I have read the data of the SPI NOR flash in the EVM (C6657 Eval Board) and found out that the flash conatainonly thr ELF file.
    But when I'm looking on the iblInit app (under the MCSDK) i have found that it looking for iblMain on the flash.

    1) First the problem regarding the debugging of iblInit in the CCS was solved, the problem was that when running the makefile
    under C:\ti\mcsdk_2_01_02_06\tools\boot_loader\ibl\src\make it should be running with the option "DEBUG=yes".

    2) Regarding my overall problem, is it possible to run the IBL mechanism using the only the NOR flash?
    a) modified version of iblInit will be load from the flash.
    b) it runs, configure the PLL and DDR based on the iblStructure configured internally.
    c) it loads from flash a modified version of iblMain and runs it.
    d) the modified version of iblMain will load my ELF application adn runs it.

    3) can you please explain these last few line in the end of iblInit

    ==================

    /* Pass control to the boot table processor */
    iblBootBtbl (bFxnTbl, &entry);

    if (btblWrapEcode != 0) {
    iblStatus.iblFail = ibl_FAIL_CODE_BTBL_FAIL;
    for (;;);
    }

    /* jump to the exit point, which will be the entry point for the full IBL */
    exit = (void (*)())entry;
    (*exit)();

    =====================

    Is it the load of the iblMain from nor and then runs it using (*exit)() ?

    Thank you
    Eyal
  • Eyal,

    C665x PG 1.0 silicon does not have the PLL lock up issue, so it also does not require an implementation of an IBL on custom boards.

    We have C6657 SPI boot example without IBL (direct boot) in below link.

    Thank you.