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/TMS320F280049:如何通过 CCS v9创建十六进制文件?

Guru**** 2943430 points

Other Parts Discussed in Thread: TMS320F28033, TMS320F280049

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/807821/ccs-tms320f280049-how-to-creat-a-hex-file-through-ccs-v9

器件型号:TMS320F280049
主题中讨论的其他器件:TMS320F28033

工具/软件:Code Composer Studio

您好!

我现在使用 TMS320F280049调试您的自启动加载程序,因为以前我们使用 TMS320F28033和 CCS 3.3,所以 CCS V9与 CCS 3.3有很大的不同;在 CCS 3.3中,我们使用一个命令:

hex2000 xxxx.hcf 位于项目的 bulid 选项 gerenal 页面中,用于创建所需的十六进制文件,在 xxxx.hcf 文件中定义相应的命令;

那么、现在、如何通过 CCS v9生成十六进制文件?tks 很多!

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

    请在 CCS Build -> Steps -> Post -build steps 中添加以下命令

    "${CG_TOOL_HEX}""${BuildArtiftFileName}"-o "${BuildArtiftFileBaseName}.hcf"

    (或)

    hex2000.exe XXXX.out -o XXXX.hcf

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

    非常感谢、我找到了编译后处理步骤。并添加以下命令:

    "${CG_TOOL_HEX}""${.\Debug\HF415U111}"-o "${HF415U111}.hf"

    "${CG_TOOL_HEX}""${HF415U111}"-o "${HF415U111}.hf"

    HF415U111.hcf 文件位于工程的第一个目录中、而 HF415U111.Out 位于名为"Debug"文件夹的第二个目录中;

    但这两条命令,我收到以下错误:

    /SOURCE/HF415U111_cancom.obj -reread_libs /product/CCS_WORKSPACE/HF415U111/INCLUDE/driverlib_inc --diag_wrap=off --display_error_number --xml_link_info="HF415U111_linkInfo.xml"--rom_model -o "HF415U111.out""./INCLUDE/HF415U111_IsrVariableDefs.obj "./SOURCE/GBB_BOOT.obj /SOURCE/GBB_CanDriver.obj ""./SOURCE/GBB_epromdata.obj /SOURCE/HF415U111_cal.obj "./SOURCE/HF415U111_initial.obj /SOURCE/HF415U111_main.obj /SOURCE/HF415U111_vAdcTreatment.obj /SOURCE/HF415U111_vEventLog.obj /SOURCE/f28004x_EPwm.obj /SOURCE/f28004x_InitPeripherals.obj /SOURCE/f28004x_adc.obj /SOURCE/f28004x_can.obj /SOURCE/f28004x_cputimers.obj /SOURCE/f28004x_dcsm_z1otp.obj /SOURCE/f28004x_defaultisr.obj /SOURCE/f28004x_dma.obj /SOURCE/f28004x_gpio.obj /SOURCE/f28004x_i2c.obj /SOURCE/f28004x_pievect.obj /SOURCE/f28004x_spi.obj /SOURCE/f28004x_usdelay.obj /CMD/28004x_cla_flash_lnk.cmd /LIB/IQmath_fpu32.lib "./SOURCE/GBB_EntryVect.obj /SOURCE/HF415U111_start.obj /SOURCE/HF415U111_warnctrl.obj /SOURCE/f28004x_MemCopy.obj /SOURCE/f28004x_codestartbranch.obj /SOURCE/f28004x_dcsm_z2otp.obj /SOURCE/f28004x_globalvariabledefs.obj /SOURCE/f28004x_piectrl.obj /SOURCE/f28004x_sysctrl.obj /CMD/f28004x_headers_nonbios.cmd
    
    完成构建目标:"HF415U111.out"
    
    "C:/ti/ccs901/ccs/tools/compiler/ti-cgt-c2000_18.12.1.LTS/bin/hex2000 ""-o ".HCF"
    makefile:205:目标'post-build'的配方失败
    致命错误:无法打开输入文件".out":没有这样的文件或目录
    gmake[2]:[post-build]错误1 (忽略)
    
    
    **构建完成***** 

    问题是什么? 可以帮帮我吗?


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

    您好!

    命令 "${CG_TOOL_HEX}""${BuildArtiftFileName}"-o "${BuildArtiftFileBaseName}.hcf"

    将负责项目名称和位置。 您可以使用相同的命令。

    在这两条命令中、您都没有提到 HF415U111.out、因此脚本找不到您的文件。

    请使用建议的命令或使用.out 指定完整名称。

    谢谢、

    Katta

    注意:如果此帖子解答了您的问题、请单击  下面的验证答案按钮。 谢谢!

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

    抱歉,当我直接使用命令:"${CG_TOOL_HEX}""${BuildArtiftFileName}"-o "${BuildArtiftFileBaseName}.hcf"

    CCS v9编译器输出如下:

    "./SOURCE/f28004x_i2c.obj ""./SOURCE/f28004x_piectrl.obj ""./SOURCE/f28004x_pievect.obj ""./SOURCE/f28004x_spi.obj ""./SOURCE/f28004x_sysctrl.obj ""./SOURCE/f28004x_usdelay.obj ""./CMD/28004x_cla_flash_lnk.cmd "".""../CMD/f28004x_headers_nonbios.cmd ""./LIB/IQmath_fpu32.lib "-llibc.a
    
    完成的构建目标:"HF415U111.OUT"
    
    "C:/ti/ccs901/ccs/tools/compiler/ti-cgt-c2000_18.12.1.LTS/bin/hex2000 "HF415U111.OUT"-o "HF415U111.HCF"
    转换为扩展的 Tektronix 格式...
    "HF415U111.out" codestart => codestart
    "HF415U111.out".appvec =>.appvec
    "HF415U111.out".text =>.text
    "HF415U111.out" IQmaths =>
    "HF415U111.out"
    
    ="HF415U111.out".trampvecs ="HF415U111.out"=".hfuncs=.out.out.tramp4mcum110.out.out"=".out.out.tramp4mcum.out.out"="154mcum110.out.out"=".out.out.tramp4mcum110.out.out.out.out.out"=".out
    
    
    
    
    
    
     ="154mcum.out.out.out.out.out"=".out.out.out.out =".out.f154mcum.out.out.out.out"=".out.trlash4mc.out.out.out.out.out.out"= 正在将数据写入自动生成的文件 HF415U111.x01
    
    ****构建完成**** 

    编译器似乎不使用我的特殊配置文件"HF415U111.HCF"、而是在 Debug 目录中创建名为"HF415U111.HCF"的新文件
    输出名为"HF415U111.x01"的文件、而不是十六进制文件。
    "HF415U111.x01"上下文如下:

    %1261F800080000000051
    %2266680008000228049676477651010100
    %4E6F7800080014B2AAA2FE76048FE802D576C2B62BD0D2281918FFA81ED4A08D01406D068FC282
    %4E6BA80008003487FF56009252618DC392809427A20F63061EAB0F65061E066FD1A20F63D1061E
    %4E6C5800080054D1AB0F65D1061ED106078D011EDC9252631BFF6492506F92506F92505A925469
    %4E6C0800080074926192968D0192D89098DFDE560898925267760418FE6F76041A015261
    %4E6BA8000800947604925261880EF61FC2960600518FCEA88F901E5600560056A9A806765E7604
    %4E6998000800B41E6F0E1E0600516F7604BE022B1EC2925261526192A3C452618F105600A80F63
    %4E6B08000800D46F8F085600A80F642B6F280156016F280256026F28035603FE82868B00B2AA
    %4E6DA8000800F4A2FE02BE7604431EC2FF01446D7604927604FFCE46FF0276049252FF02760418
    %4E6A7800080114FD476C92FF5261526604901A0296906F181F606F181F1A407604CC0093
    %4E6B080008013476041A019776049018FF986F7604CC00760418FF98760492615776043B06FF
    %4E6D88000801541A806F76043B06FF96760406D4D5FF969B9A764276049A5DFF01760492760418
    %4E6A1800080174FF52FF007604CD00406D76041B076776049252687604466D760492FF52617604
    %4E68B800080194436DD16FD17604486C7604406C9250597604426C925059536076076049252677604
    %4E6BE8000801B42B76049252FF01760492526604063B8DC37604588DC2FF560296AA8D010D8A
    %4E6BF8000801D47604021E7956001E8FCEA806765E2976041E5601078AD07604AAC28876040D8A
    %4E6EB8000801F476048D01CC0F7E887604560CCA9676045601078AD03BD506FFD4969B9A281976
    %4E6B58000802144276045C589A7604DC5D936F8FC27604A88D01290D7604838792760490965601
    %4E6C780008023476048783D07604A8AB0D76048A8D01CC0F76047E88D5560CD4CA9676045600
    %4E6C48000802545600561E9A9B76425C76049A9BDC5D5C76416F526152FF007604927604889076
    %4E6FB80008027404D51A5A937E59979A9B76429A5D5C9BDC5C76428F229A7641FF0076049256
    %4E61280008029402D4D59B9A76425C8F5A9BDC5C76429A8F227641BE8F202BDC00FF7604
    %1261F8000800000051
    %22666800080002280496764776510100
    %4E6F7800080014B2AAA2FE76048FE802D576C2B62BD0281918F6104A08D01406D068FC282
    %4E6BA8003486469D800268469B15061506469B8026800400D 186469A0426800400D
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    

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

    看起来是编译器 donot use my OWN special config file"HF415U111.hcf"but creat a newfile named "HF415U111.hcf"in Debug directory and also output a file named "HF415U111.x01"not a hex file

    我阅读了 TMS320C28x 汇编语言工具 v18.12.0.LTS、此工作表建议使用以下命令:

    1) hex2000 -t 固件-o firm.lsb -o firm.msb

    2) hex2000 hexutil.cmd

    但我还有以下问题:

    1)为什么旧版 CCS v3.3使用"xxx.hf",而新编译器 使用"xxx.cmd"

    2)只需使用“hex2000 hexutil.cmd”,编译器就可以自行找到 hex2000?

    3) 3)我创建了一个文件"HF415U111.cmd"、比赛如下、但编译器输出错误

    HF415U111.out
    -i
    字节
    
    ROMS
    {
    ROMBoot:O=0x080002 l=0x00E000 romwidth=16 files={HF415U111.hex}
    }
    
    SECTIONS
    {
    .cinit、.text、IsrRamfuncs、Cla1Prog、.appvec、.econst、.switch、 .const、IQmath
    } 


    构建目标:"HF415U111.out"
    调用:C2000链接
    器"C:/ti/ccs901/ccs/tools/compiler/ti-cgt-c2000_18.12.1.LTS/bin/cl2000 /product/CCS_WORKSPACE/HF415U111/LIB /ti/ccs901/ccs/tools/compiler/ti-cgt-c2000_18.12.1.LTS/include -v28 -ml -mt -cla_support=cla2 -float_support=fpu32 -tmu_support=tmu0 -vcu_support=vcu0 -eO2 -opt_for_speed=2 -advice:performance_support=fpu32 -tmu_support=tmu_support=tmu0-vcu_support=tmuat_support=tu_support=tmu-over-ine-display-over-ine-ine-dag_di_di_ab-ine-display-ine-inline -display-inline -inline -ine-fus-ine-ine-ine-ine-inbdag_ine-inbd_inbd_inbd_inbi-fb -display-inbi-fus-inbi-fus-inbd_ine-fus-ine-/product/CCS_WORKSPACE/HF415U111/INCLUDE/driverlib_inc /ti/ccs901/ccs/tools/compiler/ti-cgt-c2000_18.12.1.LTS/lib tag_wrap=off --display_error_number --xml_link_info="HF415U111_linkInfo.xml"--rom_model -o "HF415U111.out""./INCLUDE/HF415U111_IsrVariableDefs.obj "./SOURCE/GBB_BOOT.obj "./SOURCE/GBB_CanDriver.obj "./SOURCE/GBB_EntryVect.obj /SOURCE/HF415U111_cancom.obj /SOURCE/HF415U111_start.obj /SOURCE/HF415U111_warnctrl.obj /SOURCE/f28004x_MemCopy.obj /SOURCE/f28004x_codestartbranch.obj /SOURCE/f28004x_dcsm_z2otp.obj /SOURCE/f28004x_globalvariabledefs.obj /SOURCE/f28004x_piectrl.obj /SOURCE/f28004x_sysctrl.obj /CMD/f28004x_headers_nonbios.cmd "./SOURCE/GBB_epromdata.obj "./SOURCE/HF415U111_cal.obj /SOURCE/HF415U111_initial.obj /SOURCE/HF415U111_vAdcTreatment.obj /SOURCE/f28004x_EPwm.obj /SOURCE/f28004x_adc.obj /SOURCE/f28004x_cputimers.obj /SOURCE/f28004x_defaultisr.obj /SOURCE/f28004x_gpio.obj /SOURCE/f28004x_pievect.obj /SOURCE/f28004x_usdelay.obj /LIB/IQmath_fpu32.lib "./SOURCE/HF415U111_main.obj "./SOURCE/HF415U111_vEventLog.obj /SOURCE/f28004x_InitPeripherals.obj /SOURCE/f28004x_can.obj /SOURCE/f28004x_dcsm_z1otp.obj /SOURCE/f28004x_dma.obj /SOURCE/f28004x_i2c.obj /SOURCE/f28004x_spi.obj /CMD/28004x_cla_flash_lnk.cmd
    
    "./HF415U111.cmd"、第1行:错误#10008-D:找不到文件"HF415U111.out"
    。/HF415U111.cmd"、第2行:错误#10046-D:选项参数缺失或无效
    错误#24010-D:选项-i 缺少其参数'dil'
    
    >>
    HF4111.mmakefile 失败
    
    :'f15gefile.1'f4183':'gmakedese':'f15gmake'失败':'gmake'
    ***[全部]错误2****
    
    构建完成****
    

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

    您好、Foriner、

    1) 1)为什么旧版 CCS v3.3使用"xxx.HCF"、但新编译器 使用"xxx.cmd"

    请查看"Code Composer StudioTm论坛"

    2) 2)只需使用"hex2000 hexutil.cmd"编译器可以自行找到 hex2000?  

    您需要为 hex2000.exe 提供完整的路径。 或者、您也可以在"path"环境变量中添加 hex2000.exe 路径。 请检查"如何更新路径环境变量"

    3) 3)我创建一个文件"HF415U111.cmd"、比赛如下、但编译器输出错误

    根据 TMS320C28x 汇编语言工具 v18.12.0.LTS 用户指南

    您需要在"-I"之后提供搜索路径。 由于这个原因、hex2000实用程序找不到 HF415U111.out。

    谢谢、

    Katta

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

    1) 1)为什么旧版 CCS v3.3使用"xxx.HCF"、但新编译器 使用"xxx.cmd"

    请在"Code Composer StudioTm论坛"中进行检查 --- 您能给我提供链接地址吗? 谢谢!

    2) 2)只需使用"hex2000 hexutil.cmd"编译器可以自行找到 hex2000?  

    您需要为 hex2000.exe 提供完整的路径。 或者、您也可以在"path"环境变量中添加 hex2000.exe 路径。 请检查“如何更新路径环境变量”--- 你是对的,当我给出一条完整的路径时,hex2000就是工作,这对你有很大帮助!! 但"路径环境变量"在哪里?

    3) 3)我创建一个文件"HF415U111.cmd"、比赛如下、但编译器输出错误

    根据 TMS320C28x 汇编语言工具 v18.12.0.LTS 用户指南

    您需要在"-I"之后提供搜索路径。 由于这个原因,hex2000实用程序找不到 HF415U111.out。------ 我不理解,因为我使用 xxx.cmd 来配置 hex2000的工作方式,现在我使用 xxxx.HCF,它也可以工作。 但 xxxx.HCL 必须位于 Debug 路径中。否则编译器无法找到 HCL 文件、 原因是什么?

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

    Code Composer StudioTm论坛 https://e2e.ti.com/support/tools/ccs/f/81

    2.正如我提到的,在 Windows 论坛中搜索“如何更新路径环境变量”。 它与 hex2000实用程序无关。 您可以将路径添加到路径环境变量。

    3.在命令提示符中运行任何命令时,路径应相对于当前目录。 最好提供完整路径或相对于当前目录的路径。

    谢谢、 Katta