Other Parts Discussed in Thread: TI-CGT
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号: F29H850TU
我遇到了一个 ti-cgt_c29_2.1.0.STS 永远挂起的问题。 最小的示例文件为:
// test.c
void test(int instance) {
*((volatile int *)(0x1000 + (instance * 16))) = 0;
}
使用命令编译的函数
~/ti/ti-cgt-c29_2.1.0.STS/bin/c29clang -g -c -w test.c
这会导致编译器永远不会返回、并占用整个 CPU 内核。 有趣的是、这似乎与实例乘以的值相关。 这发生在值 16、0x20、0x40、0x80 等情况下。 但似乎没有之间的(虽然我没有检查每一个价值). 此外、任何低于 0x1000 的值编译都可以正常、但任何大于 0x1000 的值都会导致该问题。 这也发生在每个优化级别上、-O0、-O1、-O2 或-O3 之间没有区别。
ti-ctg-c29_2.0.0.STS 不会发生这种情况。
操作系统是 Ubuntu 24.04.1。