前言
换了白盒测试软件后,使用Cantata软件进行单元测试和集成测试。在测试过程中会遇到一些问题,啤酒鸭整理出来希望可以帮到大家。
error: I9070 -incomplete type "struct pwm_bb_register_pointers [4]" is not allowed typedef struct expected_pwm_drv_bb_av_struct { enum pwm_bb_phase ref_pwm_bb_phase_map_hrtim[4]; u_32 ref_pwm_bb_OENR_bits[4]; u_32 ref_pwm_bb_ODISR_bits[4]; struct pwm_bb_register_pointers ref_pwm_bb_reg_ptrs[4]; } expected_pwm_drv_bb_av_struct;
原因:缺少pwm_bb_register_pointers 的真实定义,复制到脚本文件中即可。这个错误还是比较常见的,奈何一直碰到,必须记录!
error: I9147- declaration is incompatible with "void DC_CTRL_DAB_Calc_Control_Loops(enumdc_ctrl_dab_rail, f_32, f_32, f_32, f_32, f_32)" (declared at line 143 of "IT_signalpool_Output03/../../../../../software/source/flex/system/dc_control_d ab.h") void DC_CTRL_DAB_Calc_Control_Loops(enum dc_ctrl_dab_rail rail_id, f_32 u_prim_hv, f_32 u_sec_mv, f_32 i_prim_hv, f_32 i_prim_hv_feedfwd); ^IT_signalpool_Output03/IT_signalpool_Output03.c:60: error: I9147 - declaration is incompatible with "u_08 WD_Register_User()" (declared at line 64of "IT_signalpool_Output03/../../../../../software/source/flex/system/wd_control.h ") u_08 WD_Register_User(u_16 cycle); ^IT_signalpool_Output03/IT_signalpool_Output03.c:61: error: I9147 - declaration is incompatible with "void DC_CTRL_DAB_Calc_Control_Loops(enumdc_ctrl_dab_rail, f_32, f_32, f_32, f_32)" (declared at line 54) void DC_CTRL_DAB_Calc_Control_Loops(enum dc_ctrl_dab_rail rail_id, f_32 u_prim_hv, f_32 u_sec_mv, f_32 i_prim_hv, f_32 i_prim_hv_feedfwd, f_32 i_kl40);
原因:重复定义DAB_Control_ConstB,删除一个即可。经过排查发现两个头文件重复声明了,删除#include "DAB/DAB_Control_data.c"。
error:I9147 - declarion is incompatible with "XXXXXXXXXXXXX"
原因:改动的函数声明有误,在删除原本的旧桩声明之后需要删除原本的函数声明
后记
其他常见的报错还会更新在同一篇博文中,敬请期待~