【回眸】CANTATA常见错误分析及解决方案

发布时间:2026/9/8 18:43:22

【回眸】CANTATA常见错误分析及解决方案
目录错误1原因及解决方案报错2 解决方案报错3解决方案报错4解决方案报错5解决方案报错6解决方案报错7解决方案错误1IT_pwm_drv_bb_input01/IT_pwm_drv_bb_input01.c:53: error: I9070 - incomplete type struct pwm_bb_register_pointers [4] is not allowedtypedef 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;原因及解决方案原因没找到struct pwm_bb_register_pointers解决方案PRIVATE const struct pwm_bb_register_pointers { volatile struct HRTIM_COMMON_tag * common; volatile struct HRTIM_TIMER_tag * tim; } pwm_bb_reg_ptrs[PWM_BB_HRTIM_PHASE_COUNT] { #ifndef CANTATA_TESTING { REG_HRTIM2_COMMON, REG_HRTIM2_TIMERA }, { REG_HRTIM2_COMMON, REG_HRTIM2_TIMERB }, { REG_HRTIM2_COMMON, REG_HRTIM2_TIMERC }, { REG_HRTIM2_COMMON, REG_HRTIM2_TIMERE } #else { Cantata_REG_HRTIM2_COMMON, Cantata_REG_HRTIM2_TIMERA }, { Cantata_REG_HRTIM2_COMMON, Cantata_REG_HRTIM2_TIMERB }, { Cantata_REG_HRTIM2_COMMON, Cantata_REG_HRTIM2_TIMERC }, { Cantata_REG_HRTIM2_COMMON, Cantata_REG_HRTIM2_TIMERE } #endif };报错2 c:/qa_systems/cantata/mingw/bin/../lib/gcc/mingw32/8.2.0/../../../../mingw32/bin/ld.exe: IT_pwm_drv_bb_input01/IT_pwm_drv_bb_input01.o:IT_pwm_drv_bb_input01.ci.sm.c:(.text0x82b): undefined reference to ACCESS_FUNCTION_pwm_drv_bb_PWM_BB_ConfigureHRTIMcollect2.exe: error: ld returned 1 exit status解决方案这个说明无法直接测试PWM_BB_ConfigureHRTIM函数需要通过其他方法测试。比如说搜索PWM_BB_ConfigureHRTIM函数看其他函数是否调用该函数。报错3ITPortOutput01/ITPortOutput01.c:271: error: I9144 - a value of type int cannot be used to initialize an entity of typePortConfigType (aka struct PortConfigTypedef) PortConfigType portcfg PORTPINOUT; ^C:\qasystems\cantata\inc\cppth.h:884: warning: I9223 - function ACCESSFUNCTIONPortPortAssembleGPIOConfig declared implicitly ACCESSFUNCTION##file####func ^ in expansion of macro CPPTHACCESSFUNCTION at line 2754 in expansion of macro ACCESSFUNCTION at line 281 of ITPortOutput01/ITPortOutput01.c returnValue ACCESSFUNCTION(Port, PortAssembleGPIOConfig)(portcfg); ^ITPortOutput01/ITPortOutput01.c:281: error: I9513 - a value of type int cannot be assigned to an entity of type structgpiopinconfig returnValue ACCESSFUNCTION(Port, PortAssembleGPIOConfig)(portcfg); ^ITPortOutput01/ITPortOutput01.c:272: warning: I9550 - variable returnValue was set but never used struct gpiopinconfig returnValue; ^Fatal Error I1112: Coverage Instrumentation failed解决方案PortConfigType portcfg 初始值不对报错4IT_Port_Output01/IT_Port_Output01.c:292: error: I9513 - a value of type int cannot be assigned to an entity of type structgpio_pin_configreturnValue ACCESS_FUNCTION(Port, Port_Assemble_GPIO_Config)(port_cfg);解决方案说明该函数无法直接测试搜索代码里是否有包含该函数的内容报错5c:/qa_systems/cantata/mingw/lib/gcc/mingw32/8.2.0/include/stddef.h:406: error: I9144 - a value of type void * cannot be used to initialize an entity of type constPort_ConfigType#define NULL ((void *)0)^in expansion of macro NULL at line 300 ofIT_Port_Output01/IT_Port_Output01.cconst Port_ConfigType ConfigPtr NULL;^Fatal Error I1112: Coverage Instrumentation failedmake[3]: *** [IT_Port_Output01/test.mk:127: IT_Port_Output01/IT_Port_Output01.o] Error 2Converting CTR file to HTML解决方案NULL指针和 void*0一样报错6^C:\qa_systems\cantata\inc\cppth.h:870: error: I9154 - expression must have struct or union type but it has type struct nvm_state_def*(*(av_##file.ref_##var))^in expansion of macro CPPTH_ACCESS_VARIABLE at line 2747in expansion of macro ACCESS_VARIABLE at line 613 ofIT_NvM_Input01/IT_NvM_Input01.cACCESS_VARIABLE(NvM, nvm_states [0].read_state) NVM_STATE_READ_IDLE;^C:\qa_systems\cantata\inc\cppth.h:870: error: I9154 - expression must have struct or union type but it has type struct nvm_state_def*(*(av_##file.ref_##var))^in expansion of macro CPPTH_ACCESS_VARIABLE at line 2747in expansion of macro ACCESS_VARIABLE at line 615 ofIT_NvM_Input01/IT_NvM_Input01.cACCESS_VARIABLE(NvM, nvm_states [0].write_state) NVM_STATE_READ_IDLE;解决方案ACCESS_VARIABLE(NvM, nvm_states [0].read_state) NVM_STATE_READ_IDLE;这样写不对修改后ACCESS_VARIABLE(NvM, nvm_states)[0].read_state NVM_STATE_READ_IDLE;报错7IT_Nvm_Input02/IT_Nvm_Input02.c:311:45: error: assignment of member flags in read-only objectACCESS_VARIABLE(NvM, nvm_config_flash)[0].flags 0x0400U;解决方案这个错误说明赋值的这个变量其实是常量无法更改要么曲线救国要么屏蔽

相关新闻

RPCS3 怎么装:手把手把 PS3 模拟器跑上 PC 的四步操作

RPCS3 怎么装:手把手把 PS3 模拟器跑上 PC 的四步操作

2026/9/8 18:43:22

RPCS3 怎么装:手把手把 PS3 模拟器跑上 PC 的四步操作 【免费下载链接】rpcs3 PlayStation 3 emulator and debugger 项目地址: https://gitcode.com/GitHub_Trending/rp/rpcs3 RPCS3 是一款免费开源的 PS3 模拟器,用 C 写成,能在 Win…

YOLOv13改进策略【注意力机制篇】| ICASSP 2023 EMA 高效多尺度注意力,跨空间学习提高远距离建模依赖

YOLOv13改进策略【注意力机制篇】| ICASSP 2023 EMA 高效多尺度注意力,跨空间学习提高远距离建模依赖

2026/9/8 18:43:22

本文基于 YOLOv13 官方仓库(iMoonLab/yolov13,ultralytics 8.3.63 fork) 实测整理,Windows/CPU 全程可跑。 前言 YOLOv13(HyperACE 超图 + FullPAD 全流水线聚合架构)采用全新的 A2C2f/DSConv backbone 结构,但注意力模块的即插即用特性不变。这篇把 EMA(Efficient Mu…

Astro Markdoc 集成演化全解:从 0.0.1 到 2.0.9 的关键能力、配置语义与升级路径

Astro Markdoc 集成演化全解:从 0.0.1 到 2.0.9 的关键能力、配置语义与升级路径

2026/9/8 18:43:22

Astro Markdoc 集成演化全解:从 0.0.1 到 2.0.9 的关键能力、配置语义与升级路径 【免费下载链接】astro The web framework for content-driven websites. ⭐️ Star to support our work! 项目地址: https://gitcode.com/GitHub_Trending/as/astro 本文以 …

前端html2canvas结合print-js打印页面,并解决多余空白页问题

前端html2canvas结合print-js打印页面,并解决多余空白页问题

2026/9/8 19:33:24

一、功能 前端html2canvas打印 HTML页面局部打印 二、代码 结合print-js打印页面 import html2canvas from html2canvas; import printJS from print-js;/** 打印*/const handleDownload async () > {console.log(inputRef.current.scrollWidth,inputRef.current.scrollWid…

基于Django的StockMing股票预测系统:从ORM建模到ECharts可视化全解析

基于Django的StockMing股票预测系统:从ORM建模到ECharts可视化全解析

2026/9/8 19:33:24

简介:StockMing股票预测系统是基于Django框架的完整设计源码,面向Python Web开发者、金融数据分析人员以及机器学习实践者,解决从股票数据获取、预处理到价格预测、可视化展示的一站式落地问题。资源共计646个文件,包含334个JavaS…

Puppeteer 请求拦截完全指南:从基础拦截到 Cooperative Intercept Mode 协作式拦截

Puppeteer 请求拦截完全指南:从基础拦截到 Cooperative Intercept Mode 协作式拦截

2026/9/8 19:33:24

Puppeteer 请求拦截完全指南&#xff1a;从基础拦截到 Cooperative Intercept Mode 协作式拦截 【免费下载链接】puppeteer JavaScript API for Chrome and Firefox 项目地址: https://gitcode.com/GitHub_Trending/puppeteer1/puppeteer </&#xff5c;&#xff5c;…

从JSON数据清洗到数据库导入:背单词词库建设的实战记录

从JSON数据清洗到数据库导入:背单词词库建设的实战记录

2026/9/8 19:33:24

我原本以为&#xff0c;把几千个单词塞进数据库&#xff0c;最折磨人的环节是写 INSERT 语句&#xff0c;直到 danci 3 这个项目做到一半&#xff0c;我才发现自己幼稚得可爱。danci 是一个背单词工具&#xff0c;第三版的目标很简单&#xff1a;把散落在多个 JSON 文件里的几千…

并发编程(二)—synchronized和volatile

并发编程(二)—synchronized和volatile

2026/9/8 19:33:24

synchronized保证读和写的安全&#xff0c;volatile保证读的安全&#xff0c;但不保证写的安全&#xff0c;在多处理器开发中保证了共享变量的“可见性”。可见性&#xff1a;当一个线程 修改一个共享变量时&#xff0c;另外一个线程能读到这个修改的值。一、高速缓存 1.1 高速…

Remotion 图片处理完全指南:从 `<Img>` 布局定位到 `getImageDimensions` 动态取图

Remotion 图片处理完全指南:从 `<Img>` 布局定位到 `getImageDimensions` 动态取图

2026/9/8 19:23:24

Remotion 图片处理完全指南&#xff1a;从 <Img> 布局定位到 getImageDimensions 动态取图 【免费下载链接】remotion &#x1f3a5; Make videos programmatically with React 项目地址: https://gitcode.com/GitHub_Trending/re/remotion 本文围绕 Remotion 技能…

中国人民大学杨琳团队《Nature Communications》 | 全球潮汐湿地土壤有机碳时空格局与环境驱动:一项2009-2020年的全球评估

中国人民大学杨琳团队《Nature Communications》 | 全球潮汐湿地土壤有机碳时空格局与环境驱动:一项2009-2020年的全球评估

2026/9/7 20:21:46

本文首发于“生态学者”&#xff01;从“湿地面积”到“土壤碳密度”&#xff1a;为什么需要重新认识潮汐湿地蓝碳变化&#xff1f;潮汐湿地位于陆地与海洋的交汇地带&#xff0c;包括红树林、盐沼和潮滩&#xff0c;是全球重要的蓝碳生态系统。其土壤能够长期储存大量有机碳&a…

adb抓包

adb抓包

2026/9/8 4:55:53

前言 本文介绍如何通过 tcpdump 在 Android 手机上抓取网络数据包&#xff0c;并在电脑端使用 Wireshark 进行分析。适用于需要排查 App 网络请求、分析接口调用或调试网络问题的开发与测试场景。1. 手机要有 root 权限2. 下载 tcpdump3. adb push C:\Users\zhangkuixun\Downlo…

大模型推理镜像极简瘦身:从 25GB 巨无霸到 3GB 精简镜像实战

大模型推理镜像极简瘦身:从 25GB 巨无霸到 3GB 精简镜像实战

2026/9/7 8:03:37

大模型推理镜像极简瘦身&#xff1a;从 25GB 巨无霸到 3GB 精简镜像实战 在云原生基础设施中&#xff0c;容器镜像体积直接决定了服务的部署速度与弹性扩容敏捷度。对于传统的 Go / Java 微服务&#xff0c;镜像体积通常被严格控制在 50MB 到 200MB 以内&#xff0c;拉取镜像只…

芯片良率波动可视化:动画拆解工艺因果,重建客户信任

芯片良率波动可视化:动画拆解工艺因果,重建客户信任

2026/9/8 0:02:30

芯片这个行业有个不太被人摆到台面上、但几乎每天都在发生的场景&#xff1a;客户拿着一条良率曲线截图问你&#xff0c;这批货的良率怎么掉了三个点&#xff0c;是不是工艺出问题了&#xff0c;产生的不良会不会流到他们产线上去。你解释了半天&#xff0c;客户似懂非懂&#…

PyTorch DataLoader参数冲突:sampler与shuffle互斥的根源与正确写法

PyTorch DataLoader参数冲突:sampler与shuffle互斥的根源与正确写法

2026/9/8 0:02:30

ValueError: sampler option is mutually exclusive with shuffle&#xff0c;这个报错我在 PyTorch 的 DataLoader 上至少见过几十次了&#xff0c;而且很有意思的是&#xff0c;它经常不是新手专属——很多写了好几年模型的老手&#xff0c;在从单机改成自定义采样器&#xf…

中国车企再破谣言,GAC吉利零跑获欧盟安全五星

中国车企再破谣言,GAC吉利零跑获欧盟安全五星

2026/9/8 0:02:30

有人可能在网上开着皮卡拍视频&#xff0c;声称中国电动车不仅性能不如美国大排量车型&#xff0c;安全性也堪忧。然而事实恰恰相反&#xff0c;GAC、吉利和零跑最新推出的电动车型在极为严苛的欧盟新车安全评鉴&#xff08;Euro NCAP&#xff09;测试中全部斩获满分。就在特斯…

远程协作的工作台整理

远程协作的工作台整理

2026/9/8 4:23:39

远程协作的工作台整理远程协作的核心不是再加一个工具&#xff0c;而是让交接信息足够完整。异步任务要写明目标、输入位置、完成标准和需要决策的人。 工作台的最小配置 将日程、待办、代码和沟通入口收拢到少数固定位置&#xff1b;通知按紧急程度分层。工作台不需要模仿办公…

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

2026/9/8 3:19:39

持续集成 流水线自动化与 声明式交付 实践&#xff1a;原型怎样变成可用功能分类&#xff1a;[AI/大模型]细分主题&#xff1a;AI 增强型 CI/CD 流水线自动化与 GitOps 实践&#xff1a;Agent 工作流、工具调用与任务拆解&#xff1a;从原型到生产的验收清单很多团队在尝试用大…

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

2026/9/8 4:00:23

容器编排 生产环境运维与排障实战&#xff1a;复盘记录怎样真正派上用场分类&#xff1a;[工程技术]细分主题&#xff1a;Kubernetes 生产环境运维与排障实战&#xff1a;可复制的项目复盘模板与决策记录大部分团队的事故复盘报告&#xff0c;最后都变成了躺在 Confluence 或钉…