<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[EfunStudy的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/EfunStudy</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; EfunStudy]]></copyright><item><title><![CDATA[FPGA + 图像处理（三）生成3x3像素矩阵]]></title><link>https://blog.youkuaiyun.com/EfunStudy/article/details/132827896</link><guid>https://blog.youkuaiyun.com/EfunStudy/article/details/132827896</guid><author>EfunStudy</author><pubDate>Sun, 07 Apr 2024 20:06:02 +0800</pubDate><description><![CDATA[生成NxN的像素矩阵是对图像进行各类滤波操作的基本前提，本文介绍一种通过bram生成3x3矩阵的方法。]]></description><category></category></item><item><title><![CDATA[FPGA + 图像处理 （0）图像与TXT格式的转换，基于python]]></title><link>https://blog.youkuaiyun.com/EfunStudy/article/details/137461604</link><guid>https://blog.youkuaiyun.com/EfunStudy/article/details/137461604</guid><author>EfunStudy</author><pubDate>Sun, 07 Apr 2024 14:07:20 +0800</pubDate><description><![CDATA[都是最基础的操作，注意路径正确就好。]]></description><category></category></item><item><title><![CDATA[FPGA + 图像处理 （二） RGB转YUV色域、转灰度图及仿真]]></title><link>https://blog.youkuaiyun.com/EfunStudy/article/details/137290520</link><guid>https://blog.youkuaiyun.com/EfunStudy/article/details/137290520</guid><author>EfunStudy</author><pubDate>Tue, 02 Apr 2024 22:14:06 +0800</pubDate><description><![CDATA[本次实验比较简单，直接拷贝到工程，路径也没有问题应该可以直接运行，不过还是把工程附上，供大家免费下载，共同学习。【免费】RGB图像转YUV及灰度图FPGA实现工程资源-优快云文库。]]></description><category></category></item><item><title><![CDATA[testbench中一些常用的系统命令]]></title><link>https://blog.youkuaiyun.com/EfunStudy/article/details/137261799</link><guid>https://blog.youkuaiyun.com/EfunStudy/article/details/137261799</guid><author>EfunStudy</author><pubDate>Tue, 02 Apr 2024 12:03:13 +0800</pubDate><description><![CDATA[记录一下自己仿真过程中用到过的一些用于testbench的系统命令，根据自己用到的情况不定时进行补充。]]></description><category></category></item><item><title><![CDATA[SDK报错（1）undefined reference to `f_mount‘]]></title><link>https://blog.youkuaiyun.com/EfunStudy/article/details/136741145</link><guid>https://blog.youkuaiyun.com/EfunStudy/article/details/136741145</guid><author>EfunStudy</author><pubDate>Fri, 15 Mar 2024 15:34:55 +0800</pubDate><description><![CDATA[按文中说法是ff.c文件中用了一个if语句来判断是否启用ff.h头文件，但是却没有地方进行宏定义来满足这个if条件。利用SDK读取sd卡时，添加了xilffs库，而且包含了ff.h头文件，还是对fat库的函数报错。网上有的说在ARM v7 gcc linker中添加xilffs的方法可以解决，但我试了没有用。如下图，我们可以在ff.c中自己添加一个宏定义来实现这个条件。最后在赛灵思论坛找到了一个解决方法，原文连接如下。这时候保存编译之后，报错就消失了。ff.c 文件在bsp工程下。]]></description><category></category></item><item><title><![CDATA[通过生成mcs、bin文件将程序固化到FPGA]]></title><link>https://blog.youkuaiyun.com/EfunStudy/article/details/135579986</link><guid>https://blog.youkuaiyun.com/EfunStudy/article/details/135579986</guid><author>EfunStudy</author><pubDate>Sun, 14 Jan 2024 10:55:28 +0800</pubDate><description><![CDATA[通过将程序固化到FPGA，可以做到断电不丢失程序，上电之后就自动启动程序的作用，整个固化步骤主要分为3步，一是修改约束文件，二是生成mcs或bin文件，三是将程序固化到开发板flash。]]></description><category></category></item><item><title><![CDATA[vivado报错（一）vivado与modelsim联合仿真报错]]></title><link>https://blog.youkuaiyun.com/EfunStudy/article/details/134849488</link><guid>https://blog.youkuaiyun.com/EfunStudy/article/details/134849488</guid><author>EfunStudy</author><pubDate>Thu, 07 Dec 2023 10:54:41 +0800</pubDate><description><![CDATA[根本原因是混合语言库声明顺序不正确。问题可能发生在布尔信号或std_logic_vector信号上，因为VHDL和Verilog之间不存在1:1映射。2.在modelsim命令行使用如下代码，作用是设置Verilog库的优先级高于VHDL。注意：根据问题描述修改位宽是解决不了问题的，因为问题不是位宽不匹配。常见情况是在仿真时选择了混合语言，导致的端口位宽不匹配。1.将混合语言换成单一的语言仿真。根据自己使用的语言选择。]]></description><category></category></item><item><title><![CDATA[基于寄存器的开发、存储器映射以及其他相关，以STM32为例]]></title><link>https://blog.youkuaiyun.com/EfunStudy/article/details/134354148</link><guid>https://blog.youkuaiyun.com/EfunStudy/article/details/134354148</guid><author>EfunStudy</author><pubDate>Wed, 15 Nov 2023 13:05:41 +0800</pubDate><description><![CDATA[以上，就是我对基于寄存器的开发与基于库函数的开发的一些理解，希望能够对大家的嵌入式学习有所启发。]]></description><category></category></item><item><title><![CDATA[关于zynq引脚编号、bank以及封装的一些理解]]></title><link>https://blog.youkuaiyun.com/EfunStudy/article/details/134148042</link><guid>https://blog.youkuaiyun.com/EfunStudy/article/details/134148042</guid><author>EfunStudy</author><pubDate>Tue, 31 Oct 2023 20:48:14 +0800</pubDate><description><![CDATA[学习zynq已经有一段时间了，之前不论是用gpio使用MIO0这样的引脚还是在PL端将引出的端口约束到AB9这样的位置，用的时候也挺正常，但仔细一想又感觉云里雾里，还有bank0、bank1、bank500、bank501这样的分组，一直没有弄明白他们之间具体的关系，今天就来梳理一下。]]></description><category></category></item><item><title><![CDATA[zynq板zedboard+SDK设计（四）结合自建IP核对axi接口文件进行详解]]></title><link>https://blog.youkuaiyun.com/EfunStudy/article/details/132665522</link><guid>https://blog.youkuaiyun.com/EfunStudy/article/details/132665522</guid><author>EfunStudy</author><pubDate>Wed, 27 Sep 2023 15:00:07 +0800</pubDate><description><![CDATA[本文将通过建立一个简易的led灯的IP核，对其中axi相关接口的文件以及每个步骤进行详细分析，以实现从知道怎么做到知道为什么的转变IP核的建立工程参照了正点原子实验需要对AXI总线有一些基本的了解，可以看一看本人主页的AXI学习记录。]]></description><category></category></item><item><title><![CDATA[zynq板zedboard+SDK设计（三）AXI GPIO软核]]></title><link>https://blog.youkuaiyun.com/EfunStudy/article/details/132962681</link><guid>https://blog.youkuaiyun.com/EfunStudy/article/details/132962681</guid><author>EfunStudy</author><pubDate>Mon, 18 Sep 2023 11:13:48 +0800</pubDate><description><![CDATA[AXI GPIO IP 核为 AXI 接口提供了一个通用的输入/输出接口。与 PS 端的 GPIO 不同，AXI GPIO 是一个软核（Soft IP），即 ZYNQ 芯片在出厂时并不存在这样的一个硬件电路，而是由用户通过配置 PL 端的逻辑资源来实现的一个功能模块。而 PS 端的 GPIO 是一个硬核（Hard IP），它是一个生产时在硅片中实现的功能电路。AXI GPIO 可以配置成单通道或者双通道，每个通道的位宽可以单独设置。]]></description><category></category></item><item><title><![CDATA[AXI总线自学笔记]]></title><link>https://blog.youkuaiyun.com/EfunStudy/article/details/132758890</link><guid>https://blog.youkuaiyun.com/EfunStudy/article/details/132758890</guid><author>EfunStudy</author><pubDate>Fri, 08 Sep 2023 14:18:17 +0800</pubDate><description><![CDATA[AXI（Advanced eXtensible Interface）是一种总线协议，该协议是ARM 公司提出的 AMBA（Advanced Microcontroller Bus Architecture）3.0 协议中最重要的部分，是一种面向高性能、高带宽、低延迟的片内总线。它的地址/控制和数据相位是分离的，支持不对齐的数据传输，同时在突发传输中，只需要首地址，同时分离的读写数据通道、并支持显著传输访问和乱序访问，并更加容易就行时序收敛。AXI 是 AMBA 中一个新的高性能协议。]]></description><category></category></item><item><title><![CDATA[zynq板zedboard+SDK设计（二）HDMI工程解析]]></title><link>https://blog.youkuaiyun.com/EfunStudy/article/details/132577124</link><guid>https://blog.youkuaiyun.com/EfunStudy/article/details/132577124</guid><author>EfunStudy</author><pubDate>Wed, 06 Sep 2023 12:32:30 +0800</pubDate><description><![CDATA[bd部分的内容就是这些，整体来看就是先通过vdma从ddr内读取视频数据，然后将rgb格式转换成YCrCb格式，再结合vide timing controller产生的时序将数据流转化成视频输出格式的数据，最后通过HDMI输出IP输出数据。GitHub上原版的工程没有SDK部分需要自己添加，这里放上本次使用的工程以供不便去GitHub上下载的读者使用。【免费】zedboard开发板读取sd卡内图像通过HDMI显示-嵌入式文档类资源-优快云文库t=N7T8。]]></description><category></category></item><item><title><![CDATA[FPGA + 图像处理（一）三种向zynq中DDR内导入图像数据的方法]]></title><link>https://blog.youkuaiyun.com/EfunStudy/article/details/132605238</link><guid>https://blog.youkuaiyun.com/EfunStudy/article/details/132605238</guid><author>EfunStudy</author><pubDate>Fri, 01 Sep 2023 10:02:26 +0800</pubDate><description><![CDATA[介绍了三种比较基础的将数据存入ddr的方法，也不一定是图像数据，其他的数据也都可以按照这些方法导入ddr内，对于图像数据，通过sdk直接存入ddr内和通过sd卡读取还是比较便捷的，通过将数据初始化到rom内的方法限制较大，在导入图像数据后，因为三种方法的数据格式不同，要注意数据的使用方法。]]></description><category></category></item><item><title><![CDATA[zedboard基于petalinux移植Linux系统及一些应用]]></title><link>https://blog.youkuaiyun.com/EfunStudy/article/details/132424902</link><guid>https://blog.youkuaiyun.com/EfunStudy/article/details/132424902</guid><author>EfunStudy</author><pubDate>Tue, 22 Aug 2023 16:00:02 +0800</pubDate><description><![CDATA[基于petalinux的Linux移植教程，用到的工具有vivado2019.1，安装了petalinux的Ubuntu系统（本人用的是虚拟机）]]></description><category></category></item><item><title><![CDATA[vitis 报错（2）[Common 17-53] User Exception: Unable to get hpfm file from project]]></title><link>https://blog.youkuaiyun.com/EfunStudy/article/details/132077722</link><guid>https://blog.youkuaiyun.com/EfunStudy/article/details/132077722</guid><author>EfunStudy</author><pubDate>Thu, 03 Aug 2023 10:22:59 +0800</pubDate><description><![CDATA[在创建工程时，会有一个 "Project is an extensible Vitis platform"可勾选项，如果勾选了此项，Menu->File->Export 会变成 "Export Platform" 而不是 "Export Hardware"。如果直接导出，可能会报错。此时需要在platform setup页面使能M_AXI_GP端口以及FCLK_CLK0端口，并使FCLK_CLK0端口设置成默认。]]></description><category></category></item><item><title><![CDATA[zynq板zedboard+vitis设计（四）基于bram的ps与pl交互]]></title><link>https://blog.youkuaiyun.com/EfunStudy/article/details/130822987</link><guid>https://blog.youkuaiyun.com/EfunStudy/article/details/130822987</guid><author>EfunStudy</author><pubDate>Thu, 06 Jul 2023 11:49:00 +0800</pubDate><description><![CDATA[本文简单介绍通过bram在ps和pl间进行数据的传输以及命令的交互。]]></description><category></category></item><item><title><![CDATA[Verilog语法入门 （一） 数值表示，数据类型及运算符]]></title><link>https://blog.youkuaiyun.com/EfunStudy/article/details/131542515</link><guid>https://blog.youkuaiyun.com/EfunStudy/article/details/131542515</guid><author>EfunStudy</author><pubDate>Thu, 06 Jul 2023 11:09:54 +0800</pubDate><description><![CDATA[一些Verilog的基础知识点，下一次开始介绍模块的结构框架和时序结构。]]></description><category></category></item><item><title><![CDATA[VHDL语法入门 （八） 函数和过程]]></title><link>https://blog.youkuaiyun.com/EfunStudy/article/details/131299624</link><guid>https://blog.youkuaiyun.com/EfunStudy/article/details/131299624</guid><author>EfunStudy</author><pubDate>Tue, 20 Jun 2023 09:12:13 +0800</pubDate><description><![CDATA[然而从应用角度来看，process是直接在主代码中使用，而函数和过程主要为建库而使用，他们用于存储常用的代码以达到代码重用和共享的目的。函数经常存放在包集中（目的是为了进行有效的代码分割，代码共享和代码重用），但也可以放在主代码中（既可以放在entity中，也可以放在architecture中）。前面我们介绍过函数内部wait语句，信号声明和元件调用是不可综合的，对于过程来说，如果一个过程在一个process中进行了声明，那么其内部可以声明信号。参数的个数是任意的，可以没有参数。注意，警告，错误和失败。]]></description><category></category></item><item><title><![CDATA[VHDL语法入门 （七） 包集和元件]]></title><link>https://blog.youkuaiyun.com/EfunStudy/article/details/131299542</link><guid>https://blog.youkuaiyun.com/EfunStudy/article/details/131299542</guid><author>EfunStudy</author><pubDate>Tue, 20 Jun 2023 09:08:24 +0800</pubDate><description><![CDATA[component和entity的声明格式一样，必须指出端口名称以及端口模式（in,out,buffer或inout）以及数据类型（std_logic_vector,interger和boolean等）。元件（component），函数（function）以及过程（procedure）等部分的使用往往是为了实现常用代码的共享。一个元件（component）是一段结构完整的常用代码（包括库声明，实体和结构体这些基本组成部分）。package的声明部分包括以下内容：元件，函数，过程，类型和常量说明等。]]></description><category></category></item></channel></rss>