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.

CCS/TMS320F28388D: How to create a second bootloader to update the application firmware remotely?

Part Number: TMS320F28388D
Other Parts Discussed in Thread: C2000WARE,

Tool/software: Code Composer Studio

Dear Sir or Madam,

We are using F28388D, and we would like to update the application firmware in flash remotely.

For my understanding, the second bootloader should be developed and burned on sector 0 of the flash,

Our end application firmware is burned on the sector 1 of the flash,

when we want to update the application firmware,

Some commands from UART can be delivered by PC, and the bootloader will update the application firmware on flash, and it will never erase itself.

For my understanding, we need to update the .asm file, and insert a Boot_main() function before the program runs into the c_int00 function.

so we can update the application firmware remotely.

The boot sequence is as follows,

1st bootloader--------->code_start section of the .asm file--------------->2nd bootloader-------------------------->c_int00 function------------------------------->Main() function.

Could you give some examples or documentations?

Many thanks! 

  • Hello, 

    This app note describes flash kernel functionality, which is used to update firmware on flash: ti.com/lit/sprabv4

    There is not an example for F2838x yet, you can refer to the F2837xD flash kernel examples for reference. The examples are located at C2000Ware_x_xx_xx_xx\device_support\f2837xd\examples\dual\F2837xD_sci_flash_kernels

    Thanks, 

    Anu

  • Dear Anu,

    So theoretically I can write the kernel project for F28388D based on the F2837xD flash kernel example, RIGHT?

    But F28388d is not in the chip list for the serial_flash_programmer.exe which is running on PC.

    How to crack this?

    Thanks!

    zhou ping

  • Zhou, 

    Yes, the CPU1 and CPU2 portions of the F28388D flash kernels can be created by modifying the F2837xD versions. 

    The serial_flash_programmer project in the same folder as the serial_flash_programmer.exe file can be modified in Visual Studio to add f2838x as a device. The project was made using the 2019 version of Visual Studio, so I would recommend using that. 

    Thanks, 

    Anu

  • Dear Anu,

    My experiment was implemented on TMS320F28388D controlCARD.

    I tried to run the serial_flash_programmer.exe on my computer,

    and I used the .txt file generated from F2837XD_sci_flash_kernales_cpu01 project

    and another .txt file from my application project by the following command on PC.

    serial_flash_programmer.exe -d f2837xd -k kernel.txt -a app.txt p COM12 -B 9600

    it seemed that the SCI worked and the .txt file can be transferred via SCI port 

    But the kernel can not be loaded.

  • So, I tried to modify the F2837XD_sci_flash_kernels_cpu01 project and create a kernel project for F28388D.

    all the library files and headers files were replaced by the F28388 related files.

    The project is as follows,

    but I really do not know how c1bootROM _BootROMSymbls_fpu32.lib was generated.

    and what should I do for 28388 kernel project.

    The errors are as follows,

    so I am a little lost.

    Could you please give some clues on how to modify the F2837XD_sci_flash_kernels_cpu01 to the F28388 sci kernel project?

    Thanks very much!

    zhou ping

  • Zhou, 

    For F28388D, you need the F2838xCPU1_BootROM_Symbols_fpu32.lib file (found at C2000Ware_3_03_00_00\libraries\boot_rom\f2838x\revA\rom_symbol_libs\cpu1\bootROM).

    In addition, c1_bootrom.h needs to be replaced by cpu1bootrom.h (C2000Ware_3_03_00_00\libraries\boot_rom\f2838x\revA\rom_sources\cpu1\F2838x_ROM\bootROM\include). 

    One more file that should be replaced is the fwupgradec1toc2_start.asm, you can use f2838x_codestartbranch.asm (C2000Ware_3_03_00_00\device_support\f2838x\common\source).

    The Fapi_UserDefinedFunction.c file is not needed, and InitIpc() is not defined for F2838x. Please look at the IPC examples for F2838x in order to see how IPC modules are initialized. 

    Thank you, 

    Anu

  • Dear Anu,

    I created the f28388_sci_kernal_project as follows,

    I copy the header files for f28388 from the installation directory(C2000Ware_3_03_00_00\device_support\f2838x\common\include  AND C2000Ware_3_03_00_00\device_support\f2838x\headers\include) to my project directory.

    and both the F2838x_C28x_FlashAPI.lib and F2838Xcpu1_BootROM_Symbols_fpu32.lib are added to the project.

    And the same .cmd file from 2837xd kernel project was used.

    Anything wrong, please correct me.

    Many thanks!

    pingzhou@siemens.com

  • Dear Anu,

    The Console log for my project is as follows,

    **** Build of configuration CPU1_RAM for project F28388D_sci_flash_kernels_cpu01 ****

    "D:\\ti\\ccs1011\\ccs\\utils\\bin\\gmake" -k all

    Building file: "../F28388D_sci_flash_kernels_cpu01.c"
    Invoking: C2000 Compiler
    "D:/ti/ccs1011/ccs/tools/compiler/ti-cgt-c2000_20.2.1.LTS/bin/cl2000" --cla_support=cla1 --float_support=fpu32 --tmu_support=tmu0 --vcu_support=vcu2 --opt_for_speed=2 --fp_reassoc=off --include_path="D:/ti/ccs1011/ccs/tools/compiler/ti-cgt-c2000_20.2.1.LTS/include" --include_path="D:/ti/c2000/C2000Ware_3_03_00_00/libraries/boot_rom/f2838x/revA/rom_sources/cpu1/F2838x_ROM/driverlib/inc" --include_path="D:/ti/c2000/C2000Ware_3_03_00_00/libraries/boot_rom/f2838x/revA/rom_sources/cpu1/F2838x_ROM/bootROM/include" --include_path="D:/ti/c2000/C2000Ware_3_03_00_00/libraries/boot_rom/f2838x/revA/rom_sources/cpu1/F2838x_ROM/driverlib" --include_path="D:/ti/ccs_proj/kernel_28388d/F28388D_sci_flash_kernels_cpu01/common_include" --include_path="D:/ti/ccs_proj/kernel_28388d/F28388D_sci_flash_kernels_cpu01/header_include" --define=CPU1 -g --diag_suppress=10063 --diag_warning=225 --display_error_number --gen_func_subsections=on --abi=coffabi --preproc_with_compile --preproc_dependency="F28388D_sci_flash_kernels_cpu01.d_raw" "../F28388D_sci_flash_kernels_cpu01.c"
    "D:/ti/c2000/C2000Ware_3_03_00_00/libraries/boot_rom/f2838x/revA/rom_sources/cpu1/F2838x_ROM/driverlib/inc/hw_types.h", line 43: warning #48-D: incompatible redefinition of macro "NULL" (declared at line 53 of "D:/ti/ccs1011/ccs/tools/compiler/ti-cgt-c2000_20.2.1.LTS/include/stddef.h")
    "D:\ti\c2000\C2000Ware_3_03_00_00\libraries\boot_rom\f2838x\revA\rom_sources\cpu1\F2838x_ROM\driverlib\inc/hw_can.h", line 84: warning #48-D: incompatible redefinition of macro "CAN_CTL_INIT" (declared at line 76 of "D:\ti\ccs_proj\kernel_28388d\F28388D_sci_flash_kernels_cpu01\common_include\f2838x_can_defines.h")
    "D:\ti\c2000\C2000Ware_3_03_00_00\libraries\boot_rom\f2838x\revA\rom_sources\cpu1\F2838x_ROM\driverlib\inc/hw_can.h", line 85: warning #48-D: incompatible redefinition of macro "CAN_CTL_IE0" (declared at line 77 of "D:\ti\ccs_proj\kernel_28388d\F28388D_sci_flash_kernels_cpu01\common_include\f2838x_can_defines.h")
    "D:\ti\c2000\C2000Ware_3_03_00_00\libraries\boot_rom\f2838x\revA\rom_sources\cpu1\F2838x_ROM\driverlib\inc/hw_can.h", line 86: warning #48-D: incompatible redefinition of macro "CAN_CTL_SIE" (declared at line 78 of "D:\ti\ccs_proj\kernel_28388d\F28388D_sci_flash_kernels_cpu01\common_include\f2838x_can_defines.h")
    "D:\ti\c2000\C2000Ware_3_03_00_00\libraries\boot_rom\f2838x\revA\rom_sources\cpu1\F2838x_ROM\driverlib\inc/hw_can.h", line 88: warning #48-D: incompatible redefinition of macro "CAN_CTL_EIE" (declared at line 79 of "D:\ti\ccs_proj\kernel_28388d\F28388D_sci_flash_kernels_cpu01\common_include\f2838x_can_defines.h")
    "D:\ti\c2000\C2000Ware_3_03_00_00\libraries\boot_rom\f2838x\revA\rom_sources\cpu1\F2838x_ROM\driverlib\inc/hw_can.h", line 89: warning #48-D: incompatible redefinition of macro "CAN_CTL_DAR" (declared at line 80 of "D:\ti\ccs_proj\kernel_28388d\F28388D_sci_flash_kernels_cpu01\common_include\f2838x_can_defines.h")
    "D:\ti\c2000\C2000Ware_3_03_00_00\libraries\boot_rom\f2838x\revA\rom_sources\cpu1\F2838x_ROM\driverlib\inc/hw_can.h", line 91: warning #48-D: incompatible redefinition of macro "CAN_CTL_CCE" (declared at line 81 of "D:\ti\ccs_proj\kernel_28388d\F28388D_sci_flash_kernels_cpu01\common_include\f2838x_can_defines.h")
    "D:\ti\c2000\C2000Ware_3_03_00_00\libraries\boot_rom\f2838x\revA\rom_sources\cpu1\F2838x_ROM\driverlib\inc/hw_can.h", line 92: warning #48-D: incompatible redefinition of macro "CAN_CTL_TEST" (declared at line 82 of "D:\ti\ccs_proj\kernel_28388d\F28388D_sci_flash_kernels_cpu01\common_include\f2838x_can_defines.h")
    "D:\ti\c2000\C2000Ware_3_03_00_00\libraries\boot_rom\f2838x\revA\rom_sources\cpu1\F2838x_ROM\driverlib\inc/hw_can.h", line 93: warning #48-D: incompatible redefinition of macro "CAN_CTL_IDS" (declared at line 83 of "D:\ti\ccs_proj\kernel_28388d\F28388D_sci_flash_kernels_cpu01\common_include\f2838x_can_defines.h")
    "D:\ti\c2000\C2000Ware_3_03_00_00\libraries\boot_rom\f2838x\revA\rom_sources\cpu1\F2838x_ROM\driverlib\inc/hw_can.h", line 95: warning #48-D: incompatible redefinition of macro "CAN_CTL_ABO" (declared at line 84 of "D:\ti\ccs_proj\kernel_28388d\F28388D_sci_flash_kernels_cpu01\common_include\f2838x_can_defines.h")
    "D:\ti\c2000\C2000Ware_3_03_00_00\libraries\boot_rom\f2838x\revA\rom_sources\cpu1\F2838x_ROM\driverlib\inc/hw_can.h", line 96: warning #48-D: incompatible redefinition of macro "CAN_CTL_PMD_S" (declared at line 85 of "D:\ti\ccs_proj\kernel_28388d\F28388D_sci_flash_kernels_cpu01\common_include\f2838x_can_defines.h")
    "D:\ti\c2000\C2000Ware_3_03_00_00\libraries\boot_rom\f2838x\revA\rom_sources\cpu1\F2838x_ROM\driverlib\inc/hw_can.h", line 97: warning #48-D: incompatible redefinition of macro "CAN_CTL_PMD_M" (declared at line 86 of "D:\ti\ccs_proj\kernel_28388d\F28388D_sci_flash_kernels_cpu01\common_include\f2838x_can_defines.h")
    "D:\ti\c2000\C2000Ware_3_03_00_00\libraries\boot_rom\f2838x\revA\rom_sources\cpu1\F2838x_ROM\driverlib\inc/hw_can.h", line 98: warning #48-D: incompatible redefinition of macro "CAN_CTL_SWR" (declared at line 87 of "D:\ti\ccs_proj\kernel_28388d\F28388D_sci_flash_kernels_cpu01\common_include\f2838x_can_defines.h")
    "D:\ti\c2000\C2000Ware_3_03_00_00\libraries\boot_rom\f2838x\revA\rom_sources\cpu1\F2838x_ROM\driverlib\inc/hw_can.h", line 99: warning #48-D: incompatible redefinition of macro "CAN_CTL_INITDBG" (declared at line 88 of "D:\ti\ccs_proj\kernel_28388d\F28388D_sci_flash_kernels_cpu01\common_include\f2838x_can_defines.h")
    "D:\ti\c2000\C2000Ware_3_03_00_00\libraries\boot_rom\f2838x\revA\rom_sources\cpu1\F2838x_ROM\driverlib\inc/hw_can.h", line 100: warning #48-D: incompatible redefinition of macro "CAN_CTL_IE1" (declared at line 89 of "D:\ti\ccs_proj\kernel_28388d\F28388D_sci_flash_kernels_cpu01\common_include\f2838x_can_defines.h")
    "D:\ti\c2000\C2000Ware_3_03_00_00\libraries\boot_rom\f2838x\revA\rom_sources\cpu1\F2838x_ROM\driverlib\inc/hw_can.h", line 102: warning #48-D: incompatible redefinition of macro "CAN_CTL_DE1" (declared at line 90 of "D:\ti\ccs_proj\kernel_28388d\F28388D_sci_flash_kernels_cpu01\common_include\f2838x_can_defines.h")
    "D:\ti\c2000\C2000Ware_3_03_00_00\libraries\boot_rom\f2838x\revA\rom_sources\cpu1\F2838x_ROM\driverlib\inc/hw_can.h", line 103: warning #48-D: incompatible redefinition of macro "CAN_CTL_DE2" (declared at line 91 of "D:\ti\ccs_proj\kernel_28388d\F28388D_sci_flash_kernels_cpu01\common_include\f2838x_can_defines.h")
    "D:\ti\c2000\C2000Ware_3_03_00_00\libraries\boot_rom\f2838x\revA\rom_sources\cpu1\F2838x_ROM\driverlib\inc/hw_can.h", line 104: warning #48-D: incompatible redefinition of macro "CAN_CTL_DE3" (declared at line 92 of "D:\ti\ccs_proj\kernel_28388d\F28388D_sci_flash_kernels_cpu01\common_include\f2838x_can_defines.h")
    "D:\ti\c2000\C2000Ware_3_03_00_00\libraries\boot_rom\f2838x\revA\rom_sources\cpu1\F2838x_ROM\driverlib\inc/hw_can.h", line 304: warning #48-D: incompatible redefinition of macro "CAN_IF1CMD_DMAACTIVE" (declared at line 99 of "D:\ti\ccs_proj\kernel_28388d\F28388D_sci_flash_kernels_cpu01\common_include\f2838x_can_defines.h")
    "D:\ti\c2000\C2000Ware_3_03_00_00\libraries\boot_rom\f2838x\revA\rom_sources\cpu1\F2838x_ROM\driverlib\inc/hw_can.h", line 389: warning #48-D: incompatible redefinition of macro "CAN_IF2CMD_DMAACTIVE" (declared at line 115 of "D:\ti\ccs_proj\kernel_28388d\F28388D_sci_flash_kernels_cpu01\common_include\f2838x_can_defines.h")
    "../F28388D_sci_flash_kernels_cpu01.c", line 140: warning #225-D: function "InitIpc" declared implicitly
    Finished building: "../F28388D_sci_flash_kernels_cpu01.c"

    Building file: "../Fapi_UserDefinedFunctions.c"
    Invoking: C2000 Compiler
    "D:/ti/ccs1011/ccs/tools/compiler/ti-cgt-c2000_20.2.1.LTS/bin/cl2000" --cla_support=cla1 --float_support=fpu32 --tmu_support=tmu0 --vcu_support=vcu2 --opt_for_speed=2 --fp_reassoc=off --include_path="D:/ti/ccs1011/ccs/tools/compiler/ti-cgt-c2000_20.2.1.LTS/include" --include_path="D:/ti/c2000/C2000Ware_3_03_00_00/libraries/boot_rom/f2838x/revA/rom_sources/cpu1/F2838x_ROM/driverlib/inc" --include_path="D:/ti/c2000/C2000Ware_3_03_00_00/libraries/boot_rom/f2838x/revA/rom_sources/cpu1/F2838x_ROM/bootROM/include" --include_path="D:/ti/c2000/C2000Ware_3_03_00_00/libraries/boot_rom/f2838x/revA/rom_sources/cpu1/F2838x_ROM/driverlib" --include_path="D:/ti/ccs_proj/kernel_28388d/F28388D_sci_flash_kernels_cpu01/common_include" --include_path="D:/ti/ccs_proj/kernel_28388d/F28388D_sci_flash_kernels_cpu01/header_include" --define=CPU1 -g --diag_suppress=10063 --diag_warning=225 --display_error_number --gen_func_subsections=on --abi=coffabi --preproc_with_compile --preproc_dependency="Fapi_UserDefinedFunctions.d_raw" "../Fapi_UserDefinedFunctions.c"
    Finished building: "../Fapi_UserDefinedFunctions.c"

    Building file: "../SCI_Boot.c"
    Invoking: C2000 Compiler
    "D:/ti/ccs1011/ccs/tools/compiler/ti-cgt-c2000_20.2.1.LTS/bin/cl2000" --cla_support=cla1 --float_support=fpu32 --tmu_support=tmu0 --vcu_support=vcu2 --opt_for_speed=2 --fp_reassoc=off --include_path="D:/ti/ccs1011/ccs/tools/compiler/ti-cgt-c2000_20.2.1.LTS/include" --include_path="D:/ti/c2000/C2000Ware_3_03_00_00/libraries/boot_rom/f2838x/revA/rom_sources/cpu1/F2838x_ROM/driverlib/inc" --include_path="D:/ti/c2000/C2000Ware_3_03_00_00/libraries/boot_rom/f2838x/revA/rom_sources/cpu1/F2838x_ROM/bootROM/include" --include_path="D:/ti/c2000/C2000Ware_3_03_00_00/libraries/boot_rom/f2838x/revA/rom_sources/cpu1/F2838x_ROM/driverlib" --include_path="D:/ti/ccs_proj/kernel_28388d/F28388D_sci_flash_kernels_cpu01/common_include" --include_path="D:/ti/ccs_proj/kernel_28388d/F28388D_sci_flash_kernels_cpu01/header_include" --define=CPU1 -g --diag_suppress=10063 --diag_warning=225 --display_error_number --gen_func_subsections=on --abi=coffabi --preproc_with_compile --preproc_dependency="SCI_Boot.d_raw" "../SCI_Boot.c"
    "../SCI_Boot.c", line 66: warning #48-D: incompatible redefinition of macro "NO_ERROR" (declared at line 466 of "..\cpu1bootrom.h")
    Finished building: "../SCI_Boot.c"

    Building file: "../SCI_GetFunction.c"
    Invoking: C2000 Compiler
    "D:/ti/ccs1011/ccs/tools/compiler/ti-cgt-c2000_20.2.1.LTS/bin/cl2000" --cla_support=cla1 --float_support=fpu32 --tmu_support=tmu0 --vcu_support=vcu2 --opt_for_speed=2 --fp_reassoc=off --include_path="D:/ti/ccs1011/ccs/tools/compiler/ti-cgt-c2000_20.2.1.LTS/include" --include_path="D:/ti/c2000/C2000Ware_3_03_00_00/libraries/boot_rom/f2838x/revA/rom_sources/cpu1/F2838x_ROM/driverlib/inc" --include_path="D:/ti/c2000/C2000Ware_3_03_00_00/libraries/boot_rom/f2838x/revA/rom_sources/cpu1/F2838x_ROM/bootROM/include" --include_path="D:/ti/c2000/C2000Ware_3_03_00_00/libraries/boot_rom/f2838x/revA/rom_sources/cpu1/F2838x_ROM/driverlib" --include_path="D:/ti/ccs_proj/kernel_28388d/F28388D_sci_flash_kernels_cpu01/common_include" --include_path="D:/ti/ccs_proj/kernel_28388d/F28388D_sci_flash_kernels_cpu01/header_include" --define=CPU1 -g --diag_suppress=10063 --diag_warning=225 --display_error_number --gen_func_subsections=on --abi=coffabi --preproc_with_compile --preproc_dependency="SCI_GetFunction.d_raw" "../SCI_GetFunction.c"
    "D:\ti\ccs_proj\kernel_28388d\F28388D_sci_flash_kernels_cpu01\common_include\..\common_include\f2838x_can_defines.h", line 76: warning #48-D: incompatible redefinition of macro "CAN_CTL_INIT" (declared at line 84 of "D:\ti\c2000\C2000Ware_3_03_00_00\libraries\boot_rom\f2838x\revA\rom_sources\cpu1\F2838x_ROM\driverlib\inc/hw_can.h")
    "D:\ti\ccs_proj\kernel_28388d\F28388D_sci_flash_kernels_cpu01\common_include\..\common_include\f2838x_can_defines.h", line 77: warning #48-D: incompatible redefinition of macro "CAN_CTL_IE0" (declared at line 85 of "D:\ti\c2000\C2000Ware_3_03_00_00\libraries\boot_rom\f2838x\revA\rom_sources\cpu1\F2838x_ROM\driverlib\inc/hw_can.h")
    "D:\ti\ccs_proj\kernel_28388d\F28388D_sci_flash_kernels_cpu01\common_include\..\common_include\f2838x_can_defines.h", line 78: warning #48-D: incompatible redefinition of macro "CAN_CTL_SIE" (declared at line 86 of "D:\ti\c2000\C2000Ware_3_03_00_00\libraries\boot_rom\f2838x\revA\rom_sources\cpu1\F2838x_ROM\driverlib\inc/hw_can.h")
    "D:\ti\ccs_proj\kernel_28388d\F28388D_sci_flash_kernels_cpu01\common_include\..\common_include\f2838x_can_defines.h", line 79: warning #48-D: incompatible redefinition of macro "CAN_CTL_EIE" (declared at line 88 of "D:\ti\c2000\C2000Ware_3_03_00_00\libraries\boot_rom\f2838x\revA\rom_sources\cpu1\F2838x_ROM\driverlib\inc/hw_can.h")
    "D:\ti\ccs_proj\kernel_28388d\F28388D_sci_flash_kernels_cpu01\common_include\..\common_include\f2838x_can_defines.h", line 80: warning #48-D: incompatible redefinition of macro "CAN_CTL_DAR" (declared at line 89 of "D:\ti\c2000\C2000Ware_3_03_00_00\libraries\boot_rom\f2838x\revA\rom_sources\cpu1\F2838x_ROM\driverlib\inc/hw_can.h")
    "D:\ti\ccs_proj\kernel_28388d\F28388D_sci_flash_kernels_cpu01\common_include\..\common_include\f2838x_can_defines.h", line 81: warning #48-D: incompatible redefinition of macro "CAN_CTL_CCE" (declared at line 91 of "D:\ti\c2000\C2000Ware_3_03_00_00\libraries\boot_rom\f2838x\revA\rom_sources\cpu1\F2838x_ROM\driverlib\inc/hw_can.h")
    "D:\ti\ccs_proj\kernel_28388d\F28388D_sci_flash_kernels_cpu01\common_include\..\common_include\f2838x_can_defines.h", line 82: warning #48-D: incompatible redefinition of macro "CAN_CTL_TEST" (declared at line 92 of "D:\ti\c2000\C2000Ware_3_03_00_00\libraries\boot_rom\f2838x\revA\rom_sources\cpu1\F2838x_ROM\driverlib\inc/hw_can.h")
    "D:\ti\ccs_proj\kernel_28388d\F28388D_sci_flash_kernels_cpu01\common_include\..\common_include\f2838x_can_defines.h", line 83: warning #48-D: incompatible redefinition of macro "CAN_CTL_IDS" (declared at line 93 of "D:\ti\c2000\C2000Ware_3_03_00_00\libraries\boot_rom\f2838x\revA\rom_sources\cpu1\F2838x_ROM\driverlib\inc/hw_can.h")
    "D:\ti\ccs_proj\kernel_28388d\F28388D_sci_flash_kernels_cpu01\common_include\..\common_include\f2838x_can_defines.h", line 84: warning #48-D: incompatible redefinition of macro "CAN_CTL_ABO" (declared at line 95 of "D:\ti\c2000\C2000Ware_3_03_00_00\libraries\boot_rom\f2838x\revA\rom_sources\cpu1\F2838x_ROM\driverlib\inc/hw_can.h")
    "D:\ti\ccs_proj\kernel_28388d\F28388D_sci_flash_kernels_cpu01\common_include\..\common_include\f2838x_can_defines.h", line 85: warning #48-D: incompatible redefinition of macro "CAN_CTL_PMD_S" (declared at line 96 of "D:\ti\c2000\C2000Ware_3_03_00_00\libraries\boot_rom\f2838x\revA\rom_sources\cpu1\F2838x_ROM\driverlib\inc/hw_can.h")
    "D:\ti\ccs_proj\kernel_28388d\F28388D_sci_flash_kernels_cpu01\common_include\..\common_include\f2838x_can_defines.h", line 86: warning #48-D: incompatible redefinition of macro "CAN_CTL_PMD_M" (declared at line 97 of "D:\ti\c2000\C2000Ware_3_03_00_00\libraries\boot_rom\f2838x\revA\rom_sources\cpu1\F2838x_ROM\driverlib\inc/hw_can.h")
    "D:\ti\ccs_proj\kernel_28388d\F28388D_sci_flash_kernels_cpu01\common_include\..\common_include\f2838x_can_defines.h", line 87: warning #48-D: incompatible redefinition of macro "CAN_CTL_SWR" (declared at line 98 of "D:\ti\c2000\C2000Ware_3_03_00_00\libraries\boot_rom\f2838x\revA\rom_sources\cpu1\F2838x_ROM\driverlib\inc/hw_can.h")
    "D:\ti\ccs_proj\kernel_28388d\F28388D_sci_flash_kernels_cpu01\common_include\..\common_include\f2838x_can_defines.h", line 88: warning #48-D: incompatible redefinition of macro "CAN_CTL_INITDBG" (declared at line 99 of "D:\ti\c2000\C2000Ware_3_03_00_00\libraries\boot_rom\f2838x\revA\rom_sources\cpu1\F2838x_ROM\driverlib\inc/hw_can.h")
    "D:\ti\ccs_proj\kernel_28388d\F28388D_sci_flash_kernels_cpu01\common_include\..\common_include\f2838x_can_defines.h", line 89: warning #48-D: incompatible redefinition of macro "CAN_CTL_IE1" (declared at line 100 of "D:\ti\c2000\C2000Ware_3_03_00_00\libraries\boot_rom\f2838x\revA\rom_sources\cpu1\F2838x_ROM\driverlib\inc/hw_can.h")
    "D:\ti\ccs_proj\kernel_28388d\F28388D_sci_flash_kernels_cpu01\common_include\..\common_include\f2838x_can_defines.h", line 90: warning #48-D: incompatible redefinition of macro "CAN_CTL_DE1" (declared at line 102 of "D:\ti\c2000\C2000Ware_3_03_00_00\libraries\boot_rom\f2838x\revA\rom_sources\cpu1\F2838x_ROM\driverlib\inc/hw_can.h")
    "D:\ti\ccs_proj\kernel_28388d\F28388D_sci_flash_kernels_cpu01\common_include\..\common_include\f2838x_can_defines.h", line 91: warning #48-D: incompatible redefinition of macro "CAN_CTL_DE2" (declared at line 103 of "D:\ti\c2000\C2000Ware_3_03_00_00\libraries\boot_rom\f2838x\revA\rom_sources\cpu1\F2838x_ROM\driverlib\inc/hw_can.h")
    "D:\ti\ccs_proj\kernel_28388d\F28388D_sci_flash_kernels_cpu01\common_include\..\common_include\f2838x_can_defines.h", line 92: warning #48-D: incompatible redefinition of macro "CAN_CTL_DE3" (declared at line 104 of "D:\ti\c2000\C2000Ware_3_03_00_00\libraries\boot_rom\f2838x\revA\rom_sources\cpu1\F2838x_ROM\driverlib\inc/hw_can.h")
    "D:\ti\ccs_proj\kernel_28388d\F28388D_sci_flash_kernels_cpu01\common_include\..\common_include\f2838x_can_defines.h", line 99: warning #48-D: incompatible redefinition of macro "CAN_IF1CMD_DMAACTIVE" (declared at line 304 of "D:\ti\c2000\C2000Ware_3_03_00_00\libraries\boot_rom\f2838x\revA\rom_sources\cpu1\F2838x_ROM\driverlib\inc/hw_can.h")
    "D:\ti\ccs_proj\kernel_28388d\F28388D_sci_flash_kernels_cpu01\common_include\..\common_include\f2838x_can_defines.h", line 115: warning #48-D: incompatible redefinition of macro "CAN_IF2CMD_DMAACTIVE" (declared at line 389 of "D:\ti\c2000\C2000Ware_3_03_00_00\libraries\boot_rom\f2838x\revA\rom_sources\cpu1\F2838x_ROM\driverlib\inc/hw_can.h")
    "../SCI_GetFunction.c", line 87: warning #48-D: incompatible redefinition of macro "NO_ERROR" (declared at line 466 of "..\cpu1bootrom.h")
    Finished building: "../SCI_GetFunction.c"

    Building file: "../Shared_Boot.c"
    Invoking: C2000 Compiler
    "D:/ti/ccs1011/ccs/tools/compiler/ti-cgt-c2000_20.2.1.LTS/bin/cl2000" --cla_support=cla1 --float_support=fpu32 --tmu_support=tmu0 --vcu_support=vcu2 --opt_for_speed=2 --fp_reassoc=off --include_path="D:/ti/ccs1011/ccs/tools/compiler/ti-cgt-c2000_20.2.1.LTS/include" --include_path="D:/ti/c2000/C2000Ware_3_03_00_00/libraries/boot_rom/f2838x/revA/rom_sources/cpu1/F2838x_ROM/driverlib/inc" --include_path="D:/ti/c2000/C2000Ware_3_03_00_00/libraries/boot_rom/f2838x/revA/rom_sources/cpu1/F2838x_ROM/bootROM/include" --include_path="D:/ti/c2000/C2000Ware_3_03_00_00/libraries/boot_rom/f2838x/revA/rom_sources/cpu1/F2838x_ROM/driverlib" --include_path="D:/ti/ccs_proj/kernel_28388d/F28388D_sci_flash_kernels_cpu01/common_include" --include_path="D:/ti/ccs_proj/kernel_28388d/F28388D_sci_flash_kernels_cpu01/header_include" --define=CPU1 -g --diag_suppress=10063 --diag_warning=225 --display_error_number --gen_func_subsections=on --abi=coffabi --preproc_with_compile --preproc_dependency="Shared_Boot.d_raw" "../Shared_Boot.c"
    "D:/ti/c2000/C2000Ware_3_03_00_00/libraries/boot_rom/f2838x/revA/rom_sources/cpu1/F2838x_ROM/driverlib/inc/hw_types.h", line 43: warning #48-D: incompatible redefinition of macro "NULL" (declared at line 53 of "D:/ti/ccs1011/ccs/tools/compiler/ti-cgt-c2000_20.2.1.LTS/include/stddef.h")
    "../Shared_Boot.c", line 64: warning #48-D: incompatible redefinition of macro "NO_ERROR" (declared at line 466 of "..\cpu1bootrom.h")
    Finished building: "../Shared_Boot.c"

    Building file: "../Shared_Erase.c"
    Invoking: C2000 Compiler
    "D:/ti/ccs1011/ccs/tools/compiler/ti-cgt-c2000_20.2.1.LTS/bin/cl2000" --cla_support=cla1 --float_support=fpu32 --tmu_support=tmu0 --vcu_support=vcu2 --opt_for_speed=2 --fp_reassoc=off --include_path="D:/ti/ccs1011/ccs/tools/compiler/ti-cgt-c2000_20.2.1.LTS/include" --include_path="D:/ti/c2000/C2000Ware_3_03_00_00/libraries/boot_rom/f2838x/revA/rom_sources/cpu1/F2838x_ROM/driverlib/inc" --include_path="D:/ti/c2000/C2000Ware_3_03_00_00/libraries/boot_rom/f2838x/revA/rom_sources/cpu1/F2838x_ROM/bootROM/include" --include_path="D:/ti/c2000/C2000Ware_3_03_00_00/libraries/boot_rom/f2838x/revA/rom_sources/cpu1/F2838x_ROM/driverlib" --include_path="D:/ti/ccs_proj/kernel_28388d/F28388D_sci_flash_kernels_cpu01/common_include" --include_path="D:/ti/ccs_proj/kernel_28388d/F28388D_sci_flash_kernels_cpu01/header_include" --define=CPU1 -g --diag_suppress=10063 --diag_warning=225 --display_error_number --gen_func_subsections=on --abi=coffabi --preproc_with_compile --preproc_dependency="Shared_Erase.d_raw" "../Shared_Erase.c"
    "../Shared_Erase.c", line 70: warning #48-D: incompatible redefinition of macro "NO_ERROR" (declared at line 466 of "..\cpu1bootrom.h")
    Finished building: "../Shared_Erase.c"

    Building file: "../Shared_Verify.c"
    Invoking: C2000 Compiler
    "D:/ti/ccs1011/ccs/tools/compiler/ti-cgt-c2000_20.2.1.LTS/bin/cl2000" --cla_support=cla1 --float_support=fpu32 --tmu_support=tmu0 --vcu_support=vcu2 --opt_for_speed=2 --fp_reassoc=off --include_path="D:/ti/ccs1011/ccs/tools/compiler/ti-cgt-c2000_20.2.1.LTS/include" --include_path="D:/ti/c2000/C2000Ware_3_03_00_00/libraries/boot_rom/f2838x/revA/rom_sources/cpu1/F2838x_ROM/driverlib/inc" --include_path="D:/ti/c2000/C2000Ware_3_03_00_00/libraries/boot_rom/f2838x/revA/rom_sources/cpu1/F2838x_ROM/bootROM/include" --include_path="D:/ti/c2000/C2000Ware_3_03_00_00/libraries/boot_rom/f2838x/revA/rom_sources/cpu1/F2838x_ROM/driverlib" --include_path="D:/ti/ccs_proj/kernel_28388d/F28388D_sci_flash_kernels_cpu01/common_include" --include_path="D:/ti/ccs_proj/kernel_28388d/F28388D_sci_flash_kernels_cpu01/header_include" --define=CPU1 -g --diag_suppress=10063 --diag_warning=225 --display_error_number --gen_func_subsections=on --abi=coffabi --preproc_with_compile --preproc_dependency="Shared_Verify.d_raw" "../Shared_Verify.c"
    "D:/ti/ccs_proj/kernel_28388d/F28388D_sci_flash_kernels_cpu01/header_include/f2838x_device.h", line 294: warning #303-D: typedef name has already been declared (with same type)
    "D:/ti/ccs_proj/kernel_28388d/F28388D_sci_flash_kernels_cpu01/header_include/f2838x_device.h", line 295: warning #303-D: typedef name has already been declared (with same type)
    "../Shared_Verify.c", line 60: warning #48-D: incompatible redefinition of macro "NO_ERROR" (declared at line 466 of "..\cpu1bootrom.h")
    Finished building: "../Shared_Verify.c"

    Building file: "../f2838x_codestartbranch.asm"
    Invoking: C2000 Compiler
    "D:/ti/ccs1011/ccs/tools/compiler/ti-cgt-c2000_20.2.1.LTS/bin/cl2000" --cla_support=cla1 --float_support=fpu32 --tmu_support=tmu0 --vcu_support=vcu2 --opt_for_speed=2 --fp_reassoc=off --include_path="D:/ti/ccs1011/ccs/tools/compiler/ti-cgt-c2000_20.2.1.LTS/include" --include_path="D:/ti/c2000/C2000Ware_3_03_00_00/libraries/boot_rom/f2838x/revA/rom_sources/cpu1/F2838x_ROM/driverlib/inc" --include_path="D:/ti/c2000/C2000Ware_3_03_00_00/libraries/boot_rom/f2838x/revA/rom_sources/cpu1/F2838x_ROM/bootROM/include" --include_path="D:/ti/c2000/C2000Ware_3_03_00_00/libraries/boot_rom/f2838x/revA/rom_sources/cpu1/F2838x_ROM/driverlib" --include_path="D:/ti/ccs_proj/kernel_28388d/F28388D_sci_flash_kernels_cpu01/common_include" --include_path="D:/ti/ccs_proj/kernel_28388d/F28388D_sci_flash_kernels_cpu01/header_include" --define=CPU1 -g --diag_suppress=10063 --diag_warning=225 --display_error_number --gen_func_subsections=on --abi=coffabi --preproc_with_compile --preproc_dependency="f2838x_codestartbranch.d_raw" "../f2838x_codestartbranch.asm"
    Finished building: "../f2838x_codestartbranch.asm"

    Building file: "../f2838x_defaultisr.c"
    Invoking: C2000 Compiler
    "D:/ti/ccs1011/ccs/tools/compiler/ti-cgt-c2000_20.2.1.LTS/bin/cl2000" --cla_support=cla1 --float_support=fpu32 --tmu_support=tmu0 --vcu_support=vcu2 --opt_for_speed=2 --fp_reassoc=off --include_path="D:/ti/ccs1011/ccs/tools/compiler/ti-cgt-c2000_20.2.1.LTS/include" --include_path="D:/ti/c2000/C2000Ware_3_03_00_00/libraries/boot_rom/f2838x/revA/rom_sources/cpu1/F2838x_ROM/driverlib/inc" --include_path="D:/ti/c2000/C2000Ware_3_03_00_00/libraries/boot_rom/f2838x/revA/rom_sources/cpu1/F2838x_ROM/bootROM/include" --include_path="D:/ti/c2000/C2000Ware_3_03_00_00/libraries/boot_rom/f2838x/revA/rom_sources/cpu1/F2838x_ROM/driverlib" --include_path="D:/ti/ccs_proj/kernel_28388d/F28388D_sci_flash_kernels_cpu01/common_include" --include_path="D:/ti/ccs_proj/kernel_28388d/F28388D_sci_flash_kernels_cpu01/header_include" --define=CPU1 -g --diag_suppress=10063 --diag_warning=225 --display_error_number --gen_func_subsections=on --abi=coffabi --preproc_with_compile --preproc_dependency="f2838x_defaultisr.d_raw" "../f2838x_defaultisr.c"
    Finished building: "../f2838x_defaultisr.c"

    Building file: "../f2838x_globalvariabledefs.c"
    Invoking: C2000 Compiler
    "D:/ti/ccs1011/ccs/tools/compiler/ti-cgt-c2000_20.2.1.LTS/bin/cl2000" --cla_support=cla1 --float_support=fpu32 --tmu_support=tmu0 --vcu_support=vcu2 --opt_for_speed=2 --fp_reassoc=off --include_path="D:/ti/ccs1011/ccs/tools/compiler/ti-cgt-c2000_20.2.1.LTS/include" --include_path="D:/ti/c2000/C2000Ware_3_03_00_00/libraries/boot_rom/f2838x/revA/rom_sources/cpu1/F2838x_ROM/driverlib/inc" --include_path="D:/ti/c2000/C2000Ware_3_03_00_00/libraries/boot_rom/f2838x/revA/rom_sources/cpu1/F2838x_ROM/bootROM/include" --include_path="D:/ti/c2000/C2000Ware_3_03_00_00/libraries/boot_rom/f2838x/revA/rom_sources/cpu1/F2838x_ROM/driverlib" --include_path="D:/ti/ccs_proj/kernel_28388d/F28388D_sci_flash_kernels_cpu01/common_include" --include_path="D:/ti/ccs_proj/kernel_28388d/F28388D_sci_flash_kernels_cpu01/header_include" --define=CPU1 -g --diag_suppress=10063 --diag_warning=225 --display_error_number --gen_func_subsections=on --abi=coffabi --preproc_with_compile --preproc_dependency="f2838x_globalvariabledefs.d_raw" "../f2838x_globalvariabledefs.c"
    Finished building: "../f2838x_globalvariabledefs.c"

    Building file: "../f2838x_gpio.c"
    Invoking: C2000 Compiler
    "D:/ti/ccs1011/ccs/tools/compiler/ti-cgt-c2000_20.2.1.LTS/bin/cl2000" --cla_support=cla1 --float_support=fpu32 --tmu_support=tmu0 --vcu_support=vcu2 --opt_for_speed=2 --fp_reassoc=off --include_path="D:/ti/ccs1011/ccs/tools/compiler/ti-cgt-c2000_20.2.1.LTS/include" --include_path="D:/ti/c2000/C2000Ware_3_03_00_00/libraries/boot_rom/f2838x/revA/rom_sources/cpu1/F2838x_ROM/driverlib/inc" --include_path="D:/ti/c2000/C2000Ware_3_03_00_00/libraries/boot_rom/f2838x/revA/rom_sources/cpu1/F2838x_ROM/bootROM/include" --include_path="D:/ti/c2000/C2000Ware_3_03_00_00/libraries/boot_rom/f2838x/revA/rom_sources/cpu1/F2838x_ROM/driverlib" --include_path="D:/ti/ccs_proj/kernel_28388d/F28388D_sci_flash_kernels_cpu01/common_include" --include_path="D:/ti/ccs_proj/kernel_28388d/F28388D_sci_flash_kernels_cpu01/header_include" --define=CPU1 -g --diag_suppress=10063 --diag_warning=225 --display_error_number --gen_func_subsections=on --abi=coffabi --preproc_with_compile --preproc_dependency="f2838x_gpio.d_raw" "../f2838x_gpio.c"
    Finished building: "../f2838x_gpio.c"

    Building file: "../f2838x_piectrl.c"
    Invoking: C2000 Compiler
    "D:/ti/ccs1011/ccs/tools/compiler/ti-cgt-c2000_20.2.1.LTS/bin/cl2000" --cla_support=cla1 --float_support=fpu32 --tmu_support=tmu0 --vcu_support=vcu2 --opt_for_speed=2 --fp_reassoc=off --include_path="D:/ti/ccs1011/ccs/tools/compiler/ti-cgt-c2000_20.2.1.LTS/include" --include_path="D:/ti/c2000/C2000Ware_3_03_00_00/libraries/boot_rom/f2838x/revA/rom_sources/cpu1/F2838x_ROM/driverlib/inc" --include_path="D:/ti/c2000/C2000Ware_3_03_00_00/libraries/boot_rom/f2838x/revA/rom_sources/cpu1/F2838x_ROM/bootROM/include" --include_path="D:/ti/c2000/C2000Ware_3_03_00_00/libraries/boot_rom/f2838x/revA/rom_sources/cpu1/F2838x_ROM/driverlib" --include_path="D:/ti/ccs_proj/kernel_28388d/F28388D_sci_flash_kernels_cpu01/common_include" --include_path="D:/ti/ccs_proj/kernel_28388d/F28388D_sci_flash_kernels_cpu01/header_include" --define=CPU1 -g --diag_suppress=10063 --diag_warning=225 --display_error_number --gen_func_subsections=on --abi=coffabi --preproc_with_compile --preproc_dependency="f2838x_piectrl.d_raw" "../f2838x_piectrl.c"
    Finished building: "../f2838x_piectrl.c"

    Building file: "../f2838x_pievect.c"
    Invoking: C2000 Compiler
    "D:/ti/ccs1011/ccs/tools/compiler/ti-cgt-c2000_20.2.1.LTS/bin/cl2000" --cla_support=cla1 --float_support=fpu32 --tmu_support=tmu0 --vcu_support=vcu2 --opt_for_speed=2 --fp_reassoc=off --include_path="D:/ti/ccs1011/ccs/tools/compiler/ti-cgt-c2000_20.2.1.LTS/include" --include_path="D:/ti/c2000/C2000Ware_3_03_00_00/libraries/boot_rom/f2838x/revA/rom_sources/cpu1/F2838x_ROM/driverlib/inc" --include_path="D:/ti/c2000/C2000Ware_3_03_00_00/libraries/boot_rom/f2838x/revA/rom_sources/cpu1/F2838x_ROM/bootROM/include" --include_path="D:/ti/c2000/C2000Ware_3_03_00_00/libraries/boot_rom/f2838x/revA/rom_sources/cpu1/F2838x_ROM/driverlib" --include_path="D:/ti/ccs_proj/kernel_28388d/F28388D_sci_flash_kernels_cpu01/common_include" --include_path="D:/ti/ccs_proj/kernel_28388d/F28388D_sci_flash_kernels_cpu01/header_include" --define=CPU1 -g --diag_suppress=10063 --diag_warning=225 --display_error_number --gen_func_subsections=on --abi=coffabi --preproc_with_compile --preproc_dependency="f2838x_pievect.d_raw" "../f2838x_pievect.c"
    Finished building: "../f2838x_pievect.c"

    Building file: "../f2838x_sysctrl.c"
    Invoking: C2000 Compiler
    "D:/ti/ccs1011/ccs/tools/compiler/ti-cgt-c2000_20.2.1.LTS/bin/cl2000" --cla_support=cla1 --float_support=fpu32 --tmu_support=tmu0 --vcu_support=vcu2 --opt_for_speed=2 --fp_reassoc=off --include_path="D:/ti/ccs1011/ccs/tools/compiler/ti-cgt-c2000_20.2.1.LTS/include" --include_path="D:/ti/c2000/C2000Ware_3_03_00_00/libraries/boot_rom/f2838x/revA/rom_sources/cpu1/F2838x_ROM/driverlib/inc" --include_path="D:/ti/c2000/C2000Ware_3_03_00_00/libraries/boot_rom/f2838x/revA/rom_sources/cpu1/F2838x_ROM/bootROM/include" --include_path="D:/ti/c2000/C2000Ware_3_03_00_00/libraries/boot_rom/f2838x/revA/rom_sources/cpu1/F2838x_ROM/driverlib" --include_path="D:/ti/ccs_proj/kernel_28388d/F28388D_sci_flash_kernels_cpu01/common_include" --include_path="D:/ti/ccs_proj/kernel_28388d/F28388D_sci_flash_kernels_cpu01/header_include" --define=CPU1 -g --diag_suppress=10063 --diag_warning=225 --display_error_number --gen_func_subsections=on --abi=coffabi --preproc_with_compile --preproc_dependency="f2838x_sysctrl.d_raw" "../f2838x_sysctrl.c"
    "../f2838x_sysctrl.c", line 301 (col. 35): advice #2615-D: (Performance) Use --fp_mode=relaxed to enable TMU hardware support for FP division.
    Finished building: "../f2838x_sysctrl.c"

    Building file: "../f2838x_usdelay.asm"
    Invoking: C2000 Compiler
    "D:/ti/ccs1011/ccs/tools/compiler/ti-cgt-c2000_20.2.1.LTS/bin/cl2000" --cla_support=cla1 --float_support=fpu32 --tmu_support=tmu0 --vcu_support=vcu2 --opt_for_speed=2 --fp_reassoc=off --include_path="D:/ti/ccs1011/ccs/tools/compiler/ti-cgt-c2000_20.2.1.LTS/include" --include_path="D:/ti/c2000/C2000Ware_3_03_00_00/libraries/boot_rom/f2838x/revA/rom_sources/cpu1/F2838x_ROM/driverlib/inc" --include_path="D:/ti/c2000/C2000Ware_3_03_00_00/libraries/boot_rom/f2838x/revA/rom_sources/cpu1/F2838x_ROM/bootROM/include" --include_path="D:/ti/c2000/C2000Ware_3_03_00_00/libraries/boot_rom/f2838x/revA/rom_sources/cpu1/F2838x_ROM/driverlib" --include_path="D:/ti/ccs_proj/kernel_28388d/F28388D_sci_flash_kernels_cpu01/common_include" --include_path="D:/ti/ccs_proj/kernel_28388d/F28388D_sci_flash_kernels_cpu01/header_include" --define=CPU1 -g --diag_suppress=10063 --diag_warning=225 --display_error_number --gen_func_subsections=on --abi=coffabi --preproc_with_compile --preproc_dependency="f2838x_usdelay.d_raw" "../f2838x_usdelay.asm"
    Finished building: "../f2838x_usdelay.asm"

    Building target: "F28388D_sci_flash_kernels_cpu01.out"
    Invoking: C2000 Linker
    "D:/ti/ccs1011/ccs/tools/compiler/ti-cgt-c2000_20.2.1.LTS/bin/cl2000" --cla_support=cla1 --float_support=fpu32 --tmu_support=tmu0 --vcu_support=vcu2 --opt_for_speed=2 --fp_reassoc=off --define=CPU1 -g --diag_suppress=10063 --diag_warning=225 --display_error_number --gen_func_subsections=on --abi=coffabi -z -m"F28388D_sci_flash_kernels_cpu01.map" --stack_size=0x100 --warn_sections -i"D:/ti/ccs1011/ccs/tools/compiler/ti-cgt-c2000_20.2.1.LTS/lib" -i"D:/ti/ccs1011/ccs/tools/compiler/ti-cgt-c2000_20.2.1.LTS/include" --reread_libs --disable_auto_rts --display_error_number --xml_link_info="F28388D_sci_flash_kernels_cpu01_linkInfo.xml" --entry_point=code_start --rom_model -o "F28388D_sci_flash_kernels_cpu01.out" "./F28388D_sci_flash_kernels_cpu01.obj" "./Fapi_UserDefinedFunctions.obj" "./SCI_Boot.obj" "./SCI_GetFunction.obj" "./Shared_Boot.obj" "./Shared_Erase.obj" "./Shared_Verify.obj" "./f2838x_codestartbranch.obj" "./f2838x_defaultisr.obj" "./f2838x_globalvariabledefs.obj" "./f2838x_gpio.obj" "./f2838x_piectrl.obj" "./f2838x_pievect.obj" "./f2838x_sysctrl.obj" "./f2838x_usdelay.obj" "../F2838xCPU1_BootROM_Symbols_fpu32.lib" "../F2838x_C28x_FlashAPI.lib" "../flash_programming_cpu1tocpu2_RAM.cmd" -llibc.a
    <Linking>
    warning #10373-D: library "../F2838xCPU1_BootROM_Symbols_fpu32.lib" contains
    ELF object files which are incompatible with the TI-COFF output file.
    Ensure you are using the proper library.
    warning #10373-D: library "../F2838x_C28x_FlashAPI.lib" contains ELF object
    files which are incompatible with the TI-COFF output file. Ensure you are
    using the proper library.
    warning #10373-D: library "../F2838xCPU1_BootROM_Symbols_fpu32.lib" contains
    ELF object files which are incompatible with the TI-COFF output file.
    Ensure you are using the proper library.
    warning #10373-D: library "../F2838x_C28x_FlashAPI.lib" contains ELF object
    files which are incompatible with the TI-COFF output file. Ensure you are
    using the proper library.
    warning #10247-D: creating output section "EradCRCGlobalRegsFile" without a
    SECTIONS specification
    warning #10247-D: creating output section "RomPrefetchRegsFile" without a
    SECTIONS specification
    warning #10247-D: creating output section "RomWaitStateRegsFile" without a
    SECTIONS specification
    warning #10247-D: creating output section "EradCRC1RegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "EradCRC2RegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "EradCRC3RegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "EradCRC4RegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "EradCRC5RegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "EradCRC6RegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "EradCRC7RegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "EradCRC8RegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "SyncSocRegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "TestErrorRegsFile" without a
    SECTIONS specification
    warning #10247-D: creating output section "DacaRegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "DacbRegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "DaccRegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "CpuTimer0RegsFile" without a
    SECTIONS specification
    warning #10247-D: creating output section "CpuTimer1RegsFile" without a
    SECTIONS specification
    warning #10247-D: creating output section "CpuTimer2RegsFile" without a
    SECTIONS specification
    warning #10247-D: creating output section "EradHWBP1RegsFile" without a
    SECTIONS specification
    warning #10247-D: creating output section "EradHWBP2RegsFile" without a
    SECTIONS specification
    warning #10247-D: creating output section "EradHWBP3RegsFile" without a
    SECTIONS specification
    warning #10247-D: creating output section "EradHWBP4RegsFile" without a
    SECTIONS specification
    warning #10247-D: creating output section "EradHWBP5RegsFile" without a
    SECTIONS specification
    warning #10247-D: creating output section "EradHWBP6RegsFile" without a
    SECTIONS specification
    warning #10247-D: creating output section "EradHWBP7RegsFile" without a
    SECTIONS specification
    warning #10247-D: creating output section "EradHWBP8RegsFile" without a
    SECTIONS specification
    warning #10247-D: creating output section "Emif1ConfigRegsFile" without a
    SECTIONS specification
    warning #10247-D: creating output section "Emif2ConfigRegsFile" without a
    SECTIONS specification
    warning #10247-D: creating output section "XintRegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "EradCounter1RegsFile" without a
    SECTIONS specification
    warning #10247-D: creating output section "EradCounter2RegsFile" without a
    SECTIONS specification
    warning #10247-D: creating output section "EradCounter3RegsFile" without a
    SECTIONS specification
    warning #10247-D: creating output section "EradCounter4RegsFile" without a
    SECTIONS specification
    warning #10247-D: creating output section "GpioDataReadRegsFile" without a
    SECTIONS specification
    warning #10247-D: creating output section "NmiIntruptRegsFile" without a
    SECTIONS specification
    warning #10247-D: creating output section "SciaRegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "ScibRegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "ScicRegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "ScidRegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "SpiaRegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "SpibRegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "SpicRegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "SpidRegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "XbarRegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "DcsmZ2OtpRegsFile" without a
    SECTIONS specification
    warning #10247-D: creating output section "EradGlobalRegsFile" without a
    SECTIONS specification
    warning #10247-D: creating output section "EscssConfigRegsFile" without a
    SECTIONS specification
    warning #10247-D: creating output section "HRCap6RegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "HRCap7RegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "AdcaResultRegsFile" without a
    SECTIONS specification
    warning #10247-D: creating output section "AdcbResultRegsFile" without a
    SECTIONS specification
    warning #10247-D: creating output section "AdccResultRegsFile" without a
    SECTIONS specification
    warning #10247-D: creating output section "AdcdResultRegsFile" without a
    SECTIONS specification
    warning #10247-D: creating output section "SysStatusRegsFile" without a
    SECTIONS specification
    warning #10247-D: creating output section "DmaClaSrcSelRegsFile" without a
    SECTIONS specification
    warning #10247-D: creating output section "PieCtrlRegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "Cmpss1RegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "Cmpss2RegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "Cmpss3RegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "Cmpss4RegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "Cmpss5RegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "Cmpss6RegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "Cmpss7RegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "Cmpss8RegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "DcsmCommonRegsFile" without a
    SECTIONS specification
    warning #10247-D: creating output section "PmbusaRegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "DcsmZ1OtpRegsFile" without a
    SECTIONS specification
    warning #10247-D: creating output section "ECap1RegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "ECap2RegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "ECap3RegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "ECap4RegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "ECap5RegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "ECap6RegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "ECap7RegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "InputXbarRegsFile" without a
    SECTIONS specification
    warning #10247-D: creating output section "ClbInputXbarRegsFile" without a
    SECTIONS specification
    warning #10247-D: creating output section "I2caRegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "I2cbRegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "Cpu1toCmIpcRegsFile" without a
    SECTIONS specification
    warning #10247-D: creating output section "EscssRegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "McbspaRegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "McbspbRegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "Cpu1toCpu2IpcRegsFile" without a
    SECTIONS specification
    warning #10247-D: creating output section "Emif1RegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "Emif2RegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "Flash0EccRegsFile" without a
    SECTIONS specification
    warning #10247-D: creating output section "WdRegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "Dcc0RegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "Dcc1RegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "Dcc2RegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "DcsmZ2RegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "AccessProtectionRegsFile" without a
    SECTIONS specification
    warning #10247-D: creating output section "GpioDataRegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "EQep1RegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "EQep2RegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "EQep3RegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "ClkCfgRegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "MemoryErrorRegsFile" without a
    SECTIONS specification
    warning #10247-D: creating output section "AnalogSubsysRegsFile" without a
    SECTIONS specification
    warning #10247-D: creating output section "DcsmZ1RegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "BgcrcCpuRegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "BgcrcCla1RegsFile" without a
    SECTIONS specification
    warning #10247-D: creating output section "Clb1LogicCtrlRegsFile" without a
    SECTIONS specification
    warning #10247-D: creating output section "Clb2LogicCtrlRegsFile" without a
    SECTIONS specification
    warning #10247-D: creating output section "Clb3LogicCtrlRegsFile" without a
    SECTIONS specification
    warning #10247-D: creating output section "Clb4LogicCtrlRegsFile" without a
    SECTIONS specification
    warning #10247-D: creating output section "Clb5LogicCtrlRegsFile" without a
    SECTIONS specification
    warning #10247-D: creating output section "Clb6LogicCtrlRegsFile" without a
    SECTIONS specification
    warning #10247-D: creating output section "Clb7LogicCtrlRegsFile" without a
    SECTIONS specification
    warning #10247-D: creating output section "Clb8LogicCtrlRegsFile" without a
    SECTIONS specification
    warning #10247-D: creating output section "CLBXbarRegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "EPwmXbarRegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "OutputXbarRegsFile" without a
    SECTIONS specification
    warning #10247-D: creating output section "ClbOutputXbarRegsFile" without a
    SECTIONS specification
    warning #10247-D: creating output section "Cla1RegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "Clb1DataExchRegsFile" without a
    SECTIONS specification
    warning #10247-D: creating output section "Clb2DataExchRegsFile" without a
    SECTIONS specification
    warning #10247-D: creating output section "Clb3DataExchRegsFile" without a
    SECTIONS specification
    warning #10247-D: creating output section "Clb4DataExchRegsFile" without a
    SECTIONS specification
    warning #10247-D: creating output section "Clb5DataExchRegsFile" without a
    SECTIONS specification
    warning #10247-D: creating output section "Clb6DataExchRegsFile" without a
    SECTIONS specification
    warning #10247-D: creating output section "Clb7DataExchRegsFile" without a
    SECTIONS specification
    warning #10247-D: creating output section "Clb8DataExchRegsFile" without a
    SECTIONS specification
    warning #10247-D: creating output section "FsiRxaRegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "FsiRxbRegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "FsiRxcRegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "FsiRxdRegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "FsiRxeRegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "FsiRxfRegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "FsiRxgRegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "FsiRxhRegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "FsiTxaRegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "FsiTxbRegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "Clb1LogicCfgRegsFile" without a
    SECTIONS specification
    warning #10247-D: creating output section "Clb2LogicCfgRegsFile" without a
    SECTIONS specification
    warning #10247-D: creating output section "Clb3LogicCfgRegsFile" without a
    SECTIONS specification
    warning #10247-D: creating output section "Clb4LogicCfgRegsFile" without a
    SECTIONS specification
    warning #10247-D: creating output section "Clb5LogicCfgRegsFile" without a
    SECTIONS specification
    warning #10247-D: creating output section "Clb6LogicCfgRegsFile" without a
    SECTIONS specification
    warning #10247-D: creating output section "Clb7LogicCfgRegsFile" without a
    SECTIONS specification
    warning #10247-D: creating output section "Clb8LogicCfgRegsFile" without a
    SECTIONS specification
    warning #10247-D: creating output section "AdcaRegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "AdcbRegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "AdccRegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "AdcdRegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "Sdfm1RegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "Sdfm2RegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "CpuSysRegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "MemCfgRegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "DmaRegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "EPwm1RegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "EPwm2RegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "EPwm3RegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "EPwm4RegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "EPwm5RegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "EPwm6RegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "EPwm7RegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "EPwm8RegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "EPwm9RegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "EPwm10RegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "EPwm11RegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "EPwm12RegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "EPwm13RegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "EPwm14RegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "EPwm15RegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "EPwm16RegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "CanaRegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "CanbRegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "GpioCtrlRegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "Flash0CtrlRegsFile" without a
    SECTIONS specification
    warning #10247-D: creating output section "DevCfgRegsFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "PieVectTableFile" without a SECTIONS
    specification
    warning #10247-D: creating output section "SysPeriphAcRegsFile" without a
    SECTIONS specification
    warning #10247-D: creating output section "CmConfRegsFile" without a SECTIONS
    specification

    undefined first referenced
    symbol in file
    --------- ----------------
    _Fapi_checkFsmForReady ./Shared_Boot.obj
    _Fapi_doBlankCheck ./Shared_Boot.obj
    _Fapi_doVerify ./Shared_Boot.obj
    _Fapi_initializeAPI ./F28388D_sci_flash_kernels_cpu01.obj
    _Fapi_issueAsyncCommandWithAddress ./Shared_Boot.obj
    _Fapi_issueProgrammingCommand ./Shared_Boot.obj
    _Fapi_setActiveFlashBank ./F28388D_sci_flash_kernels_cpu01.obj
    _InitIpc ./F28388D_sci_flash_kernels_cpu01.obj

    error #10234-D: unresolved symbols remain
    error #10010: errors encountered during linking;
    "F28388D_sci_flash_kernels_cpu01.out" not built

    >> Compilation failure
    makefile:156: recipe for target 'F28388D_sci_flash_kernels_cpu01.out' failed
    gmake: *** [F28388D_sci_flash_kernels_cpu01.out] Error 1
    gmake: Target 'all' not remade because of errors.

    **** Build Finished ****

  • Dear Anu,

    It looks like that the building process is successful and the linking process is not good.

    Could you please give some clues so I can proceed with the f28388d Kernel project.

    Thanks a lot!

    pingzhou@siemens.com

  • Zhou, 

    Regarding the errors, please do the following:

    1. Remove the Fapi_UserDefinedFunctions.c file. This should help get rid of the Fapi errors you are getting. 

    2. InitIpc() is not defined for F2838x, please refer to the IPC examples for F2838x to see how to initialize IPC. 

    Regarding the warnings, please add f2838x_headers_nonBIOS_cpu1.cmd into your project. This will get rid of all the "creating output section" warnings. The linker command file can be found at C2000Ware_3_03_00_00\device_support\f2838x\headers\cmd. 

    Also, the linker command file for F2837xD should not be used directly in the F2838x project. I would recommend starting with the 2838x_RAM_lnk_cpu1.cmd file and transferring the necessary sections of the F2837xD file to it. The linker command file is found at C2000Ware_3_03_00_00\device_support\f2838x\common\cmd. 

    Regards, 

    Anu

  • Dear Anu,

    I have created the f28388 sci kernel project as follows,

    And actually I used the 2838x_flash_api_lnk.cmd file for linking.

    Is it reasonable? I mean is it mandatory to create a specific .cmd file for the kernel project?

    The .out file has been generated.

    and the console log is as follows,

    Thanks very much!

    **** Build of configuration CPU1_FLASH for project flashapi_ex1_programming ****

    "D:\\ti\\ccs1011\\ccs\\utils\\bin\\gmake" -k -j 12 all -O

    Building file: "../F28388D_sci_flash_kernels_cpu01.c"
    Invoking: C2000 Compiler
    "D:/ti/ccs1011/ccs/tools/compiler/ti-cgt-c2000_20.2.1.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla1 --float_support=fpu32 --tmu_support=tmu0 --vcu_support=vcu2 -Ooff --include_path="D:/ti/ccs_proj/flash_write_28388kernel/flashapi_ex1_programming/28388FlashAPIheaders" --include_path="D:/ti/c2000/C2000Ware_3_03_00_00/device_support/f2838x/headers/include" --include_path="D:/ti/c2000/C2000Ware_3_03_00_00/device_support/f2838x/common/include" --include_path="D:/ti/c2000/C2000Ware_3_03_00_00/driverlib/f2838x/driverlib/inc" --include_path="D:/ti/c2000/C2000Ware_3_03_00_00/libraries/boot_rom/f2838x/revA/rom_sources/cpu1/F2838x_ROM/driverlib/inc" --include_path="D:/ti/c2000/C2000Ware_3_03_00_00/libraries/boot_rom/f2838x/revA/rom_sources/cpu1/F2838x_ROM/bootROM/include" --include_path="D:/ti/ccs_proj/flash_write_28388kernel/flashapi_ex1_programming" --include_path="D:/ti/ccs_proj/flash_write_28388kernel/flashapi_ex1_programming/device" --include_path="D:/ti/c2000/C2000Ware_3_03_00_00/driverlib/f2838x/driverlib" --include_path="D:/ti/ccs1011/ccs/tools/compiler/ti-cgt-c2000_20.2.1.LTS/include" --advice:performance=all --define=CPU1 --diag_suppress=10063 --diag_warning=225 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi --preproc_with_compile --preproc_dependency="F28388D_sci_flash_kernels_cpu01.d_raw" --include_path="D:/ti/ccs_proj/flash_write_28388kernel/flashapi_ex1_programming/CPU1_FLASH/syscfg" "../F28388D_sci_flash_kernels_cpu01.c"
    Finished building: "../F28388D_sci_flash_kernels_cpu01.c"

    Building target: "flashapi_ex1_programming.out"
    Invoking: C2000 Linker
    "D:/ti/ccs1011/ccs/tools/compiler/ti-cgt-c2000_20.2.1.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla1 --float_support=fpu32 --tmu_support=tmu0 --vcu_support=vcu2 -Ooff --advice:performance=all --define=CPU1 --diag_suppress=10063 --diag_warning=225 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi -z -m"flashapi_ex1_programming.map" --heap_size=0x200 --stack_size=0x3F8 --warn_sections -i"D:/ti/ccs1011/ccs/tools/compiler/ti-cgt-c2000_20.2.1.LTS/lib" -i"D:/ti/c2000/C2000Ware_3_03_00_00/libraries/flash_api/f2838x/c28x/lib" -i"D:/ti/ccs1011/ccs/tools/compiler/ti-cgt-c2000_20.2.1.LTS/include" --reread_libs --diag_wrap=off --display_error_number --xml_link_info="flashapi_ex1_programming_linkInfo.xml" --entry_point=code_start --rom_model -o "flashapi_ex1_programming.out" "./F28388D_sci_flash_kernels_cpu01.obj" "./SCI_Boot.obj" "./SCI_GetFunction.obj" "./Shared_Boot.obj" "./Shared_Erase.obj" "./Shared_Verify.obj" "./f2838x_defaultisr.obj" "./f2838x_globalvariabledefs.obj" "./f2838x_gpio.obj" "./f2838x_piectrl.obj" "./f2838x_pievect.obj" "./f2838x_sysctrl.obj" "./f2838x_usdelay.obj" "./device/device.obj" "./device/f2838x_codestartbranch.obj" "../2838x_flash_api_lnk.cmd" "../F2838xCPU1_BootROM_Symbols_fpu32.lib" "../F2838x_C28x_FlashAPI.lib" -llibc.a
    <Linking>
    warning #10247-D: creating output section "SciaRegsFile" without a SECTIONS specification
    warning #10247-D: creating output section "Cpu1toCpu2IpcRegsFile" without a SECTIONS specification
    warning #10247-D: creating output section "Flash0EccRegsFile" without a SECTIONS specification
    warning #10247-D: creating output section "WdRegsFile" without a SECTIONS specification
    warning #10247-D: creating output section "Dcc0RegsFile" without a SECTIONS specification
    warning #10247-D: creating output section "Dcc1RegsFile" without a SECTIONS specification
    warning #10247-D: creating output section "Dcc2RegsFile" without a SECTIONS specification
    warning #10247-D: creating output section "DcsmZ2RegsFile" without a SECTIONS specification
    warning #10247-D: creating output section "GpioDataRegsFile" without a SECTIONS specification
    warning #10247-D: creating output section "ClkCfgRegsFile" without a SECTIONS specification
    warning #10247-D: creating output section "AnalogSubsysRegsFile" without a SECTIONS specification
    warning #10247-D: creating output section "DcsmZ1RegsFile" without a SECTIONS specification
    warning #10247-D: creating output section "CpuSysRegsFile" without a SECTIONS specification
    warning #10247-D: creating output section "GpioCtrlRegsFile" without a SECTIONS specification
    warning #10247-D: creating output section "Flash0CtrlRegsFile" without a SECTIONS specification
    warning #10247-D: creating output section "DevCfgRegsFile" without a SECTIONS specification
    Finished building target: "flashapi_ex1_programming.out"

    **** Build Finished ****

  • Zhou, 

    Using that linker command file will put the kernel in Flash, instead of RAM. If you intend on running the flash kernel out of RAM, you should use a linker command file that has the sections put in RAM. 

    Thanks, 

    Anu

  • Dear Anu,

    Actually we prefer putting the kernel in flash, because it's really inconvenient to transfer the kernel project to RAM every time I want to load the kernel.

    I have modified the serial_flash_programmer.cpp file to update the executable.

    Attached please find the updated .cpp file and the the difference between my .cpp file and the original one.

    serial_flash_programmer_new.cpp

    I used notepad++ to compare my .cpp file and the original one.

    Left window of notepad++ is the original one, and right window of notepad++ is the updated one.

    I think the following is the most important.

    Should I use the same if structure with 2837xd??

    Thanks!

  • Zhou, 

    I will check this and get back to you in a couple of days. 

    Thanks,

    Anu

  • Zhou, 

    For CPU1, the changes to the serial_flash_programmer.cpp file are fine. You will want to change the 7 on line 1400 to 6, and add change the 7 to 6 on line 1356 where the comparison for f2838x is done. 

    Will you be downloading the kernel via CCS before executing it?

    Thanks,

    Anu

  • Dear Anu,

    Thank you very much for your valuable comments.

    I would like to put kernel on sector 0 and sector 1, and put my application on sector 2 and sector3 and so on.

    So how should I use the serial_flash_programmer to update the application via the kernel?

    I digged into the "Serial Flash Programming of C2000 Microcontrollers" document.

    It describes the procedure where the kernel is delivered from SCI to RAM.

    But if I would like put the kernel in flash.

    What should I do?

    I really appreciate your help.

    and Merry Christmas !

    pingzhou@siemens.com 

  • Dear Anu,

    Firstly I burned my kernel .out in flash, and then the board was powered off and powered on again.

    The newest serial_flash_programmer.exe was used as follows,

    after the command, the kernel can not be loaded.

  • Dear Anu,

    Please see the following code in serial_flash_programmer.cpp.

    Only by commenting the autobaudLock() can I get the second screenshot.

    so there must be something wrong with auto baud lock for SCI, right?

    Thank you very much!

  • Zhou, 

    The autobaud lock should work. Are you using the controlCard? Is your controlCard set to Flash Boot?

    Thanks, 

    Anu

  • Dear Anu,

    Yes, I am using TMS320F28388D controlCARD,

    and I use flash boot mode as indicated in following screenshot.

    The kernel was put on flash, So I guess the kernel should run on flash, and the kernel will start working after the serial_flash_programmer.exe is executed.

    Anything wrong, please correct me.

    Thanks!

    pingzhou@siemens.com 

  • Ping, 

    I will get back to you on this in a couple of days. 

    Thanks, 

    Anu

  • Ping, 

    I would check if the kernel is written to the flash sectors correctly and that the kernel is not getting erased during execution. 

    Also, when running the kernel out of flash, please make sure that the Flash API is copied to RAM. 

    The autobaud lock function should be able to run without any modifications out of flash. Did you happen to make any modifications to the autobaud lock function?

    Thanks,

    Anu