您好!
我提前道歉、因为我不是最喜欢 Linux 的人。 这是我使用 Ubuntu 的第一个大项目、而我使用 Linux 的第二个大项目。
我正在修改一些代码、这些代码最初在 Advantech 微型 PC 上运行(使用自定义、修改版本的 Ubuntu)、但现在需要在运行 Ubuntu 的英特尔 NUC 上运行(当前版本为20.04)。 此代码位于通用 C 语言中。我决定使用 CCS 来运行调试工具、并了解它会导致我非常熟悉 Windows 上的 IDE。
首先、我在 CCS 中创建了一个新的 C 语言项目(而不是 CCS 项目)、并将此代码的内容复制到项目中。 我能够构建程序、但注意到 TI USB 驱动程序3410文件中出现了与 Linux/firmware.h 相关的错误。 我通过进入项目目录并创建指向内核文件夹中头文件的符号链接来解决这个问题。 这最初是内核4.13的版本、但我遇到了与 classmap.h 相关的错误、未找到。 然后,我使用内核4.15和5.4.0-86-generic 尝试了此操作,现在收到下面的错误...
1108 |[0x3b]= INAT_make_IMM (INAT_IMM_byte)| INAT_MODRM | INAT_VEXOK | INAT_EVEXONLY、
|^~~~μ A
‘/ClusterheadTest/Driver/linux/tools/objtool/arch/x86/lib/inat-tables.c:1108:3:注:(接近初始化‘inat_escape_table_3_1’)
./ClusterheadTest/Driver/linux/tools/objtool/arch/x86/lib/inat-tables.c:1109:3:错误:非数组初始化程序中的数组索引
CCS 不喜欢 inat-tables.c 定义映射数组的方式。
我无法判断这是如何设置 CCS 环境的错误、还是我使用的 Linux 内核版本5.4.0-86-generic 存在的真正问题。 我的目标只是让项目立即进行构建、这样我就可以调整 MSP432的代码、而不是以前使用的 MSP430。
如果需要进行调试、我可以共享项目。
提前感谢您的任何帮助、
Greg