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.

[参考译文] LAUNCHXL-F280025C:引导加载程序

Guru**** 2465890 points
Other Parts Discussed in Thread: C2000WARE, LAUNCHXL-F280025C

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1010800/launchxl-f280025c-bootloader

器件型号:LAUNCHXL-F280025C
主题中讨论的其他器件:C2000WARE

是否有一个示例说明如何为 F280025器件实现引导加载程序以及如何使用新的应用程序代码和/或数据更新闪存?

此致、

Wilson

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Wilson、

    请查看以下内容:

    https://www.ti.com/lit/pdf/spruiu9 

    https://www.ti.com/lit/sprabv4 

    谢谢、此致、
    Vamsi

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Vamsi、

    SPRUIU9应用手册适用于具有至少两个闪存组的 MCU、因此它不适用于我们、因为我们使用的是 F280025C MCU。

    SPRABV4应用手册旨在将应用上传到 RAM 存储器中、这对我们来说是不可行的、因为此时24KB 的 RAM 不足以对我们的整个应用进行 HAST。

    SPRUIU9 确实提到了在具有单个闪存组的器件中使用实时固件更新是可行的、但并未提供有关如何执行此操作的任何详细信息。  您是否有一个示例说明如何在只有一个闪存组的设备中使用实时固件更新?

    此致、

    Wilson

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Wilson、

    是的、FU/LFU 也可以使用单个组。  闪存 API 将被复制到 RAM 以在单个组上执行闪存操作。  如果要执行 LFU、应将 FW 更新期间应运行的任何关键代码移至 RAM、以便在 FW 更新期间执行。   

    我们的 LFU 专家最近应类似请求帮助了一些客户。  我将把这分配给他以进一步帮助你。  他可以向您发送一个示例。

    谢谢、此致、
    Vamsi

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    谢谢 Vamsi。

    Wilson、我们有一个用于 F28002x 的 SCI 引导加载程序("SCI 闪存内核")。 它尚未在 C2000Ware 中发布。 我们有一个 MySecure 软件版本。 如果您告诉我要向您发送的工作电子邮件地址、我可以向您发送请求链接。 您可以在 e2e 中将我添加为朋友、并向我发送包含您的电子邮件信息的私人邮件。

    谢谢、

    Sira

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Sira、

    当我尝试编译 f28002x_sci_flash_kernel 工程时、我会遇到一些错误。

    以下是构建日志:

    **** Build of configuration BANK0_LDFU for project f28002x_sci_flash_kernel ****
    
    "C:\\ti\\ccs1031\\ccs\\utils\\bin\\gmake" -k -j 8 all -O 
     
    Building file: "../SCI_Boot_f28002x.c"
    Invoking: C2000 Compiler
    "C:/ti/ccs1031/ccs/tools/compiler/ti-cgt-c2000_20.2.4.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla2 --float_support=fpu32 --idiv_support=idiv0 --tmu_support=tmu0 --vcu_support=vcu0 -Ooff --include_path="C:/Users/WilsonMartinez/Documents/C2000-F28002X-SINGLEBANK-LFU/f28002x_sci_flash_kernel" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f28002x/common/include" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f28002x/common/source" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f28002x/headers/include" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/driverlib/f28002x/driverlib" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/driverlib/f28002x/driverlib/inc" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/driverlib/f28002x/examples/flash" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/libraries/boot_rom/f28002x/rev0/rom_sources/F28002x_ROM/bootROM/include" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/libraries/flash_api/f28002x/include/FlashAPI" --include_path="C:/ti/ccs1031/ccs/tools/compiler/ti-cgt-c2000_20.2.4.LTS/include" --define=checksum_enable --define=_DUAL_HEADERS --define=_FLASH --define=LIVE_UPDATE --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="SCI_Boot_f28002x.d_raw"  "../SCI_Boot_f28002x.c"
    Finished building: "../SCI_Boot_f28002x.c"
     
    Building file: "../f28002x_sci_flash_kernel.c"
    Invoking: C2000 Compiler
    "C:/ti/ccs1031/ccs/tools/compiler/ti-cgt-c2000_20.2.4.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla2 --float_support=fpu32 --idiv_support=idiv0 --tmu_support=tmu0 --vcu_support=vcu0 -Ooff --include_path="C:/Users/WilsonMartinez/Documents/C2000-F28002X-SINGLEBANK-LFU/f28002x_sci_flash_kernel" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f28002x/common/include" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f28002x/common/source" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f28002x/headers/include" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/driverlib/f28002x/driverlib" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/driverlib/f28002x/driverlib/inc" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/driverlib/f28002x/examples/flash" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/libraries/boot_rom/f28002x/rev0/rom_sources/F28002x_ROM/bootROM/include" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/libraries/flash_api/f28002x/include/FlashAPI" --include_path="C:/ti/ccs1031/ccs/tools/compiler/ti-cgt-c2000_20.2.4.LTS/include" --define=checksum_enable --define=_DUAL_HEADERS --define=_FLASH --define=LIVE_UPDATE --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="f28002x_sci_flash_kernel.d_raw"  "../f28002x_sci_flash_kernel.c"
    Finished building: "../f28002x_sci_flash_kernel.c"
     
    Building file: "../SCI_GetFunction_f28002x.c"
    Invoking: C2000 Compiler
    "C:/ti/ccs1031/ccs/tools/compiler/ti-cgt-c2000_20.2.4.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla2 --float_support=fpu32 --idiv_support=idiv0 --tmu_support=tmu0 --vcu_support=vcu0 -Ooff --include_path="C:/Users/WilsonMartinez/Documents/C2000-F28002X-SINGLEBANK-LFU/f28002x_sci_flash_kernel" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f28002x/common/include" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f28002x/common/source" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f28002x/headers/include" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/driverlib/f28002x/driverlib" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/driverlib/f28002x/driverlib/inc" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/driverlib/f28002x/examples/flash" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/libraries/boot_rom/f28002x/rev0/rom_sources/F28002x_ROM/bootROM/include" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/libraries/flash_api/f28002x/include/FlashAPI" --include_path="C:/ti/ccs1031/ccs/tools/compiler/ti-cgt-c2000_20.2.4.LTS/include" --define=checksum_enable --define=_DUAL_HEADERS --define=_FLASH --define=LIVE_UPDATE --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="SCI_GetFunction_f28002x.d_raw"  "../SCI_GetFunction_f28002x.c"
    Finished building: "../SCI_GetFunction_f28002x.c"
     
    Building file: "../f28002x_lfu_singlebank.c"
    Invoking: C2000 Compiler
    "C:/ti/ccs1031/ccs/tools/compiler/ti-cgt-c2000_20.2.4.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla2 --float_support=fpu32 --idiv_support=idiv0 --tmu_support=tmu0 --vcu_support=vcu0 -Ooff --include_path="C:/Users/WilsonMartinez/Documents/C2000-F28002X-SINGLEBANK-LFU/f28002x_sci_flash_kernel" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f28002x/common/include" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f28002x/common/source" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f28002x/headers/include" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/driverlib/f28002x/driverlib" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/driverlib/f28002x/driverlib/inc" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/driverlib/f28002x/examples/flash" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/libraries/boot_rom/f28002x/rev0/rom_sources/F28002x_ROM/bootROM/include" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/libraries/flash_api/f28002x/include/FlashAPI" --include_path="C:/ti/ccs1031/ccs/tools/compiler/ti-cgt-c2000_20.2.4.LTS/include" --define=checksum_enable --define=_DUAL_HEADERS --define=_FLASH --define=LIVE_UPDATE --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="f28002x_lfu_singlebank.d_raw"  "../f28002x_lfu_singlebank.c"
    Finished building: "../f28002x_lfu_singlebank.c"
     
    Building file: "../f28002x_sysctrl.c"
    Invoking: C2000 Compiler
    "C:/ti/ccs1031/ccs/tools/compiler/ti-cgt-c2000_20.2.4.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla2 --float_support=fpu32 --idiv_support=idiv0 --tmu_support=tmu0 --vcu_support=vcu0 -Ooff --include_path="C:/Users/WilsonMartinez/Documents/C2000-F28002X-SINGLEBANK-LFU/f28002x_sci_flash_kernel" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f28002x/common/include" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f28002x/common/source" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f28002x/headers/include" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/driverlib/f28002x/driverlib" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/driverlib/f28002x/driverlib/inc" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/driverlib/f28002x/examples/flash" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/libraries/boot_rom/f28002x/rev0/rom_sources/F28002x_ROM/bootROM/include" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/libraries/flash_api/f28002x/include/FlashAPI" --include_path="C:/ti/ccs1031/ccs/tools/compiler/ti-cgt-c2000_20.2.4.LTS/include" --define=checksum_enable --define=_DUAL_HEADERS --define=_FLASH --define=LIVE_UPDATE --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="f28002x_sysctrl.d_raw"  "../f28002x_sysctrl.c"
    "../f28002x_sysctrl.c", line 792 (col. 33): advice #2615-D: (Performance) Use --fp_mode=relaxed to enable TMU hardware support for FP division.
    Finished building: "../f28002x_sysctrl.c"
     
    Building target: "f28002x_sci_flash_kernel.out"
    Invoking: C2000 Linker
    "C:/ti/ccs1031/ccs/tools/compiler/ti-cgt-c2000_20.2.4.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla2 --float_support=fpu32 --idiv_support=idiv0 --tmu_support=tmu0 --vcu_support=vcu0 -Ooff --define=checksum_enable --define=_DUAL_HEADERS --define=_FLASH --define=LIVE_UPDATE --define=CPU1 --diag_suppress=10063 --diag_warning=225 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi -z -m"f28002x_sci_flash_kernel.map" --stack_size=0x100 --warn_sections -i"C:/ti/ccs1031/ccs/tools/compiler/ti-cgt-c2000_20.2.4.LTS/lib" -i"C:/ti/c2000/C2000Ware_3_03_00_00/libraries/flash_api/f28002x/lib" -i"C:/ti/ccs1031/ccs/tools/compiler/ti-cgt-c2000_20.2.4.LTS/include" --reread_libs --diag_wrap=off --display_error_number --xml_link_info="f28002x_sci_flash_kernel_linkInfo.xml" --entry_point=bankSelect --rom_model -o "f28002x_sci_flash_kernel.out" "./SCI_Boot_f28002x.obj" "./SCI_GetFunction_f28002x.obj" "./f28002x_lfu_singlebank.obj" "./f28002x_sci_flash_kernel.obj" "./f28002x_sysctrl.obj" "../28002x_lfu_flash_kernel_lnk.cmd"  -llibc.a 
    <Linking>
    "../28002x_lfu_flash_kernel_lnk.cmd", line 83: error #10008-D: cannot find file "FlashAPI_F28002x_FPU32.lib"
    "../28002x_lfu_flash_kernel_lnk.cmd", line 82: warning #10068-D: no matching section
     
     undefined                         first referenced              
      symbol                               in file                   
     ---------                         ----------------              
     Device_init                       ./f28002x_lfu_singlebank.obj  
     Fapi_checkFsmForReady             ./f28002x_lfu_singlebank.obj  
     Fapi_doBlankCheck                 ./f28002x_lfu_singlebank.obj  
     Fapi_doVerify                     ./f28002x_lfu_singlebank.obj  
     Fapi_getFsmStatus                 ./f28002x_lfu_singlebank.obj  
     Fapi_initializeAPI                ./f28002x_sci_flash_kernel.obj
     Fapi_issueAsyncCommandWithAddress ./f28002x_lfu_singlebank.obj  
     Fapi_issueProgrammingCommand      ./f28002x_lfu_singlebank.obj  
     Fapi_setActiveFlashBank           ./f28002x_sci_flash_kernel.obj
     GPIO_setPadConfig                 ./SCI_GetFunction_f28002x.obj 
     GPIO_setPinConfig                 ./SCI_GetFunction_f28002x.obj 
     GPIO_setQualificationMode         ./SCI_GetFunction_f28002x.obj 
     Interrupt_initModule              ./f28002x_lfu_singlebank.obj  
     Interrupt_initVectorTable         ./f28002x_lfu_singlebank.obj  
     SCI_setConfig                     ./SCI_GetFunction_f28002x.obj 
     
    error #10234-D: unresolved symbols remain
    error #10010: errors encountered during linking; "f28002x_sci_flash_kernel.out" not built
     
    >> Compilation failure
    makefile:145: recipe for target 'f28002x_sci_flash_kernel.out' failed
    gmake[1]: *** [f28002x_sci_flash_kernel.out] Error 1
    gmake[1]: Target 'secondary-outputs' not remade because of errors.
    makefile:141: recipe for target 'all' failed
    gmake: *** [all] Error 2
    
    **** Build Finished ****

    这里是更具体的

    以下是编译配置:

    f28002x_lfu_singlebank 项目正在进行编译、没有任何问题。

    您是否知道导致这些错误的原因?

    此致、

    Wilson

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Wilson、

    f28002x_sci_flash_kernel.projectspec 具有 C2000Ware 的硬编码路径:

    请将其更改为适用于您的系统的路径。 这将修复构建错误。

    谢谢、

    Sira

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Sira、

    我执行了您所说的操作、但仍然有一些错误:

    **** Build of configuration BANK0_LDFU for project f28002x_sci_flash_kernel ****
    
    "C:\\ti\\ccs1031\\ccs\\utils\\bin\\gmake" -k -j 8 all -O 
     
    Building target: "f28002x_sci_flash_kernel.out"
    Invoking: C2000 Linker
    "C:/ti/ccs1031/ccs/tools/compiler/ti-cgt-c2000_20.2.4.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla2 --float_support=fpu32 --idiv_support=idiv0 --tmu_support=tmu0 --vcu_support=vcu0 -Ooff --define=checksum_enable --define=_DUAL_HEADERS --define=_FLASH --define=LIVE_UPDATE --define=CPU1 --diag_suppress=10063 --diag_warning=225 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi -z -m"f28002x_sci_flash_kernel.map" --stack_size=0x100 --warn_sections -i"C:/ti/ccs1031/ccs/tools/compiler/ti-cgt-c2000_20.2.4.LTS/lib" -i"C:/ti/c2000/C2000Ware_3_03_00_00/libraries/flash_api/f28002x/lib" -i"C:/ti/ccs1031/ccs/tools/compiler/ti-cgt-c2000_20.2.4.LTS/include" --reread_libs --diag_wrap=off --display_error_number --xml_link_info="f28002x_sci_flash_kernel_linkInfo.xml" --entry_point=bankSelect --rom_model -o "f28002x_sci_flash_kernel.out" "./SCI_Boot_f28002x.obj" "./SCI_GetFunction_f28002x.obj" "./f28002x_lfu_singlebank.obj" "./f28002x_sci_flash_kernel.obj" "./f28002x_sysctrl.obj" "../28002x_lfu_flash_kernel_lnk.cmd" "C:/ti/c2000/C2000Ware_3_04_00_00/libraries/flash_api/f28002x/lib/FlashAPI_F28002x_FPU32.lib"  -llibc.a 
    <Linking>
    "../28002x_lfu_flash_kernel_lnk.cmd", line 83: error #10008-D: cannot find file "FlashAPI_F28002x_FPU32.lib"
     
     undefined                 first referenced             
      symbol                       in file                  
     ---------                 ----------------             
     Device_init               ./f28002x_lfu_singlebank.obj 
     GPIO_setPadConfig         ./SCI_GetFunction_f28002x.obj
     GPIO_setPinConfig         ./SCI_GetFunction_f28002x.obj
     GPIO_setQualificationMode ./SCI_GetFunction_f28002x.obj
     Interrupt_initModule      ./f28002x_lfu_singlebank.obj 
     Interrupt_initVectorTable ./f28002x_lfu_singlebank.obj 
     SCI_setConfig             ./SCI_GetFunction_f28002x.obj
     
    error #10234-D: unresolved symbols remain
    error #10010: errors encountered during linking; "f28002x_sci_flash_kernel.out" not built
     
    >> Compilation failure
    makefile:146: recipe for target 'f28002x_sci_flash_kernel.out' failed
    gmake[1]: *** [f28002x_sci_flash_kernel.out] Error 1
    gmake[1]: Target 'secondary-outputs' not remade because of errors.
    makefile:142: recipe for target 'all' failed
    gmake: *** [all] Error 2
    
    **** Build Finished ****
    

    你认为我还缺少什么?

    谢谢、

    Wilson

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Wilson、

    这个项目和构建配置在我的系统上构建良好。 它仍在抱怨 无法在您的构建中找到 FlashAPI_F28002x_FPU32.lib。 您能否检查您的 C2000Ware 安装并查看此文件是否在预期位置?

    您使用的是哪个版本的 C2000Ware?

    谢谢、

    Sira

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Sira、

    正如您在其中一个屏幕截图中看到的、我将在项目中直接包含 FlashAPI_F28002x_FPU32.lib。

    我的笔记本电脑上的 C2000Ware 版本是 C2000Ware_3_04_00_00。

    谢谢、

    Wilson

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Wilson、

    我将在明天更详细地探讨这一点、但同时、您可以尝试使用 c2000ware v3.03安装、看看是否出现同样的问题。

    c2000ware 中存在闪存 API 库、因此您不必显式复制它。 这里必须存在一些尚未明显的差异。 当您使用 projectspec 在 CCS 中导入工程时、它将被复制到工作区中、对吧?  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Sira、

    是的、项目将被复制到工作区中。

    以下是 projectspec 文件:

    <projectSpec>
      <project
        name="f28002x_sci_flash_kernel"
        device = "TMS320F280025C"
        cgtVersion= "20.2.1.LTS"
        enableHexTool="True"
        linkerCommandFile=""
        postBuildStep=""${CG_TOOL_HEX}" "${BuildArtifactFileName}" -boot -sci8 -a -o "${BuildArtifactFileBaseName}.txt""
        >
    	<pathVariable name="C2000WARE_PATH" path="C:\ti\c2000\C2000Ware_3_04_00_00" scope="project" />
        <configuration name="CPU_RAM" compilerBuildOptions="
            --opt_level=off 
            -I${C2000WARE_PATH}/device_support/f28002x/common/include
            -I${C2000WARE_PATH}/device_support/f28002x/common/source
            -I${C2000WARE_PATH}/device_support/f28002x/headers/include
            -I${C2000WARE_PATH}/driverlib/f28002x/driverlib
            -I${C2000WARE_PATH}/driverlib/f28002x/driverlib/inc
            -I${C2000WARE_PATH}/driverlib/f28002x/examples/flash
            -I${C2000WARE_PATH}/libraries/boot_rom/f28002x/rev0/rom_sources/F28002x_ROM/bootROM/include
            -I${C2000WARE_PATH}/libraries/flash_api/f28002x/include/FlashAPI
            -v28 
            -ml 
            -mt 
            --define=checksum_enable
            --define=_DUAL_HEADERS
            --cla_support=cla2 
            --float_support=fpu32 
            --tmu_support=tmu0 
            --vcu_support=vcu0 
            --define=CPU1  
            --diag_warning=225  
            --diag_suppress=10063 
            --display_error_number" 
          linkerBuildOptions="--entry_point code_start --stack_size=0x100" 
          hexBuildOptions="--boot --sci8 --ascii --outfile=${BuildArtifactFileBaseName}.txt" />
    	<configuration name="BANK0_LDFU" compilerBuildOptions="
            --opt_level=off 
            -I${C2000WARE_PATH}/device_support/f28002x/common/include
            -I${C2000WARE_PATH}/device_support/f28002x/common/source
            -I${C2000WARE_PATH}/device_support/f28002x/headers/include
            -I${C2000WARE_PATH}/driverlib/f28002x/driverlib
            -I${C2000WARE_PATH}/driverlib/f28002x/driverlib/inc
            -I${C2000WARE_PATH}/driverlib/f28002x/examples/flash
            -I${C2000WARE_PATH}/libraries/boot_rom/f28002x/rev0/rom_sources/F28002x_ROM/bootROM/include
            -I${C2000WARE_PATH}/libraries/flash_api/f28002x/include/FlashAPI
            -v28 
            -ml 
            -mt 
            --define=checksum_enable
            --define=_DUAL_HEADERS
    		--define=_FLASH 
    		--define=LIVE_UPDATE
            --cla_support=cla2 
            --float_support=fpu32 
            --tmu_support=tmu0 
            --vcu_support=vcu0 
            --define=CPU1  
            --diag_warning=225  
            --diag_suppress=10063 
            --display_error_number" 
          linkerBuildOptions="-I${C2000WARE_PATH}/libraries/flash_api/f28002x/lib --entry_point bankSelect --stack_size=0x100" 
          hexBuildOptions="--boot --sci8 --ascii --outfile=${BuildArtifactFileBaseName}.txt" />  
        <file action="copy" path="C2000WARE_PATH/driverlib/f28002x/driverlib/dcsm.c"/>
        <file action="copy" path="C2000WARE_PATH/driverlib/f28002x/driverlib/gpio.c"/>
    	<file action="copy" path="C2000WARE_PATH/driverlib/f28002x/driverlib/flash.c" applicableConfigurations="BANK0_LDFU"/>
        <file action="copy" path="C2000WARE_PATH/driverlib/f28002x/driverlib/interrupt.c"/>
        <file action="copy" path="C2000WARE_PATH/driverlib/f28002x/driverlib/memcfg.c"/>
        <file action="copy" path="C2000WARE_PATH/driverlib/f28002x/driverlib/sci.c"/>
        <file action="copy" path="C2000WARE_PATH/driverlib/f28002x/driverlib/sysctl.c"/>
        <file action="copy" path="C2000WARE_PATH/driverlib/f28002x/driverlib/sysctl.h"/>
        <file action="copy" path="C2000WARE_PATH/driverlib/f28002x/driverlib/inc/hw_sysctl.h"/>
        <file action="copy" path="C2000WARE_PATH/device_support/f28002x/common/source/device.c"/>
        <file action="copy" path="C2000WARE_PATH/device_support/f28002x/common/source/f28002x_defaultisr.c"/>
        <file action="copy" path="C2000WARE_PATH/device_support/f28002x/common/source/f28002x_gpio.c"/>
        <file action="copy" path="C2000WARE_PATH/device_support/f28002x/common/source/f28002x_piectrl.c"/>
        <file action="copy" path="C2000WARE_PATH/device_support/f28002x/common/source/f28002x_pievect.c"/>
        <file action="copy" path="C2000WARE_PATH/device_support/f28002x/common/source/f28002x_usdelay.asm"/>
        <file action="copy" path="C2000WARE_PATH/device_support/f28002x/common/include/f28x_project.h"/>
        <file action="copy" path="C2000WARE_PATH/device_support/f28002x/common/targetConfigs/TMS320F280025C.ccxml" targetDirectory ="targetConfigs"/>
        <file action="copy" path="C2000WARE_PATH/device_support/f28002x/headers/cmd/f28002x_headers_nonbios.cmd"/>
        <file action="copy" path="C2000WARE_PATH/device_support/f28002x/headers/source/f28002x_globalvariabledefs.c"/>
        <file action="copy" path="C2000WARE_PATH/libraries/flash_api/f28002x/lib/FlashAPI_F28002x_FPU32.lib"/>
        <file action="copy" path="C2000WARE_PATH/libraries/boot_rom/f28002x/rev0/rom_symbol_libs/bootROM/F28002xCPU1_BootROM_Symbols_fpu32.lib"/>
        <file action="copy" path = "../28002x_generic_ram_lnk.cmd" applicableConfigurations="CPU_RAM"/>
    	<file action="copy" path = "../28002x_lfu_flash_kernel_lnk.cmd" applicableConfigurations="BANK0_LDFU"/>
        <file action="copy" path = "../f28002x_codestartbranch.asm" applicableConfigurations="CPU_RAM"/>
        <file action="copy" path = "../f28002x_sci_flash_kernel.c"/>
        <file action="copy" path = "../f28002x_sysctrl.c"/>
        <file action="copy" path = "../f28002x_sysctrl.h"/>
        <file action="copy" path = "../f28002x_device.h"/>
        <file action="copy" path = "../SCI_Boot_f28002x.c"/>
        <file action="copy" path = "../SCI_GetFunction_f28002x.c"/>
        <file action="copy" path = "../Shared_Boot_f28002x.c" applicableConfigurations="CPU_RAM"/>
        <file action="copy" path = "../Shared_Erase_f28002x.c" applicableConfigurations="CPU_RAM"/>
        <file action="copy" path = "../Shared_Erase_f28002x.h"/>
        <file action="copy" path = "../Shared_Verify_f28002x.c" applicableConfigurations="CPU_RAM"/>
        <file action="copy" path = "../Shared_Verify_f28002x.h"/>
    	<file action="copy" path = "../f28002x_lfu_singlebank.c" applicableConfigurations="BANK0_LDFU"/>
        <file action="copy" path = "../f28002x_lfu_singlebank.h"/>
    	<file action="copy" path = "../flashapi_defines.h"/>
      </project>
    </projectSpec>

    此致、

    Wilson

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Wilson、

    我尝试切换到 C2000Ware v3.04、即使这样也能正常工作。

    您能否如下图所示检查项目的链接资源?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    SIA、

    这完全不同、但我不知道如何解决。

    可以帮帮我吗?

    此致

    Wilson

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Wilson、

    您是否从 TIREX 安装 C2000ware? 如果是,您可以尝试独立的 Web 安装吗?

    您的 CCS 版本为10.3、其中我的版本为10.2。 我不明白为什么这会导致问题。

    此时,我基本上没有想法。 您是否尝试过干净的构建? 只需从头开始-使用下载的 MSS。 对 C2000ware 路径的 projectspec 进行更改、然后导入并生成。  

    谢谢

    Sira

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Sira、

    这是我尝试清理编译时遇到的第一个错误。

    我知道路径不同、但我正在尝试记录每个错误。

    修复路径目录后、我收到以下错误:

    Building target: "f28002x_sci_flash_kernel.out"
    Invoking: C2000 Linker
    "C:/ti/ccs1031/ccs/tools/compiler/ti-cgt-c2000_20.2.4.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla2 --float_support=fpu32 --idiv_support=idiv0 --tmu_support=tmu0 --vcu_support=vcu0 -Ooff --define=checksum_enable --define=_DUAL_HEADERS --define=_FLASH --define=LIVE_UPDATE --define=CPU1 --diag_suppress=10063 --diag_warning=225 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi -z -m"f28002x_sci_flash_kernel.map" --stack_size=0x100 --warn_sections -i"C:/ti/ccs1031/ccs/tools/compiler/ti-cgt-c2000_20.2.4.LTS/lib" -i"C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f28002x/common/flashapi/lib" -i"C:/ti/c2000/C2000Ware_3_04_00_00/libraries/flash_api/f28002x/lib" -i"C:/ti/ccs1031/ccs/tools/compiler/ti-cgt-c2000_20.2.4.LTS/include" --reread_libs --diag_wrap=off --display_error_number --xml_link_info="f28002x_sci_flash_kernel_linkInfo.xml" --entry_point=bankSelect --rom_model -o "f28002x_sci_flash_kernel.out" "./SCI_Boot_f28002x.obj" "./SCI_GetFunction_f28002x.obj" "./f28002x_lfu_singlebank.obj" "./f28002x_sci_flash_kernel.obj" "./f28002x_sysctrl.obj" "../28002x_lfu_flash_kernel_lnk.cmd"  -llibc.a 
    <Linking>
     
     undefined                 first referenced             
      symbol                       in file                  
     ---------                 ----------------             
     Device_init               ./f28002x_lfu_singlebank.obj 
     GPIO_setPadConfig         ./SCI_GetFunction_f28002x.obj
     GPIO_setPinConfig         ./SCI_GetFunction_f28002x.obj
     GPIO_setQualificationMode ./SCI_GetFunction_f28002x.obj
     Interrupt_initModule      ./f28002x_lfu_singlebank.obj 
     Interrupt_initVectorTable ./f28002x_lfu_singlebank.obj 
     SCI_setConfig             ./SCI_GetFunction_f28002x.obj
     
    error #10234-D: unresolved symbols remain
    error #10010: errors encountered during linking; "f28002x_sci_flash_kernel.out" not built
     
    >> Compilation failure
    makefile:145: recipe for target 'f28002x_sci_flash_kernel.out' failed
    gmake[1]: *** [f28002x_sci_flash_kernel.out] Error 1
    gmake[1]: Target 'secondary-outputs' not remade because of errors.
    makefile:141: recipe for target 'all' failed
    gmake: *** [all] Error 2
    
    **** Build Finished ****

    这就是我的项目浏览器的外观。

    因此、我不知道还需要做什么来修复它。

    此致、

    Wilson

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Wilson、

    我无法理解它是如何或为什么在您的第一张图片中生成这些未找到的文件错误的。

    为什么路径在 C:/ti/...?之前有一个"file:"

    谢谢、

    Sira

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Sira、

    我不确定。 当我尝试将项目导入工作区时、会发生这种情况。

    此致、

    Wilson

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    此时、我不知道自己的想法。

    C2000Ware 是从 Web 还是从 TIREX 进行安装?

    谢谢、

    Sira

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Sira、

    它来自网络。 我如何从 TIREX 获取这款产品?

    谢谢、

    Wilson

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Wilson、

    我还使用来自网络的那个。 没有区别。

    谢谢、

    Sira

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Sira、

    我不知道为什么有一些文件落在链接中。 我添加了文件的 device.c、flash.c、gpio.c、sci。 c 和 sysctl.c、修复了未解析符号生成的大多数错误。 我必须在文件 f28002x_sysctrl.c 中添加以下行:

    volatile struct flash_CTRL_regs Flash0CtrlRegs;
    volatile struct flash_ecc_regs Flash0EccRegs;

    函数 InitFlash()使用这些结构,但如果没有此结构定义,我遇到了未解决的符号问题。

    现在、我尝试在 LAUNCHXL-F280025C 中测试引导加载程序、但它不工作。

    您是否在 LAUNCHXL-F280025C 中对其进行了测试?

    此致、

    Wilson

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Wilson、

    我不知道为什么你要做这些修改。 如果您和我具有相同的 C2000Ware 版本(从 Web 获取的 v3.04或 v3.03)、以及用于 F28002x SCI 闪存内核的相同 MSS、则您的构建应与我的构建相同。

    出于完整性考虑、您能告诉我您使用的编译器是什么吗?

    那么、您终于能够构建 SCI 闪存内核了吗?

    SCI 闪存内核仅在 controlCARD 上进行测试、而不是在 Launchpad 上进行测试。 您看到了哪些错误?

    谢谢、

    Sira

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Sira、

    编译器为 TI v21.6.0.LTS。

    是的。 SCI 闪存内核构建无错误。

    我在 Launchpad 中没有收到错误、但我不确定命令 serial_flash_programr_appln.exe -d f28002x -k f28002x_sci_flash_kernel.txt -a f28002x_lfu_singlebankBANK0FLASH.txt -b 9600 -p COMx 是否正在执行某项操作。 我没有找到菜单选项。

    谢谢、

    Wilson

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Wilson、

    为了完全清楚、在上面的命令中、我假设您使用的是正确的 COM 端口号、而不是 COMx。 尽管我想如果您这样做、它会给您一条消息、说您需要输入正确的 COM 端口号。

    您是否正在执行 MSS 中的用户指南中详细介绍的步骤?

    您使用的是 SCI 闪存内核的哪种构建配置? BANK0_LDFU?

    谢谢、

    Sira

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Sira、

    我在命令中传递 COM 编号。 serial_flash_programr_appln.exe 是否应在将 Launchpad 插入笔记本电脑时识别它?

    程序员似乎没有刷写 Launchpad。

    我在 SCI 闪存内核中使用 BAN0_LDFU。

    谢谢、

    Wilson

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Wilson、

    它也应与 Launchpad 配合使用。 您是否使用 MSS 中的用户指南?

    在用户指南的步骤4之后、您是否检查了闪存内容、以查看应该存在闪存内核的部分是否确实被写入(完整性检查)?

    谢谢、

    Sira

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Sira、

    是的、我遵循指南。

    结果是:

    此致、

    Wilson

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Wilson、

    好的、它看起来像扇区0和1被写入、这很好。

    我已要求一位同事(我目前是远程人员、因此我无法访问)使用 LP 测试闪存内核。 她已经订购了这款产品、并且应该能够在几天内订购。 我不知道在这一点上我还能提供什么帮助。 我假设您无法访问 F28002x controlCARD。

    谢谢、

    Sira

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Sira、

    我所拥有的就是 LaunchPad-F280025C。 我将等待了解她如何使用 Launchpad。

    谢谢、

    Wilson

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    谢谢 Wilson、感谢您的耐心。

    Sira

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Wilson、

    Anu 建议这对 LP 也很有效。

    Anu、您能帮助 Wilson 吗?

    谢谢、

    Sira

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Wilson、  

    将闪存内核项目加载到 CCS 后、如果单击"Run"、然后单击"Suspend"、您的调用堆栈会是什么样的? 您是否在 SCI_AutobaudLock 函数中?  

    调用堆栈应如下所示:

    谢谢、  
    Anu

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Anu、

    感谢您与我一起探索这一探索之旅。 是的、我在 SCI_AutobaudLock 函数中。

    当我将 Launchpad 插入笔记本电脑时、我有两个不同的 COM。 我已经尝试过这两种方法、但我在 LP 方面没有成功。

    我确实遵循了 Sira 与我分享的指南、但这对我来说不是一个简单的编译、我必须做一些修改才能编译项目。 很抱歉、您打扰了您、但您能否指导我逐步完成您为使该项目正常工作所遵循的流程?

    此致、

    Wilson

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Wilson、  

    很高兴您使用的是 SCI_AutobaudLock 函数、cmd 窗口上的输出使我怀疑串行闪存编程器正在 launchpad 上等待自动波特锁。 LaunchPad 需要首先运行项目、然后才会启动串行闪存编程器可执行文件。  

    为了使项目在 launchpad 上运行、我执行了以下操作:

    1.从 MySecureSoftware 下载中将项目导入 CCS。 可能需要根据您安装软件包的位置修改 C2000Ware 路径。 C2000Ware 中所需的文件应自动拉到工程中。

    2.使用 BANK0_LDFU 配置编译闪存内核工程、使用 BANK0_FLASH 配置编译 LFU 工程。

    3.将 CCS 项目中生成的 txt 文件移动到串行闪存编程人员可以访问它们的位置-在指南中、建议将这些文件直接移动到 serial_flash_programmer 文件夹、 我成功地为 serial_flash_programmer 所需的-k 和-a 参数提供了文件的绝对路径。

    默认情况下、Launchpad 应处于闪存启动模式、如果未通过将 GPIO24和 GPIO32同时设置为"1"将 Launchpad 设置为闪存启动模式。 launchpad 上有一个带有开关的小黑盒、下方有"Boot"字样、这些是引导模式选择引脚。  

    5.将 Launchpad 连接到笔记本电脑,并在 CCS 中启动 LaunchPad 的目标配置。 LED_ex1_blinky 项目具有用于 Launchpad 的目标配置文件、我将其用于该项目。  

    6.转到"Load Program"并将闪存内核项目加载到闪存中。 单击"运行"。 此时、闪存内核将以自动波特率锁定方式等待 serial_flash_programmer 可执行文件。

    7.转到 serial_flash_programmer 文件夹并按照用户指南中的指定输入命令。 此时将显示菜单、您可以继续执行用户指南中的其余说明。  

    您可以尝试在 C2000Ware 中使用 LED_ex1_blinky 工程中的目标配置文件、看看这是否会产生影响。 C2000Ware 中示例的路径为 driverlib\f28002x\examples\led。  

    谢谢、  

    Anu

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    需要注意的另一点是-使用的 COM 端口应为 Class Application/User UART 端口。  

    谢谢、  

    Anu

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    @Anu Biradar &@Sira Rao80。 我还不知道引导加载程序(C2000-F28002X-SINGLEBANK-LFU)为什么不工作。 我们确实需要这样做才能完成到 TI MCU 的端口。 我知道我问的太多了、但您是否可以逐步制作一个视频、介绍如何设置项目并使其从零开始工作。 我遵循了该指南、但无法使其正常工作。

    此致、Wilson

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Wilson、

    让我和 Anu 讨论一下、然后返回给您。 其他用户尚未报告您报告的问题。 在过去几个月中、许多用户(20多名)申请并访问了此软件。  

    谢谢、

    Sira