工具/软件:Code Composer Studio
在一些CCS示例项目中,我看到了“#if defined(_TMS320C6400)"或 “#if defined(_TMS320C6740)",但 我正在为TMS320C6657寻找宏标志,以便在代码中执行“#if defined(_TMS320C6657)”。
请问,C6657的旗帜名称是什么?在哪里可以找到?
谢谢。
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.
工具/软件:Code Composer Studio
在一些CCS示例项目中,我看到了“#if defined(_TMS320C6400)"或 “#if defined(_TMS320C6740)",但 我正在为TMS320C6657寻找宏标志,以便在代码中执行“#if defined(_TMS320C6657)”。
请问,C6657的旗帜名称是什么?在哪里可以找到?
谢谢。
您好!
如果我的目标是正确的,那么您正在尝试使预处理程序宏与您的设备完全匹配,而不是与设备系列匹配。 简单的答案-没有这样的宏。 请参阅第2.6 .1条。 编译器用户指南中预定义的宏名称。 你会发现这里
| _TMS320C6x | 始终定义 |
| _TMS320C6200 | 如果目标为C6200则定义 |
| _TMS320C6400 | 如果目标是C6400,C6400+,C6740或C6600,则定义 |
| _TMS320C6400_plus | 如果目标是C6400+,C6740或C6600,则定义 |
| _TMS320C6600 | 如果目标为C6600则定义 |
| _TMS320C6700 | 如果目标是C6700,C6700+,C6740或C6600,则定义 |
| _TMS320C6700_plus | 如果目标是C6700+,C6740或C6600,则定义 |
| _TMS320C6740 | 如果目标为C6740或C6600则定义 |
| __TMS320C6x__ | 始终定义为用作_TMS320C6x的备用名称 |
如您所见,这些定义仅定义系列,而不是设备。
如果你很需要区别对待精确的设备,那么你必须按照李基洙解释的那样定义自己的宏。
希望这会有所帮助。
据我所知,我们必须定义target --silit_revision或等效的-mv选项,以便编译器以最佳方式处理正在考虑的设备的代码。 在编译器用户指南的第2.3 .5条中。 选择目标CPU版本(--silit_version选项)时,他们以有点误导的方式描述了此选项。 示例显示,可以将目标处理器定义为-mv6412,即准确指定您的部件。 但是,对于不同的keystones没有有效的选项,并且您拥有的唯一选项是-mv6600。
接下来,定义芯片版本时,编译器将定义匹配的宏名称。 假设您指定了-mv6600,则将定义_TMS320C6600。 但是,正如您在上表中可能注意到的,除了_TMS320C6600外,您还将定义_TMS320C6400,_TMS320C6400_plus,_TMS320C6700和_TMS320C6740。 因此,检查_TMS320C6600可以确定器件是否为Keystone。 但是,检查_TMS320C6400不能分辨的是C64x系列或Keystone中的任何一个,我认为嵌套的#if->#Elif检查都能完成任务。
希望这会有所帮助。