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.

Questions about debuging bootloader with emulator on C6748 LCDK

Other Parts Discussed in Thread: OMAP-L138

Hi,

Currently, I can flash the boot loader (in  .\ti\C6748_StarterWare_1_20_04_01\binary\c674x\cgt_ccs\c6748\lcdkC6748\bootloader\Debug) and application code timercounter(based on .\ti\C6748_StarterWare_1_20_04_01\build\c674x\cgt_ccs\c6748\lcdkC6748\timer) and boot from flash successfully. I can see the timer decreased in Tera Term. My purpose is to develop my own boot loader.I tried to run boot loader code in StrarerWare ( .\ti\C6748_StarterWare_1_20_04_01\build\c674x\cgt_ccs\c6748\lcdkC6748\bootloader)with emulator, it jump to the timer application code when it reached below statements.

/* Giving control to the application */
appEntry = (void (*)(void)) entryPoint;

(*appEntry)( );

When it jump to the timer application, I can see the timer decreased in Tera Term, but cannot see the code in CCS (as below figure shows "No source available for..."). Is it right? If so, does it mean I can only verify if the application code copied from flash is correct by view memory?

Another question.

I create a tiny project. The Main function is defined as below. I can see the output "Hello World!" when I am using emulator to debug this project. Then I generated the binary file by out2rprc.exe and flash it by flash writer (sfh_OMAP-L138.exe). After flashing, I run StaterWare bootloader code with emulator, I cannot see any output. I'm sure the application code is copied into ram correctly. Why there is no the output "Hello World!" ?

#include <stdio.h>

/*
* hello.c
*/
void main(void) {
printf("Hello World!\n");
while(1);
}

Thanks,

Jane

  • Hi Jing Song,

    Using CCS, you can load only one project at a time. I mean to say, bootloader is a separate project and the timer is a separate project. Using CCS, you can debug the bootloader project and the timer project separately and not at the same time because only one project will be active and the emulator will establish the connection with the target for that active project.

    If you are using CCS, without the bootloader code, you can directly load the application code ( timer ) and debug. Similarly, you can load the bootloader code alone and debug.

    If you want to debug one after the other, first load the bootloader code and debug. Then suspend the target connection and reload with the timer code and debug. ( In CCS, click run -->load-->load program-->Browse --> loacte the path where the timer.out is available)  In this way, you can debug both the projects.

    Jing says said:
    I create a tiny project. The Main function is defined as below. I can see the output "Hello World!" when I am using emulator to debug this project. Then I generated the binary file by out2rprc.exe and flash it by flash writer (sfh_OMAP-L138.exe). After flashing, I run StaterWare bootloader code with emulator

    I guess you are getting confused with two methods here. One is flashing the program into flash memories and another is loading&running through CCS. Both are different methods. You cannot mix both the methods and debug.

    Flashing method: If it is a Starterware app code, you need the bootloader code as well to be flashed along with the app code to run it on the target. The hello world program cannot run as a standalone.

    CCS Method: You can run the Hello world program without the bootloader code as the GEL file is used by CCS to initialize the core.

     

    I hope this clarifies!.

     

    Regards,

    Shankari

    -------------------------------------------------------------------------------------------------------

    Please click the Verify Answer button on this post if it answers your question.
    --------------------------------------------------------------------------------------------------------

  • thanks, Shankari.

    That does make sense to me.

    Jane