如何使用 Vivado 从源码构建 Infinite-ISP FPGA 项目

embedded/2024/11/23 16:28:42/

a976703e02fa71e710a181bdf01f2fd1.jpeg

如约介绍源码构建 Infinite-ISP 项目,其实大家等的是源码,所以中间过程简洁略过,可以直接翻到文末获取链接。

开源ISP(Infinite-ISP)介绍

构建工程

第一步,从文末或者下面链接获取源码

https://github.com/10x-Engineers/Infinite-ISP_RTL

eedc3602ab914d6a12afcf5180d3403e.png

第二步,直接打开工程即可

baf3e319eb3808c2d20fc786a142af0b.png

再介绍以下配置:

  • Vivado版本:2024.1

  • Sensor:Onsemi AR1335 或者 Omnivision OV5647 或者 Sony IMX219

不同版本的驱动需要再Vitis里进行设置:

e33414bbb948a0a1bfcd50d1c50dd232.png

整个数据流比较简单,从MIPI输入RAW数据,通过DDR缓存后进入ISP进行数据处理,处理好的数据进行DDR进行后续显示或者编解码输出。

源码

源码来源:

https://github.com/10x-Engineers/Infinite-ISP

通过百度网盘分享的文件:Infinite-ISP 链接:https://pan.baidu.com/s/1u5wY25ciIxWogeKqKmHlMQ?pwd=open

后续工程更新及最新版本文件以GITHUB为主,本链接失效或者工程变动不在更新~

总结

本篇文章内容没什么东西,这里说一下这个开源项目,这个开源项目其实是在之前《优秀的 Verilog/FPGA开源项目介绍(二十六)- ISP (图像信号处理)》文章中介绍的几个项目的基础上发展而来,这就是开源的魅力,减少了很多不必要的工作量。

本工程因为要测试ISP的工作流程,所以略显臃肿,后续我们将以ZYNQ7020+OV5647为硬件基础,简化工程后再进行详细的设计,包括每个IP的设计及算法介绍。


http://www.ppmy.cn/embedded/139885.html

相关文章

常用并发设计模式

避免共享的设计模式 不变性(Immutability)模式,写时复制(Copy-on-Write)模式,线程本地存储(Thread-Specific Storage)模式本质上都是为了避免共享。 1、使用时需要注意不变性模式…

使用llama.cpp进行量化和部署

git clone https://github.com/ggerganov/llama.cpp cd llama.cpp 🖥️ CPU 版本 cmake -B build_cpu cmake --build build_cpu --config Release 🖥️ CUDA 版本 cmake -B build_cuda -DLLAMA_CUDAON cmake --build build_cuda --config Release -j …

Spark RDD 的宽依赖和窄依赖

通俗地理解 Spark RDD 的 宽依赖 和 窄依赖,可以通过以下比喻和解释: 1. 日常生活比喻 假设你在管理多个团队完成工作任务: 窄依赖:每个团队只需要关注自己的分工,完成自己的任务。例如,一个人将纸张折好&…

人工智能的核心思想-神经网络

神经网络原理 引言 在理解ChatGPT之前,我们需要从神经网络开始,了解最简单的“鹦鹉学舌”是如何实现的。神经网络是人工智能领域的基础,它模仿了人脑神经元的结构和功能,通过学习和训练来解决复杂的任务。本文将详细介绍神经网络…

Linux 中的 zoxide 命令详解与示例

文章目录 Linux 中的 zoxide 命令详解与示例zoxide 简介安装 zoxide使用包管理器Ubuntu/DebianArch LinuxFedoramacOS(Homebrew)Windows(Scoop) 使用脚本安装(linux、Centos)安装流程 集成到 ShellBashZshF…

MongoDB的常用命令(数据库操作、集合操作、文档操作)

文章目录 1. 数据库操作1.1 数据库的命名规范1.2 选择数据库和创建数据库1.3 删除数据库1.4 查看所有数据库1.5 查看当前正在使用的数据库 2. 集合操作2.1 集合的命名规范2.2 集合的显式创建2.3 集合的隐式创建2.4 删除集合2.5 查看当前数据库中的所有集合 3. 文档操作3.1 文档…

QT之QML从入门到精通(第八章)

布局使用 Column控件的使用 main.qml import QtQuick 2.12 import QtQuick.Window 2.12 import QtQuick.Controls 2.12 import QtQuick.Layouts 1.12Window {visible: truewidth: 640height: 480title: qsTr("Hello World")Column{ //列布局id:colspacing: 10 //控…

GRU (门控循环单元 - 基于RNN - 简化LSTM又快又好 - 体现注意力的思想) + 代码实现 —— 笔记3.5《动手学深度学习》

目录 0. 前言 1. 门控隐状态 1.1 重置门和更新门 1.2 候选隐状态 1.3 隐状态 2. 从零开始实现 2.1 初始化模型参数 2.2 定义模型 2.3 训练与预测 3 简洁实现 4. 小结 0. 前言 课程全部代码(pytorch版)已上传到附件看懂上一篇RNN的所有细节&am…