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.

[参考译文] SAFETI-HERCULES-DIAG-LIB-CSP:生成失败、显然是由于静态分析失败

Guru**** 2463330 points
Other Parts Discussed in Thread: TMS570LC4357, HALCOGEN

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1462258/safeti-hercules-diag-lib-csp-build-fails-apparently-due-to-static-analysis-failure

器件型号:SAFETI-HERCULES-DIAG-LIB-CSP
主题中讨论的其他器件:TMS570LC4357HALCOGEN

工具与软件:

您好!

我正在尝试为 TMS570LC4357的 Hercules 诊断库执行合规性支持包、但我遇到了许多问题、并且 安全库 TAU 报告"构建失败"。

我正在使用 安全库 tau (01.00.00)、并注意到我已将编译器设置为 ti-cgt-arm_20.2.1.LTS。 我已经将所有其他项保留默认设置。

第一次使用安全库 tau (01.00.00)运行测试时、出现了多次以下 LDRA 对话框。

对于其他一些 Marcos、我也遇到了此错误:

FUNC_PARAM_CHECK_LOG_ENABLED

FUNC_ENTRY_COND_CHECK_ENABLED

FUNC_ENTRY_COND_CHECK_LOG_ENABLED

FUNC_RESULT_LOG_ENABLED

但此对话框仅在第一次执行测试时出现。 从那以后、它就没有出现过。

但是、日志文件 中有以下消息:"macro to left defined found in sysppvar.dat (在 sysppvar.dat 中找到未定义的宏)"和"Removing 14 macro to left undefined from sysppvar.dat"(从 sysppvar.dat 中删除14个未定义的宏)。

这些宏和这些消息的意义是什么?

然后在日志文件的后面部分报告以下错误。

静态分析已启动
使用罚分文件:
C:\Program Files (x86)\LDRA\LDRAunit-TI-QUAL_C_CPP_9.4.3\c\cpen.dat
为标准模型修改的罚分文件:TBrun 要求
源文件行号= 2274
测试台无法成功识别收割台
带来的影响。 可能的原因是:
1)有未扩展的宏-检查管理或
man 文件以查看是否已打开所有包含的文件。
2)重复使用可能导致的 proc 名称
测试平台变得困惑。 检查管理文件
而制造违反标准的行为。

树的顶部= 525 PRCDV
从到信息长度名称

9 24 1 16SL_SelfTest_SRAM
29 45 2 17SL_SelCongress Test_Flash
50 66 3 17SL_SelfTest_PBIST
71 94 4 Test_Status_ IST.
99 130 5 32SL_SELCPRACING_PBIST Test_Wait
135 160 6 26SL_SelfTest_PBIST_StopExec
165 179 7 15SL_SelfTest_STC
184 205 8 22SL_Selocracy Test_Status_ C
210 226 9 17SL_SelfTest_PSCON
231 254 10 24SL_Sel307P Test_Status_
259 275 11 17SL_SelfTest_EFuse
280 303 12 24SL_Selocracy Test_Status_使用
308 322 13 15SL_SelfTest_ADC
327 345 14 19sl_dmaSetCtrlPacket
350 366 15 17sl_dmaSetChEnable
371 394 16 24sl_dmaSetProtectedRegion
399 420 17 22sl_dmaConfigCtrlPacket
425 446 18 22sl_dmaSoftwarerTestConfig
451 465 19 15SL_SelfTest_DMA
470 484 20 15SL_SelfTest_VIM
489506 21 18SL_Selocracy Test_Mib
511 525 22 15SL_SelfTest_CAN


可能已生成以下消息
LDRA TestBed Analysis Scope 设置不正确。
检查您的代码是否编译以及是否作为其中的一部分
记录编译器预处理器设置。
然后、这些设置需要反映在 LDRA 中
测试数据文件 SYSPPVAR.DAT。 请参阅中的"宏扩展"
参阅用户手册以了解更多详细信息。


0条目数
521行数


尚未打开要包括的文件。


行号总数为:2274
本地行号是:2274
在待测文件中:"c:\ti\Hercules\SAFETI~2\24661E~1.0_L\safety_library\source\sl_selftest.c"
香港特别行政区政府在香港特别行政区的工作
**** 语法错误编号107****
**** 静态分析****
**** 检查正在分析的程序是否编译****
**** 然后联系测试床维护部门****
**** 当地的、或者****
**** 位于 L. D. R. A. Ltd. ****
**** 电话: 第(0151) 649 9300号****
**** 传真。 No.(0151) 649 9666****
**** 电子邮件:support@ldra.com ****
**** 引用以下错误消息。 ****
香港特别行政区政府在香港特别行政区的工作

没有匹配 PROC 的 return 语句

******

此错误是指 Test_Status_ C()。

您能告诉我如何解决该错误吗?

谢谢你。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Andrew、您好!

    CSP 使用的编译器默认为5.x。 如果 使用更高的编译器版本、则测试执行会因编译错误而终止

    权变措施为:

    位于路径 CSP_HALCoGen\HALCoGenTAU\Scripts Install_Directory 的 Create_Make_file_HCG.pl 文件中(第176行)

    if ($CG_TOOL_ROOT=~/5\./)

    请将值5更改为正在使用的编译器版本: 20.

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、QJ:

    感谢您的答复。
    不过、我的问题是关于诊断库的 CSP、而您的答案似乎与 HALCoGen 的 CSP 相关。

    两种 CSP 封装有一些相似之处。

    对于诊断库 CSP、在 CSP_CSP\2.4.0_LDRA_LES\Test\Misc\Scripts 中 Install_Directory、有 Create_Make_file.pl。

    Create_Make_file.pl 包含以下行
    if (Win32::GetLongPathName ($CG_TOOL_ROOT)=~/5\./)

    我认为这相当于您答案中的一行。
    我尝试在这一行中将5更改为20、但它没有产生任何不同。

    此致、

    Andrew