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.

[参考译文] CC1352P7:PDM驱动程序与TI-Clang不兼容

Guru**** 2421540 points


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

https://e2e.ti.com/support/wireless-connectivity/other-wireless-group/other-wireless/f/other-wireless-technologies-forum/1094604/cc1352p7-pdm-driver-not-compatible-with-ti-clang

部件号:CC1352P7

您好,
如何将PDM驱动程序与TI Clang配合使用?
我的问题是调用  在汇编中写入的函数pdm2pcm16k/pdm2pcm8k。
在使用默认的TI CCS编译器和 pdm2pcm_cc26x2_cs.asm时,此功能工作正常。
您是否可以以某种方式更改 pdm2pcm_cc26x2_cs.ASM/pdm2pcm_cc26x2_gcc.gcc.ASM/pdm2pcm_cc26x2_IAR.asm汇编文件之一以使其与Clang兼容?
此致,
Erlend

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

    您好,Erlend,

    您可以从TI-clang编译器调用TI-Syntax ARM汇编器。 因此,您可以在 项目中使用pdm2pcm_cc26x2_cs.asm汇编源文件。  

    有关执行此操作的说明,请参阅本指南。

    https://software-dl.ti.com/codegen/docs/tiarmclang/compiler_tools_user_guide/getting_started_guide/assembling_legacy_ti_syntax.html

    此致,

    SID

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

    您好,

    我恐怕需要更多的帮助。

    如何将 “tiarmasm <options> <path/to/file/>pdm2pcm_cc26x2_cs.asm”添加  到我们的项目规范中,我需要包含哪些<options>?


    此致,
    Erlend

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

    一种方法是

    1.将文件pdm2pcm_cc26x2_cs.asm添加到已导入的项目中。

    2.右键单击它,然后单击"显示构建设置"。 单击Apply Custom Build Step (应用自定义构建步骤)覆盖Other Tools (其他工具)。

    3.添加文件名和输出对象名称。  

    4.添加带有所有选项的编译器命令。 例如,如下所示。  

    "C:/ti/ccs1100/ccs/tools/compiler/ti-cgt-armllvm_1.3.0.LTS/bin/tiarmclang.exe" -c -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -mlittle-endian -mthumb -march=armv7e-m -x ti-asm -o"pdm2pcm_cc26x2_ccs.o" "../pdm2pcm_cc26x2_ccs.asm"

    但话虽如此,似乎有一种简单得多的方法。 通过注释掉pdm2pcm_cc26x2_gnu.asm文件中的所有.sect,.func和.endfunc行,重用pdm2pcm_cc26x2_gnu.asm文件似乎更容易。

    只需添加上面注释的行的文件,然后再次生成项目。 这似乎是一个简单得多的解决办法。  

    此致,

    SID

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

    谢谢。 使用修改 后的pdm2pcm_cc26x2_gnu.asm是我们项目的理想解决方案。

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

    在注释sect,.func和.endfunc之后,如下所示:
    /*** clang***.sect ".text.pdm2pcm16k"***/
    项目buildt成功,但音频数据都是垃圾数据。

    按照您的建议使用Works构建良好的目标文件,并且音频数据良好:
    "c:/ti/ccs1100/cs/tools/compiler/ti-CGT-armlvm_d16 1.3 -mlittle-endian -masm -march=cortex-mmflo-abi=hard -mfp=fpx2-sp-D16 -msmart-endiian -masm -march=mv7cm-abf_abi_abm_"-mfpx=f2cm_ps_spx_dcpx_gb -dcpx_dcpip_df_df_df_d16