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.

[参考译文] AWR6843AOP:用于 ARM 的 CMAKE 构建系统

Guru**** 2553450 points
Other Parts Discussed in Thread: TI-CGT

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

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1063405/awr6843aop-cmake-build-system-for-arm

器件型号:AWR6843AOP

您好!

我正在尝试为 MMWAVE_automotive_toolbox_3_5_0附带的 MSS 演示代码设置构建系统。

我能够创建一个从 CCS 获取参考的工具链。 我现在正在尝试编译一个简单的 helloworld 程序以测试我的工具链。

在运行 gmake 时、出现以下错误。

[50%]←[32m 构建 C 对象 CMakeFiles/helloworld.xer4f.dir/helloworld.c.obj←[0m
D:\DMS\Radar\ti-cgt-arm_16.9.6.LTS \bin\armcl.exe --compile_only --c_file=D:\DMs\Radar\CmakeHelloworldProject\helloworld.c --include_path=D:\DMS\Radar\ti-cgt_arm_16.9.6LTS \eldle=-exclus_exclus_exclus=-volature=vrf-nature=-r4g=vateg_example.g=-memb_subsection=-voltid_ex-voltage-voltage=vature=vr4g_ex-voltage-rg=vature=vateg_ex-voltage-rg=vature=vature=vrg=vateg_ex-voltag_ex-f_ex-r.ature=-f_ex-mag_ex-voltage-mag-r.
错误#24002-D:option --output_file 与之前的选项--obj_extension 冲突

我需要使用  --obj_extension=.oer4f 、因为这是在 CCS 中指定为目标文件扩展名的内容。

CCS 指令和 cmake 生成的指令之间的唯一区别是--output_file=cmakeFiles\helloworld.xer4f.dir\helloworld.c.obj

因此、我需要在两个问题上提供帮助。

1.如何在 cmake 中将目标文件扩展名更改为.oer4f?

2从何处获得 --output_file=cmakeFiles\helloworld.xer4f.dir\helloworld.c.obj 选项(由 cmake 生成)? 如何将其删除?

******** 工具链图标

#根据您的需求设置此路径
if (未定义 CGT_toolchain_DIR)
设置(CGT_toolchain_DIR "D:/DMS/Radar/ti-cgt-arm_16.9.6.LTS)
消息(状态"CGT_toolchain_DIR 未显式设置、使用"${CGT_toolchain_DIR})
endif()

#设置目标系统
设置(CMAKE_SYSTEM_NAME 通用)
设置(CMAKE_C_Compiler_ID "TI")
设置(CMAKE_Try 编译目标类型静态库)

#工具链路径
find_program (TI_GCC 名称 armcl 路径${CGT_toolchain_DIR}/bin no_default_path)
find_program (TI_CXX 命名 armcl 路径${CGT_toolchain_DIR}/bin no_default_path)
find_program (TI_AS 名称 armcl 路径${CGT_toolchain_DIR}/bin no_default_path)
find_program (TI_AR 名称 armar 路径${CGT_toolchain_DIR}/bin no_default_path)
find_program (TI_objcopy 名称 armofd 路径${CGT_toolchain_DIR}/bin no_default_path)
find_program (TI_OBJDUMP 名称 armhex 路径${CGT_toolchain_DIR}/bin no_default_path)
find_program (TI_size 名称 armsize 路径${CGT_toolchain_DIR}/bin no_default_path)
find_program (TI_LD 命名 armcl 路径${CGT_toolchain_DIR}/bin no_default_path)

#设置可执行文件设置
SET (CMAKE_C_COMPILER ${TI_GCC})
设置(CMAKE_CXX_COMPILER ${TI_CXX})
设置(作为${TI_AS})
设置(AR ${TI_AR})
设置(objcopy ${TI_objcopy})
设置(OBJDUMP ${TI_OBJDUMP})
设置(大小${TI_SIZE})
设置(LD ${TI_LD})

#设置默认包含目录
include_directories (
${CGT_toolchain_DIR}/include
)

Link_directories (${CGT_toolchain_DIR}/lib)

#设置目标环境
设置(CMAKE_FIND_ROOT_PATH ${CGT_toolchain_DIR})

设置(CMAKE_make_program "D:/DMS/Radar/ccs/utils/bin/gmake 高速缓存路径"make Program")

#调整 find_XXX()命令的默认行为:
#-在主机环境中搜索程序
#-在目标环境中搜索标题和库
设置(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM 从不)
设置(仅限 CMAKE_FIND_ROOT_PATH_MODE_LIBRARY)
设置(仅限 CMAKE_FIND_ROOT_PATH_MODE_INCLUDE)

#特定目标 CPU 标志
#set (platform_config_C_flags "-mv7R4 -code_state=32 -float_support=VFPv3D16 -g -z"高速缓存字符串"platform config c flags")
#set (platform_config_CXX_flags "${platform_config_C_flags}"高速缓存字符串"platform config cxx flags")

#set (CMAKE_CXX_FLAGS "${platform_config_CXX_FLAGS}")
#set (CMAKE_C_FLAGS "${platform_config_C_flags}")

(小部分 CMAKELISTS

项目(雷达)

设置(CMAKE_VERSE_MAFILEE 打开)

set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS}-mv7R4 -code_state=16 -float_support=VFPv3D16 -me -O3 -g -gcc -diag_warning=225 -diag_wrap=off -display_error_number -gen_c_energ_energ=-eabi_subsections=-e4inflags=-enu_enu_abi_enp=-eabi_subsections=-ench_ench_enp=-enp=

设置(CMAKE_C_OUTPUT 扩展".oer4f")

add_executable (
HelloWorld.xer4f
HelloWorld.c)

target_link_libraries (helloworld.xer4f
-llibc.a
)

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

    您好!  

    检查并返回给您。 您能否告诉我您正在使用的演示代码(实验名称)?  

    此致、  

    Sudharshan K N  

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

    您好、Sudharshan、  

    我使用 的是 incabinsensing\高架 安装占用空间

    此致、

    秋莎

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

    您好!  

    您是否在 SDK 演示示示例中提到了 gmake 文件示例?  C:\ti\mmwave_sdk_03_05_00_04\packages/ti\demo\xwr68xx\MMW\MSS? 这将提供一种设置依赖项以使用 SDK 运行代码的方法。  

    此致、  

    Sudharshan K N  

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

    您好、Sudharshan、

    我尝试了您建议的操作、但无法构建演示。 我遇到以下错误。 可以帮帮我吗?

    D:\DMS\Radar\mmWave_SDK_03_05_00_04\packages/ti\demo\xwr68xx\MMW>D:\DMS\Radar\CCS\utils\bin\gmake.exe msDemo
    SHMEM_ALLOC 被设定为0x00000006
    正在配置 RTSC 软件包...
    D:/DMS/Radar/xdctools_3_50_08_24_core/xs --xdcpath="D:/DMS/Radar/mmwave_sdk_03_05_00_04/packages;D:/DMS/Radar/bios_6_73_01_01/packages " xdc.tools.configuro -t ti.targets.are.elf.R4Ft -p ti.platforms.cortexR:IWR68XX:false:200 -r release -c D:/DMS/Radar/ti-cgt-arm_16.9.6.LTS -DMMWAVE_SDK_DEVICE_type=xwr68xx --compileOptions "--MSS_type=int"-mwm_config68xx mmw_mss.cfg
    脚本、胶囊、模块或包装必须作为提供
    参数、
    或交互模式(-I)。
    用法:XS [选项][

    -m Specifies that the next argument is the name of
    a module. The module must define a main() function.
    This option must be last in [options].
    -f Specifies that the next argument is the name of
    a script. This option must be last in [options].
    -c Specifies that the next argument is the name of
    a capsule. The module must define a main() function.
    This option must be last in [options].

    If none of the options '-m', '-f', and '-c' is specified,
    the argument given to xs after [options] is assumed to
    be a package name. This package must have a module named
    Main that defines a main() function.

    Graphical Debugger Options:
    -i break at the first line of the startup script

    D:/DMS/Radar/bios_6_73_01_01/packages xdc.tools.configuro: not found
    mss/mmw_mss.mak:92: recipe for target 'mmwMssRTSC' failed
    gmake: *** [mmwMssRTSC] Error 127

    Regards,

    Kusha

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

    您好!  

    您是否尝试过 SDK 用户指南中提到的步骤? 您是否使用提供的批处理文件设置了您的环境?  

    @REM ############################################################################################################################
    @REM #构建变量(根据构建需要修改)
    @REM ############################################################################################################################
    @REM 选择您的设备。 选项(区分大小写)为:awr14xx、iwr14xx、awr16xx、iwr16xx、awr18xx、 iwr18xx、
    iwr68xx、awr68xx
    设置 MMWAVE_SDK_DEVICE_Iwr68xx
    @REM 如果需要通过 CCS 下载、请将下面的 define 设置为 yes 或 no
    @REM 是:可以使用 CCS 加载创建的输出文件。
    @创建的 REM 二进制文件可用于闪存
    @REM 否:无法使用 CCS 加载创建的输出文件。
    @创建的 REM 二进制文件可用于闪存
    @REM (附加功能:TCMA 的写保护等)
    设置 download_from _ccs=yes
    @REM 如果使用安全器件、则需要使用 MMWAVE_SECDEV__的路径更新此变量 文件夹
    设置 MMWAVE_SECDEV_INSTALL_PATH=
    @REM 如果使用安全器件、则需要使用 hsimage.cfg 文件的路径更新此变量
    @REM 具有特定于客户的证书/密钥信息。 secdev 软件包中包含一个 hsimage.cfg 示例文件
    设置 MMWAVE_SECDEV_HSIMAGE_CFG=%MMWAVE_SECDEV_INSTALL_PATH%/hs_image_creator/hsimage.cfg

    此致、  

    Sudharshan K N  

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

    您好、Sudharshan、

    我已经尝试了用户指南中提到的步骤、并在 make 之前运行了 setenv.bat。

    此致、

    秋莎