当前位置: 首页 > backend >正文

Testbed问题记录

1. 编译器选择问题

问题描述

静态分析时默认编译器为 F28335,但工程实际编译环境需确认(MinGW200 GCC v3.2 或 F28335 CCS)。官方指导文档为MinGW。

在这里插入图片描述

解决方案

根据工程代码的实际编译环境选择编译器:F28335 Code Composer Studio

2. 头文件路径未识别

问题描述

配置了头文件路径,但静态分析仍无法识别头文件(报错 #include <DSP2833x_Device.h> 未找到)。

在这里插入图片描述

解决方案

  1. Static Analysis Options正确配置头文件路径
  2. 删除sysearch.dat文件里的300开头的行(如 300: #include <DSP2833x_Device.h>)。
  3. 其他原因造成则继续排查

3. 宏定义未生效

问题描述

sysppvar.dat 中添加宏定义(如 #define TARGET 1),但静态分析未识别。

在这里插入图片描述

在这里插入图片描述

解决方案

  1. 检查宏定义格式是否标准(如 -D TARGET=1);
  2. 优先通过头文件路径解决:若路径配置正确且工程能正常编译,无需额外添加宏。

4. 结构体变量识别失败

问题描述

静态分析无法识别 FLASH_ST 结构体(定义于 Flash2833x_API_Library.h)。

FLASH_ST变量所在文件路径D:\DSP\ZDBJ_DSP_5CH_2.00.01\INCLUDE\Flash2833x_API_Library.h

typedef struct {Uint32  FirstFailAddr;Uint16  ExpectedData;Uint16  ActualData;
} FLASH_ST;

是否需要手动在用户全局变量里添加?

解决方案

根本原因为头文件未展开,需在 Static Analysis Options 中确保头文件路径完整覆盖。

5. OBJ 文件缺失

问题描述

执行测试时报错 Cannot find file for xxx.obj

在这里插入图片描述

解决方案

因静态分析阶段编译未成功导致 OBJ 未生成,需检查 Static Analysis Options 配置(路径、宏等)。

6. 多文件头文件识别不全

问题描述

多文件分析时,部分头文件状态为 Unresolved(应显示 Include FileChecked)。

在这里插入图片描述

解决方案

检查静态分析配置,确保:

  1. 所有头文件路径正确;
  2. 依赖文件均被加入工程。

7. 函数符号缺失

问题描述

输入输出均为 void 的函数(如 InitSystem())报错 Cannot find symbol

解决方案

Call Views 中手动将未解析函数设为桩函数(Create Managed Stubs)。

8. 链接错误(变量未定义)

问题描述

链接阶段报错 Undefined: CpuTimer0Regs(变量定义于 DSP2833x_GlobalVariableDefs.c)。

解决方案

  1. 确认该.c文件已加入测试工程;
  2. 若仍缺失,在 Global Variables 中手动添加该变量。

检查静态分析配置,确保:

  1. 所有头文件路径正确;
  2. 依赖文件均被加入工程。

9. 输入参数识别错误

问题描述

函数输入参数被误识别为 code(实际应为 org),导致测试失败。

在这里插入图片描述

解决方案

原因是软件识别错误

在这里插入图片描述

  1. 在创建测试用例时,不要勾选 软件自动打桩。
  2. 将该函数设为桩函数;
  3. 在这个CodeToAngle函数的参数设置中:
    • 选择 Specify 模式;
    • 手动输入参数名 org 并指定类型。

在这里插入图片描述

10. 汇编指令导致卡死/崩溃

问题描述

执行测试时输出 ILLEGAL INSTRUCTION TRAP 或卡死在 while(1)

在这里插入图片描述

解决方案

  1. 定位 imain.c 文件(通过 Explore Source File Directory);

    在这里插入图片描述
    在这里插入图片描述

  2. 注释掉 __asm 等嵌入式汇编指令

  3. 替换 while(1) 为有限循环(如 for(int i=0; i<100; i++))。

11. 中断函数未识别

问题描述

interrupt void 类型函数(如 Cpu_Timer1_Isr())在 Call Views 中状态为 Unresolved

解决方案

  1. 手动将其设为桩函数;
  2. 在桩函数中模拟中断上下文(如寄存器值)。

13. 指针/数组/结构体输入配置

问题描述

测试含复杂数据类型(指针、数组、结构体)的函数时如何设置输出输出元素?

解决方案

在新建测试用例,若该函数运行时涉及指针/数组等元素,那么

  • 如需显示在测试用例的结果里,则要勾选“Assign input pointer in IO View” 或者“Add all elements to the test case” 或者“Add multiple elements to the test case”
  • 如果不显示在测试用例的结果里,要勾选“Remove all elements from the test case”

14. FLASH 空间不足

问题描述

链接报错 program will not fit into available memory(FLASHH 空间不足)。

报错为

"C:/LDRA_Toolsuite_C_CPP_10.3.0/Tif28335/F28335_Flash.cmd", line 130: error #10099-D: program will not fit into available memory.  placement with alignment/blocking fails for section ".text" size 0x731b page 0.  Available memory ranges:FLASHH       size: 0x7ffe       unused: 0x8e8        max hole: 0x8e8
error #10010: errors encountered during linking; "FindFrame.out" not built>> Compilation failure

解决方案

  1. 减少测试用例输入数据量(如勾选 Add Multiple elements to the test case All items selected 时精简字段);

    在这里插入图片描述

  2. 扩展 .cmd 文件中 FLASHH 段大小(需硬件支持)。

15. 变量类型识别错误

问题描述

工具将输入变量误识别为输出(如 AdcData 应为输入但标记为输出)。

解决方案

Variable I/O View 标签页手动修正变量的Use(Input/Output)。

在这里插入图片描述

16. 头文件嵌套报错

问题描述

静态分析时报错 Cannot find DSP2833x_Gpio.h(实际路径已配置)。

解决方案

AdcData 应为输入但标记为输出)。

解决方案

Parameters 标签页手动修正变量方向(Input/Output)。

[外链图片转存中…(img-SHQAhSHj-1749636680269)]

16. 头文件嵌套报错

问题描述

静态分析时报错 Cannot find DSP2833x_Gpio.h(实际路径已配置)。

解决方案

临时方案:打开当前测试的文件 ixxx.c注释掉冲突的 #include 语句

http://www.xdnf.cn/news/13650.html

相关文章:

  • 【每日likou】704. 二分查找 27. 移除元素 977.有序数组的平方
  • Pandas:你的数据分析瑞士军刀![特殊字符]✨
  • DeepCritic: SFT+RL两阶段训练突破LLM自我监督!显著提升大模型的自我批判能力!!
  • 构建康养人才职业成长加速器 —— 智慧康养实训室虚拟仿真建设方案
  • 【笔记】NVIDIA AI Workbench 中安装 CUDA 12.9
  • 其他UML图示例,用到再学习
  • 心理学行业IP变现新趋势:创客匠人赋能个人品牌崛起
  • 去除百度AI图像中包含的水印内容
  • PocketSCP:蛋白质口袋动态时空拓扑可视化分析新方法
  • 华为云Flexus+DeepSeek征文|华为云一键部署高可用版 Dify LLM 应用开发平台实践详解
  • 训练过程中的 Loss ?
  • DeviceNet转Modbus RTU协议转换网关在石油开采行业的应用
  • 常见系统设计
  • 2024蓝桥杯C/C++ B组国赛
  • C primer plus (第六版)第七章 编程练习第4题,第5题
  • SecureRandom.getInstanceStrong() 与虚拟机的爱恨情仇
  • ImportError: cannot import name ‘PfeifferConfig‘ from ‘transformers‘【已解决】
  • 考试中关于机动车安全技术检验标准(如 GB 7258、GB 21861 等)的考核重点有哪些?
  • java单元测试写法
  • Element:Table表头全部或单个表头颜色header-row-style
  • 鸿蒙开发:DevEcoTesting中的稳定性测试
  • 【Python 算法零基础 6.贪心算法】
  • 基于51单片机和8X8点阵屏、独立按键的跳跃躲闪类小游戏
  • 在WordPress中彻底关闭生成缩略图的方法
  • c++经典好题
  • 机器学习基本概念与建模流程
  • day031-Shell自动化编程-数组与案例
  • 【全开源】码小象租车系统源码+uniapp前端+开发文档接口
  • 【粤语ASRTTS】粤语语音识别与合成:重塑粤语智能化标杆
  • android studio开关控制