主题中讨论的其他器件:C2000WARE、
是否有一个示例说明如何为 F280025器件实现引导加载程序以及如何使用新的应用程序代码和/或数据更新闪存?
此致、
Wilson
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.
是否有一个示例说明如何为 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
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
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
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、
您是否从 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
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
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