我在 TI SDK 目录下看到.sources/ti/drivers/lib/ 文件:
drivers_msp432e4.aem4f
drivers_msp432e4.am4fg
drivers_msp432e4.arm4f
我可以进行猜测、但有人能告诉我这些库中的每个库的具体用途(目标)。
我需要链接到驱动程序库、但不要链接到哪一个。
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.
我在 TI SDK 目录下看到.sources/ti/drivers/lib/ 文件:
drivers_msp432e4.aem4f
drivers_msp432e4.am4fg
drivers_msp432e4.arm4f
我可以进行猜测、但有人能告诉我这些库中的每个库的具体用途(目标)。
我需要链接到驱动程序库、但不要链接到哪一个。
大家好、SimpleLink Academy 是有关 MSP432E 的入门培训: https://dev.ti.com/tirex/explore/node?node=ADLCiY8-giosk.OGs055kA__J4.hfJy__LATEST。 谢谢!
查看 /simplelink_msp432e4_sdk_4_20_00_12安装时 、source/ti/drivers/package.xs 具有以下内容、其中显示了如何为驱动程序库构建后缀:
else if (Program.cpu.deviceName.match(/MSP432E4.*/)) {
driverString = "_msp432e4";
}
else {
throw ("Driver not found for this device " + Program.cpu.deviceName +
" and target " + Program.build.target.suffix);
}
targetSuffix = ".a" + Program.build.target.suffix + ";";
retString += driversBase + "/lib/drivers" + driverString + targetSuffix;
因此、后缀包含使用 Program.build.target.suffix 的值构建的变体。
source/ti/drivers/package/build.cfg 具有以下内容:
pkg.build.libDesc = [
[
'lib/drivers_msp432e4.aem4f',
{
target: 'ti.targets.arm.elf.M4F',
suffix: 'em4f'
}
],
[
'lib/drivers_msp432e4.am4fg',
{
target: 'gnu.targets.arm.M4F',
suffix: 'm4fg'
}
],
[
'lib/drivers_msp432e4.arm4f',
{
target: 'iar.targets.arm.M4F',
suffix: 'rm4f'
}
],
];
上面的显示了用于不同编译器- TI、GNU 和 IAR 的后缀。
我似乎找不到解释库后缀的文档链接、因此查看了驱动程序的构建配置。
作为一种交叉检查方法、使用 objdump 查找 每个库的 DW_at_Producer 标记:
$ objdump --dwarf ~/ti/simplelink_msp432e4_sdk_4_20_00_12/source/ti/drivers/lib/drivers_msp432e4.aem4f 2>/dev/null|grep DW_AT_producer | head -1
<91> DW_AT_producer : TI TI ARM G3 C/C++ Codegen Unix v20.2.1.LTS Copyright (c) 1996-2018 Texas Instruments Incorporated
$ objdump --dwarf ~/ti/simplelink_msp432e4_sdk_4_20_00_12/source/ti/drivers/lib/drivers_msp432e4.am4fg 2>/dev/null|grep DW_AT_producer | head -1
<c> DW_AT_producer : (indirect string, offset: 0xe6): GNU C17 9.2.1 20191025 (release) [ARM/arm-9-branch revision 277599] -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -mabi=aapcs -march=armv7e-m+fp -g -g -O2 -ffunction-sections -fdata-sections -fno-isolate-erroneous-paths-dereference
$ objdump --dwarf ~/ti/simplelink_msp432e4_sdk_4_20_00_12/source/ti/drivers/lib/drivers_msp432e4.arm4f 2>/dev/null|grep DW_AT_producer | head -1
<8c> DW_AT_producer : IAR ANSI C/C++ Compiler V8.50.1.245/LNX for ARM
这确认了使用不同的编译器来创建每个库。