您好,
如何将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
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.
您好,
如何将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汇编源文件。
有关执行此操作的说明,请参阅本指南。
此致,
SID
一种方法是
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
在注释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