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.

Compiler/TMS320F28069M: SCI_BOOT Secondary Bootloader development in Flash

Part Number: TMS320F28069M
Other Parts Discussed in Thread: CONTROLSUITE

Tool/software: TI C/C++ Compiler

1、

Hi,

I want to develop a secondary bootloader for TMS320F28069M controller using SCI A, which i want to place in flash sector A and application to be load in flash sector B-C,

CMD files are shown in Picture 1、2.

I tried example code of flash kernal from controlsuite-[ C:\ti\controlSUITE\device_support\f2806x\v151\F2806x_examples_ccsv5\f28069_flash_kernel].

But, The 0x3ec000 address is always invalid when I jump from boodloader to the application, why?

                              Picture 1:  bootloader cmd

                           Picture 2     app cmd

  • Hi,

    I am not sure exactly what you are experiencing.

    Are you able to jump to the kernel from your application properly? Are you able to load and program a new application using the kernel?

    Please be more specific describing what you are experiencing.

    sal
  • HI,

    Now, I just want to jump to the application from my secondary Bootloader, don't worry about using the kernel to download programs.

    if (SCIA_GetOnlyWordData() != 0x08AA)

     {

            return 0x3ec000;

    }
                                                                                                   

                                                                                                               CCS

                                                                                                               app.map

  • If you know the specific address where you want to jump in your application, then you can perform a LB or long branch to that address like it is demonstrated in the CodeStartBranch.asm file.

    Also, you should be able to convert your application .out to some symbols like a symbols library and include that in your bootloader application and make a function call to a function in your application.

    Also, the hex format which is sent to your bootloader has a EntryPoint address. You can make sure this EntryPoint address is where you want to jump to in your code and then branch there. This is done both in the SCI bootloader and the kernel.

    sal