TI E2E™ 设计支持论坛将于 5 月 30 日至 6 月 1 日进行维护。如果您在此期间需要技术支持,请联系 TI 的客户支持中心寻求帮助。

该讨论已被锁定。
您不能再向该讨论中发布新回复。如果您有问题可以开始新讨论

[参考译文] TMS320F28388D:SysConfig cmd 模块问题?

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1316032/tms320f28388d-sysconfig-cmd-module-issue

器件型号:TMS320F28388D
主题中讨论的其他器件:SysConfig

您好!

我在使用默认 cmd 文件时遇到问题、并开始修改 SysConfig 中的 cmd 模块。

首先,我有一个奇怪的警告: CMD 模块说必须启用...  

其次、链接失败。 好像找不到 SysConfig 生成的 cmd 文件。  

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
"C:/TI/CCS/CCS12.50/ccs/tools/compiler/ti-cgt-c2000_22.6.1.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla2 --float_support=fpu64 --idiv_support=idiv0 --tmu_support=tmu0 --vcu_support=vcrc -Ooff --fp_mode=relaxed --advice:performance=all --define=_FLASH --define=DEBUG --define=CPU1 --diag_suppress=10063 --diag_warning=225 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi -z -m"2205_ctc_chrg7k_sw_cpu1.map" --heap_size=0x200 --stack_size=0x3F8 --warn_sections -i"C:/TI/CCS/CCS12.50/ccs/tools/compiler/ti-cgt-c2000_22.6.1.LTS/lib" -i"C:/TI/CCS/CCS12.50/ccs/tools/compiler/ti-cgt-c2000_22.6.1.LTS/include" --reread_libs --diag_wrap=off --display_error_number --xml_link_info="2205_ctc_chrg7k_sw_cpu1_linkInfo.xml" --entry_point=code_start --rom_model -o "2205_ctc_chrg7k_sw_cpu1.out" "./syscfg/board.obj" "./syscfg/device_cmd.obj" "./syscfg/c2000ware_libraries.obj" "./device/F2838x_CodeStartBranch.obj" "./device/device.obj" "./sources/converter_io.obj" "./sources/init_cla_cpu1.obj" "./sources/main_cpu1.obj" "./sources/pll_pfc.obj" "./sources/regulation_pfc.obj" "./sources/supervision_cpu1.obj" "C:/TI/SDK/C2000Ware/C2000Ware_5_01_00_00/driverlib/f2838x/driverlib/ccs/Debug/driverlib.lib" "../sources/includes/SFO_v8_fpu_lib_build_c28_driverlib_eabi.lib" -l"syscfg/device_cmd.cmd" -llibc.a
<Linking>
warning #10461-D: Invalid to call C28 function "sqrtf" defined in "C:\TI\CCS\CCS12.50\ccs\tools\compiler\ti-cgt-c2000_22.6.1.LTS\lib\rts2800_fpu64_eabi.lib<e_sqrtf.c.obj>" from CLA file "./sources/regulation_pfc.obj"
warning #10247-D: creating output section ".text" without a SECTIONS specification
warning #10247-D: creating output section ".data" without a SECTIONS specification
warning #10247-D: creating output section ".bss" without a SECTIONS specification
warning #10247-D: creating output section ".cinit" without a SECTIONS specification
warning #10247-D: creating output section ".const" without a SECTIONS specification
warning #10247-D: creating output section "codestart" without a SECTIONS specification
warning #10247-D: creating output section "CpuToCla1MsgRAM" without a SECTIONS specification
warning #10247-D: creating output section ".bss_cla" without a SECTIONS specification
warning #10247-D: creating output section "Cla1Prog" without a SECTIONS specification
warning #10247-D: creating output section ".scratchpad" without a SECTIONS specification
warning #10247-D: creating output section ".const_cla" without a SECTIONS specification
error #10430-D: ".TI.ramfunc" section generated by __attribute__((ramfunc)) or --ramfunc=on requires a SECTIONS specification to function.
error #10010: errors encountered during linking; "2205_ctc_chrg7k_sw_cpu1.out" not built
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

提前感谢您的帮助、

此致、

阿德里安

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

    您可以单击"压缩"。 这样就解决了我的问题。

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

      您好!  

      您能否检查 device_cmd.cmd 文件是否由 SysConfig 生成?

        有关如何使用链接器命令工具、您可以参阅应用手册 www.ti.com/.../sprad49。

      此致

      西达尔特

      • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
        您可以单击"Suppress"。 这样就解决了我的问题。

        我当时的印象是,这只是"沉默"的警告,但它并不意味着问题已经消失了。 我错了吗?

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

          在我的案例中、问题消失了、代码工作正常。 我不知道你的情况,你能告诉我你的配置"MEMCFG"?

          • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
            您可以参阅应用手册 https://www.ti.com/lit/pdf/sprad49 了解如何使用链接器命令工具。

            谢谢。 这是我以前到达的位置。

            您能否检查 device_cmd.cmd 文件是否由 SysConfig 生成?

            确实如此。

            我还注意到预处理器宏 CMDTOOL 是未定义的,因此 CMD_INIT()函数在 Device_init()中没有被调用。 这可能也是一个问题。  

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

              您好!  

              您有哪些编译器选项?  请为您的项目共享编译日志控制台。

              必须向编译器指定"--cmd_file="syscfg/device_cmd.opt"选项、以使编译器定义 CMDTOOL 符号、

              此致

              西达尔特

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

                您好!

                必须向编译器指定"--cmd_file="syscfg/device_cmd.opt"选项,以定义 CMDTOOL symbo

                谢谢、它看起来是有效的(至少对于符号定义)。

                以下是控制台日志:

                Fullscreen
                1
                2
                3
                4
                5
                6
                7
                8
                9
                10
                11
                12
                13
                14
                15
                16
                17
                18
                19
                20
                21
                **** Build of configuration FLASH for project 2205_ctc_chrg7k_sw_cpu1 ****
                "C:\\TI\\CCS\\CCS12.50\\ccs\\utils\\bin\\gmake" -k -j 16 all -O
                Building file: "../2205_ctc_chrg7k_sw_cpu1.syscfg"
                Invoking: SysConfig
                "C:/TI/CCS/CCS12.50/ccs/utils/sysconfig_1.18.0/sysconfig_cli.bat" -s "C:/TI/SDK/C2000Ware/C2000Ware_5_01_00_00/.metadata/sdk.json" -d "F2838x" --script "C:/Users/a.thurin/Desktop/Projets logiciels/2205-CTC-CHRG7K-SW/2205_ctc_chrg7k_sw_cpu2/2205_ctc_chrg7k_sw_cpu2.syscfg" --context "CPU2" --script "C:/Users/a.thurin/Desktop/Projets logiciels/2205-CTC-CHRG7K-SW/2205_ctc_chrg7k_sw_cpu1/2205_ctc_chrg7k_sw_cpu1.syscfg" --context "CPU1" -o "syscfg" --compiler ccs
                Running script...
                Validating...
                warning: CPU2 CMD_FLASH(/utilities/cmd_tool/cmd_syscfg/source/CMD) sectionMemory_cpuToCla1MsgRAM: Memcfg module must be enabled for complete error checking.
                warning: CPU2 CMD_FLASH(/utilities/cmd_tool/cmd_syscfg/source/CMD) sectionMemory_bss: The memcfg module is needed on CPU1 to assign GSRAM to CPU2.
                warning: CPU2 CMD_FLASH(/utilities/cmd_tool/cmd_syscfg/source/CMD) sectionMemory_data: The memcfg module is needed on CPU1 to assign GSRAM to CPU2.
                warning: CPU2 CMD_FLASH(/utilities/cmd_tool/cmd_syscfg/source/CMD) sectionMemory_sysmem: The memcfg module is needed on CPU1 to assign GSRAM to CPU2.
                info: CPU1 CPUSELx(/driverlib/clocktree/mux.js) cpu_sel_mux: For enabling peripherals, use the CPU1 /driverlib/sysctl.js enable_SYSCTL_PERIPH_CLK_TIMER0
                info: CPU1 PERx_CPU1_SYSCLK_GATE(/driverlib/clocktree/unknown.js) cpu1_sysclk_gate: For enabling peripherals, use the CPU1 /driverlib/sysctl.js enable_SYSCTL_PERIPH_CLK_TIMER0
                info: CPU1 PERx_CPU2_SYSCLK_GATE(/driverlib/clocktree/unknown.js) cpu2_sysclk_gate: For enabling peripherals, use the CPU1 /driverlib/sysctl.js enable_SYSCTL_PERIPH_CLK_TIMER0
                info: CPU1 PWM_PFC(/driverlib/epwm.js) epwmTimebase_clockDiv: For perfectly synchronized TBCLKs across multiple EPWM modules, the prescaler bits in the TBCTL register of each EPWM module must be set identically
                info: CPU1 PWM_PFC(/driverlib/epwm.js) epwmActionQualifier_t1Source: T1/T2 selection and configuration of a trip/digital-compare event is indpendent of the configuration of that event in the Trip-Zone submodule
                info: CPU1 PWM_PFC(/driverlib/epwm.js) epwmActionQualifier_t2Source: T1/T2 selection and configuration of a trip/digital-compare event is indpendent of the configuration of that event in the Trip-Zone submodule
                info: CPU1 PWM_PFC(/driverlib/epwm.js) hrpwm_enable: MEP becomes operational: •Three EPWMCLK cycles after the period starts when high-resolution period (TBPRDHR) control is not enabled. • When high resolution period (TBPRDHR) control is enabled via the HRPCTL register – In up-count mode: three EPWMCLK cycles after the period starts until three EPWMCLK cycles before the period ends. – In up-down count mode: when counting up, three cycles after CTR = 0 until three cycles before CTR = PRD, and when counting down, three cycles after CTR = PRD until three cycles before CTR= 0.
                info: CPU1 PWM_TDC_1(/driverlib/epwm.js) epwmTimebase_clockDiv: For perfectly synchronized TBCLKs across multiple EPWM modules, the prescaler bits in the TBCTL register of each EPWM module must be set identically
                XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                此致、

                阿德里安

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

                  Adrien、

                  似乎链接器命令文件的内容没有链接。

                  您需要在项目属性中定义 device_cmd.cmd 文件中使用的相应宏(generic_flash_lnk 或 generic_ram_lnk)、如下所示。

                  此致

                  西达尔特

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

                    Siddharth、

                    我添加了  GENERAL_FLASH_lnk 命令、但结果是相同的。 与 generic_ram_lnk 相同。 此外、生成的 cmd 文件中没有对通用任何内容的引用。

                    即使它起作用,它是否不会指向生成的.cmd 之外的.cmd?

                    此致、

                    阿德里安

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

                      Adrien、  

                      请共享  生成的 device_cmd.cmd 文件。   

                      我并不是要添加一个新的链接器命令文件,而是只使用与生成的 device_cmd.cmd 文件一起使用的宏。  

                      此致

                      西达尔特