BUG修复(不断整理&想起什么就整理什么)

目录

一、FPGA系列

1.Synthesis failed

​编辑

2.Quartus II 报错

3.IP is locked 

二、STM32系列

1.cortex-M4报错

2.KEIL软件中编译时出现的Error L6200E: symbol multiply defined ...的解决方法

3.keil软件中编译时出现error:  #20: identifier "hadc2" is undefined

4.c语言存储类报错


 声明:此篇博文是记录本人从开始学习计算机过程中遇到的各种类型的报错以解决办法,希望给同道中人提供一点绵薄的帮助,也欢迎大家在评论区讨论或私信我交流问题

共同进步!

一、FPGA系列

1.Synthesis failed

错误:综合失败,但仿真能跑,并且不显示错误

原因&解决:计算机名称带有中文,改成纯英文并且重启计算机即可

2.Quartus II 报错

除了license 问题,还遇到了一运行就闪退的问题

就是正常的安装完毕破解完毕的情况下,打开一会儿就会出现下面的警告,然后点击OK或者右上角 就会闪退

解决:以管理员身份运行就可以正常使用

3.IP is locked 

问题:发生IP核锁定,一般是Vivado版本不同导致的,当用新版本打开老版本的project时,会出现下面IP核被锁的情况

解决: Reports -> Report IP Status->

<think>我们正在处理一个关于Vivado设计工具中遇到“module not found”错误的问题,具体是模块'system_processing_system7_0_0'未找到。根据用户提供的引用内容,这个问题可能与Vivado在2022年出现的时间相关bug有关(即Y2K22问题),或者是由于IP核生成过程中出现了问题。 引用[1]中提到,自2022年1月31日起,Vivado HLS和Vitis HLS使用的export_ip命令无法导出IP,原因是HLS工具设置ip_version的格式(YYMMDDHHMM)作为一个有符号整数会导致溢出。解决方案是应用Xilinx提供的补丁(Y2K22补丁)。 引用[2]中描述了一个类似的问题,即在2022年5月移植去年(2021年)的项目时,一些IP核(如v_mix, v_tpg等)在综合时失败,错误信息也是模块未找到。原因是在2022年系统时间下,Vivado 2019.1中关于HLS的操作不兼容,导致IP核生成不完整(例如,在IP核的hdl目录下没有生成verilog文件夹)。解决方案是将系统时间改回2021年,然后复位工程并重新编译。同时,也提到了官方补丁。 现在用户遇到的是模块'system_processing_system7_0_0'未找到。这个模块看起来是Zynq处理系统的IP核(通常用于Zynq-7000系列FPGA)。因此,我们可以推断可能的原因和解决方案如下: 可能的原因: 1. Y2K22问题:由于系统时间在2022年,导致Vivado在生成IP核时出现错误,从而没有正确生成该模块的HDL文件。 2. IP核未正确生成:可能是由于Vivado版本问题、许可证问题或生成过程中的其他错误,导致IP核没有成功生成。 3. 设计文件中引用了该模块,但该模块对应的IP核并未添加到工程中,或者添加后没有重新生成输出产品(Generate Output Products)。 解决方案: 1. 首先,检查是否应用了Y2K22补丁。如果没有,请下载并安装补丁(参考引用[1]中的链接:https://support.xilinx.com/s/article/76960?language=en_US)。 2. 如果已经应用补丁或者问题依旧,可以尝试将系统时间改到2021年(例如2021年12月31日),然后重新生成IP核(在Vivado中,选中IP核,右键选择“Generate Output Products”)。注意,生成完成后,可以将系统时间改回当前时间。 3. 检查IP核是否被正确添加到工程中: - 在Vivado的Block Design中,确认该IP核(processing_system7)存在。 - 在Sources窗口中,展开IP Sources,找到该IP核,并检查其下的HDL文件是否存在(通常在<ip_name>/hdl/verilog或<ip_name>/hdl/vhdl下)。 4. 如果IP核存在,但HDL文件缺失,则尝试重新生成输出产品: - 在Sources窗口的IP核上右键,选择“Generate Output Products...”,然后选择“Global”或“Synthesis”选项,点击Generate。 5. 如果重新生成输出产品后仍然没有生成HDL文件,则考虑重新创建IP核: - 在Block Design中删除该IP核,然后重新添加并配置,最后重新生成输出产品。 6. 确保在综合或实现之前,已经运行了“Generate Block Design”或“Generate Output Products”以及“Create HDL Wrapper”。 另外,注意用户引用的两个问题都是针对HLS相关的IP核(如v_tpg, v_mix等),而用户现在遇到的是processing_system7(Zynq处理系统)的IP核。虽然这个IP核不是HLS IP,但Y2K22问题可能影响整个Vivado的IP生成机制,所以同样适用。 如果上述方法都不能解决问题,可能需要考虑: - 检查Vivado的版本,并升级到最新版本(确保已包含Y2K22修复)。 - 检查许可证是否包含该IP核(processing_system7是Zynq器件的基本IP,通常不需要额外许可证,但需确认)。 由于用户的问题描述中没有提到具体的Vivado版本和系统时间,我们优先考虑Y2K22问题和IP核生成问题。 请用户按照上述步骤尝试解决。如果问题仍然存在,请提供更多信息(如Vivado版本,操作系统,项目创建时间等)。 生成相关问题: 1. 如何安装Vivado的Y2K22补丁? 2. 如何重新生成Vivado IP核的输出产品? 3. 在Vivado中,如何为Zynq处理器配置处理系统(PS)? 4. 为什么Vivado在2022年会出现时间相关的bug? 5. 除了修改系统时间,还有哪些方法可以解决Vivado的Y2K22问题?</think>### Vivado 模块未找到错误分析:`system_processing_system7_0_0` #### 问题原因分析 1. **Y2K22 时间兼容性问题** Vivado 2019.1 及更早版本存在与 2022 年系统时间不兼容的 Bug(即 Y2K22 问题)。IP 核生成工具在 2022 年后的系统时间下会异常中断,导致模块文件(如 `.v`/`.vhd`)未能正确生成[^1][^2]。 - 具体表现:IP 核目录(如 `project.srcs/sources_1/bd/<design>/ip/<ip_name>/hdl`)中缺失 `verilog` 文件夹及 HDL 源文件。 2. **IP 核生成失败** `processing_system7` 是 Zynq-7000 系列的处理系统 IP 核。若生成过程中断,会导致 `system_processing_system7_0_0` 模块缺失,引发综合错误。 3. **设计依赖未更新** 修改系统配置后未重新生成输出文件(Output Products),导致设计引用旧版本模块。 --- #### 解决方案 ##### ✅ 方法 1:应用官方 Y2K22 补丁(推荐) 1. 下载并安装 Xilinx 官方补丁: [Y2K22 Patch Download (Support Article 76960)](https://support.xilinx.com/s/article/76960) 2. 重新生成 IP 核: ```tcl reset_project ;# 复位工程 generate_target all [get_files *.bd] ;# 重新生成所有 IP ``` 3. 重新综合设计。 ##### ✅ 方法 2:临时修改系统时间(无补丁时) 1. 关闭 Vivado,将系统时间改为 **2021 年 12 月 31 日**。 (Windows:关闭自动时间设置 → 手动修改日期) 2. 重新打开 Vivado,执行: ```tcl reset_project launch_runs synth_1 -jobs 8 ;# 重新综合 ``` 3. 综合完成后恢复系统时间[^2]。 ##### ✅ 方法 3:手动重新生成 IP 核 1. 在 Block Design 中右键点击 `processing_system7` IP 核 → **Delete**。 2. 重新添加并配置该 IP 核(`IP Catalog → Zynq Processing System`)。 3. 右键点击 IP 核 → **Generate Output Products** → 选择 **Global** 模式。 ```mermaid graph LR A[Generate Output Products] --> B{选择模式} B --> C[Global] C --> D[生成所有文件] ``` 4. 更新顶层封装(`Create HDL Wrapper`)。 --- #### 验证步骤 1. 检查 IP 核目录结构: ```plaintext project.srcs └── sources_1 └── bd └── system └── ip └── system_processing_system7_0_0 ├── hdl │ └── verilog <-- 确保此文件夹存在 │ ├── system_processing_system7_0_0.v │ └── ... └── synth └── system_processing_system7_0_0.v ``` 2. 检查综合日志: 确认无 `[Synth 8-439] module not found` 错误。 > **注意**:Y2K22 问题主要影响 **Vivado 2019.1 及更早版本**。若使用 Vivado 2020.1+,请升级至最新版本(已修复Bug)。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值