【FPGA新手篇】vivado生成MCS文件并烧写FLASH

【FPGA新手篇】vivado生成MCS文件并烧写FLASH

        在FPGA开发阶段,通常使用vivado编译生成Bitstream文件,最终将其烧录进FPGA中运行,但是FPGA掉电后,程序丢失,需要再次烧写Bitstream文件。当FPGA开发完成,程序已经不需要修改和调试,就可以生成mcs文件并将其烧写进flash中,这样FPGA掉电,程序也不会丢失了!

        vivado工程编译生成Bitstream文件的流程,可以参考博主的 【FPGA新手篇】Vivado FPGA 基本开发流程。

        【FPGA新手篇】Vivado FPGA 基本开发流程

        vivado工程编译生成Bitstream文件后,点击菜单栏的Tool中的“Generate Memory Configuration File...”,进行MCS文件生成。

          

        mcs文件配置生成流程:      

        1.Format :文件格式选择MCS;

        2.Memory Part :flash型号选择;

        3.Filename :生成的mcs文件名称和路径选择;

        4.Interface:SPI接口选择;

        5.勾选Load bitstream files

        6.选择工程bitstream文件路径;

        点击OK生成mcs文件,弹窗出现success,就OK了!!!

        注:Write checksum写校验,在MCS文件中加入校验和,确保数据在传输和烧录过程中的完整性;Disable bit swapping 禁用比特位顺序调整;Overwrite覆盖之前生成的mcs文件。根据需求选择,一般默认不勾选。

        “Auto Connect”成功连接FPGA器件,右击FPGA芯片选择“Add Configuration Memory Device...”,添加FLASH器件。

        搜索并选择自己的flash型号,点击OK,博主的flash型号是mt25qu256。

        弹窗提示是否想现在编辑flash器件,点击OK就直接进入烧写flash界面。

        Configuration file:选择生成的mcs文件;

        PRM file:选择prm文件,该文件在生成mcs文件时就自行生成了,与mcs在同一路径下。其他配置默认即可,点击OK

        

        flash烧写进度显示,相比于Bitstream文件烧写,时间花费更长,耐心等待。

        进度条100%后,跳出弹窗,一般没有错误和严重警告,只有一些关于ila和vio的警告是没问题的,拔掉下载器,重新给FPGA板卡上电,程序启动( ̄︶ ̄)

Read more

前端TypeScript高级技巧:让你的代码更安全

前端TypeScript高级技巧:让你的代码更安全 毒舌时刻 前端TypeScript?这不是增加工作量吗? "JavaScript就够了,为什么要用TypeScript"——结果类型错误频发,调试困难, "TypeScript太严格了,我写起来很麻烦"——结果代码质量差,维护困难, "我只在关键地方用TypeScript,其他地方用any"——结果失去了TypeScript的意义。 醒醒吧,TypeScript不是负担,而是提高代码质量的利器! 为什么你需要这个? * 类型安全:在编译时发现类型错误 * 代码提示:提供更好的IDE智能提示 * 重构安全:重构代码时更加安全 * 可读性:代码更加清晰易懂 * 可维护性:减少运行时错误,提高代码可维护性 反面教材 // 反面教材:过度使用any function processData(data: any) { // 没有类型检查,容易出错 return data.name.toUpperCase(

【前端】Vue 组件开发中的枚举值验证:从一个Type属性错误说起

【前端】Vue 组件开发中的枚举值验证:从一个Type属性错误说起

🌹欢迎来到《小5讲堂》🌹 🌹这是《小程序》系列文章,每篇文章将以博主理解的角度展开讲解。🌹 🌹温馨提示:博主能力有限,理解水平有限,若有不对之处望指正!🌹 👨💻 作者简介 🏆 荣誉头衔:2024博客之星Top14 | ZEEKLOG博客专家 | 阿里云专家博主 🎤 经历:曾多次进行线下演讲,亦是 ZEEKLOG内容合伙人 以及 新星优秀导师 💡 信念:“帮助别人,成长自己!” 🚀 技术领域:深耕全栈,精通 .NET Core (C#)、Python、Java,熟悉主流数据库 🤝 欢迎交流:无论是基础概念还是进阶实战,都欢迎与我探讨! 目录 * 前言 * 解决过程 * 一、错误场景还原 * 1.1 错误发生的位置 * 1.2 常见的触发场景 * 二、深入理解 Vue

Clawdbot Web网关部署Qwen3-32B:企业内网隔离环境下安全访问配置指南

Clawdbot Web网关部署Qwen3-32B:企业内网隔离环境下安全访问配置指南 1. 为什么需要在内网隔离环境部署Qwen3-32B网关 很多企业技术团队都遇到过类似问题:想用上Qwen3-32B这样能力强的大模型,又不敢直接把模型服务暴露在公网;想让业务系统能调用AI能力,又得确保不突破内网安全边界。Clawdbot Web网关就是为这类场景量身打造的解决方案——它不改变原有模型部署方式,也不要求开放高危端口,而是通过一层轻量、可控、可审计的代理网关,把Qwen3-32B的能力安全地“引渡”进企业内网。 这里说的“安全引渡”,不是简单做端口映射,而是包含三重保障:第一,所有请求必须经过Clawdbot统一鉴权和路由;第二,模型API调用全程走内网通信,不经过外部网络;第三,Web访问层与模型服务层物理隔离,即使前端被渗透,也无法直接触达Ollama后端。我们实测过,在完全断开外网的纯内网环境中,这套方案依然能稳定运行,员工通过浏览器就能正常使用Chat界面,后台模型却始终“隐身”。 你可能会问:既然Ollama自己就能提供API,为什么还要加一层Clawdbot?答

Python + AI大模型应用开发实战:从零搭建智能对话系统

Python + AI大模型应用开发实战:从零搭建智能对话系统

目录 第一部分:技术背景与项目概述 1.1 AI大模型发展现状 1.2 为什么选择Python? 1.3 项目目标 第二部分:环境准备与基础配置 2.1 Python环境搭建 2.2 创建虚拟环境 2.3 安装必要依赖 第三部分:核心功能开发实战 3.1 项目结构设计 3.2 创建FastAPI应用 3.3 数据库模型设计 3.4 数据库配置 3.5 OpenAI服务封装 3.6 聊天API实现 3.7 前端界面实现 3.8 更新主应用文件 第四部分: