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.

TMS320F28069: Bootloader Development

Part Number: TMS320F28069
Other Parts Discussed in Thread: CONTROLSUITE

Hi,

I want to develop serial boot loader for TMS320F28069 controller.

As per datasheet, for SCI boot loader mode - it is recommended to use SCITXDA & SCIRXDA. But, in my circuit these pins are already used for different pin functionality.

So, can we develop boot loader in SCI mode using SCITXDB/GPIO58 & SCIRXDB/GPIO15 pins - UART Module B?

Also requesting you to share the reference code for UART mode boot loader development?

  • Vishal,


    Yes, you can develop custom bootloader which uses SCI-B. You can use SCI_Boot.c file available in controlSuite as your reference.

    Path: <controlSUITE>\libs\utilities\boot_rom\2806x\2806x_boot_rom_v1_1\source


    Regards,

    Manoj

  • Thank you Manoj.

    I have created a separate workspace and tried to build the code given in below path.
    Path: <controlSUITE>\libs\utilities\boot_rom\2806x\2806x_boot_rom_v1_1\source

    1] After first build compiler were giving few error related to boot.h,
    "../source/I2C_Boot.c", line 63: fatal error: cannot open source file "Boot.h"

    To resolve this issue, I included following paths in include options,
    "${workspace_loc:/${ProjName}/F2806x_headers/include}"
    "${workspace_loc:/${ProjName}/include}"


    2] After second build I was getting following error,
    "../lnk/TMS320x2806x_boot_rom_lnk.cmd", line 56: error: cannot find file
    "Flash2806x_API_V100.lib"

    To resolve this issue, I copied "Flash2806x_API_V100.lib" file from below path "C:\ti\controlSUITE\libs\utilities\flash_api\2806x\v100a\lib" into the project work space location

    Now I am not getting error, but following warnings are coming.


    **** Build of configuration Release for project 2806x_boot_rom ****
    remark: --buffer_diagnostics is deprecated and will be removed in a subsequent
    release. The default behavior is to line buffer diagnostics.
    warning: build attribute vendor section TI missing in
    "../Flash2806x_API_V100.lib<Flash28_ClearLoop.obj>": compatibility cannot be
    determined
    warning: build attribute vendor section TI missing in
    "../Flash2806x_API_V100.lib<Flash28_ClearSector.obj>": compatibility cannot
    be determined
    warning: build attribute vendor section TI missing in
    "../Flash2806x_API_V100.lib<Flash28_Compact_Pulse.obj>": compatibility
    cannot be determined
    warning: build attribute vendor section TI missing in
    "../Flash2806x_API_V100.lib<Flash28_CompactSector.obj>": compatibility
    cannot be determined
    warning: build attribute vendor section TI missing in
    "../Flash2806x_API_V100.lib<Flash28_Delay.obj>": compatibility cannot be
    determined
    warning: build attribute vendor section TI missing in
    "../Flash2806x_API_V100.lib<Flash28_DepCompactSector.obj>": compatibility
    cannot be determined
    warning: build attribute vendor section TI missing in
    "../Flash2806x_API_V100.lib<Flash28_DepRecover.obj>": compatibility cannot
    be determined
    warning: build attribute vendor section TI missing in
    "../Flash2806x_API_V100.lib<Flash28_DisInt.obj>": compatibility cannot be
    determined
    warning: build attribute vendor section TI missing in
    "../Flash2806x_API_V100.lib<Flash28_Erase.obj>": compatibility cannot be
    determined
    warning: build attribute vendor section TI missing in
    "../Flash2806x_API_V100.lib<Flash28_Erase_Pulse.obj>": compatibility cannot
    be determined
    warning: build attribute vendor section TI missing in
    "../Flash2806x_API_V100.lib<Flash28_EraseSector.obj>": compatibility cannot
    be determined
    warning: build attribute vendor section TI missing in
    "../Flash2806x_API_V100.lib<Flash28_Init.obj>": compatibility cannot be
    determined
    warning: build attribute vendor section TI missing in
    "../Flash2806x_API_V100.lib<Flash28_Internals.obj>": compatibility cannot be
    determined
    warning: build attribute vendor section TI missing in
    "../Flash2806x_API_V100.lib<Flash28_Prog.obj>": compatibility cannot be
    determined
    warning: build attribute vendor section TI missing in
    "../Flash2806x_API_V100.lib<Flash28_Prog_Pulse.obj>": compatibility cannot
    be determined
    warning: build attribute vendor section TI missing in
    "../Flash2806x_API_V100.lib<Flash28_ToggleTest.obj>": compatibility cannot
    be determined
    warning: build attribute vendor section TI missing in
    "../Flash2806x_API_V100.lib<Flash28_Utils.obj>": compatibility cannot be
    determined
    warning: build attribute vendor section TI missing in
    "../Flash2806x_API_V100.lib<Flash28_Verify.obj>": compatibility cannot be
    determined
    warning: build attribute vendor section TI missing in
    "../Flash2806x_API_V100.lib<Flash28_Version_Hex.obj>": compatibility cannot
    be determined
    'Finished building target: TMS320x2806x_boot_rom.out'
    ' '
    **** Build Finished ****

    [Query]
    1] Could you please let me know about how to resolve these warnings?

    2] When I tried to download the program into target hardware, I got following error.
    C28xx: Loader: One or more sections of your program falls into a memory region that is not writable. These regions will not actually be written to the target. Check your linker configuration and/or memory map.
    C28xx: File Loader: Verification failed: Values at address 0x3FF72C@Program do not match Please verify target memory and memory map.
    C28xx: GEL: File: C:\CPT Source Code\2806x_boot_rom\Release\TMS320x2806x_boot_rom.out: a data verification error occurred, file load failed.

    Requesting you to answer above queries.
  • Vishal,

    1) You can ignore this warning. This warning just tells that the library file was build using older code gen tools.

    2) Address 0x3FF72C belong to BOOTROM and not flash.

    Regards,

    Manoj