笔记
文章平均质量分 65
To丶紫罗兰
保持学习,保持热爱
展开
-
ZYNQ-LINUX环境C语言利用Curl库实现HTTP通讯
在Zynq-Linux环境中,需要使用C语言来编写APP时,访问HTTP一般可以使用Curl库来实现,但是在Zynq的SDK中,并没有集成该库,在寻找了很多资料后找到了一种使用很方便的额办法。这篇文章主要记录一下移植Curl的过程。原创 2024-07-07 20:56:25 · 402 阅读 · 0 评论 -
使用AXI4总线控制MMCM时钟模块
这篇文章主要记录了笔者在使用AXI控制MMCM模块的一些笔记和过程,当然MMCM模块还有好多功能本文并未体现。笔者水平有限,如有错误尽请指正。原创 2023-04-03 22:09:29 · 1289 阅读 · 5 评论 -
FPGA驱动HUB75接口的LED模组(像素点映射)
笔者最近在项目中需要使用FPGA驱动显示HUB75接口的LED模组,但是该模组网上资料很少,而且这种LED模组的扫描方式不是常规的从上到下从左到右。而是先从左到右扫描四个像素点,然后跳到下一行再扫描四个像素点。单板像素地址映射表如图所示绿色部分为正常扫描顺序,红色部分为LED模组扫描顺序。原创 2022-11-15 15:49:38 · 2050 阅读 · 0 评论 -
FPGA实现千兆/百兆自适应以太网UDP传输
该IP核是笔者在项目中解决自己的问题所编写,水平有限如有疏漏敬请指正。原创 2022-11-15 15:00:56 · 6995 阅读 · 8 评论 -
ZYNQ使用AXI4-HP接口总线读取DDR中的数据
最近笔者在做项目的时候需要使用zynq中的AXI4-HP总线在PL端读取DDR中的数据这种功能,但是网上很多历程对于这方面只是创建了一个官方提供的IP核用于测试,并且每次写入和读取的长度为4K字节。所以为了满足我自己的项目需求,笔者将官方提供的测试IP核上做修改,主要实现一下功能:1、上升沿使能读取数据。2、读使能后,IP核需要从基地址开始,突发读取X次(X数量可控)3、内置一个同步FIFO将读出的数据暂存在FIFO中。原创 2022-11-15 14:21:24 · 3286 阅读 · 1 评论 -
STM32使用SPI方式驱动HX8347方案的TFT-LCD优化代码
笔者最近再做一个小项目的时候需要用到一个LCD显示屏,由于平时不常用这类显示屏又不太了解常用的显示屏驱动IC所以就选择的这款驱动IC。到货后商家提供的代码也只是一些基础的写点、填充和字符显示的函数,并且没有任何优化,加上显示屏是采用SPI协议亲测最高速度不能高于36M/bit。导致显示屏写一次全屏就需要0.4s左右的时间。这样的速度几乎是不能接受的。所以基于这款IC驱动的TFT-LCD笔者对一些必要的函数进行了一定优化。主要是采用SPI配合STM32的DMA来加快速度。优化后的速度差不多就可以达到每秒20-原创 2022-02-16 20:50:12 · 4236 阅读 · 0 评论 -
C语言实现FIFO代码
最近笔者在做一个小项目的时候需要使用FIFO来做为数据的缓存。但笔者使用的芯片并没有硬件的FIFO管理器,所以需要使用C语言来用软件做一个FIFO的管理。 开始引用了这位大神的一些代码(5条消息) C语言实现标准FIFO_jdh99的专栏-CSDN博客_c fifohttps://blog.csdn.net/jdh99/article/details/83789431?ops_request_misc=%257B%2522request%255Fid%2522%253A%2...原创 2022-02-16 20:12:20 · 2820 阅读 · 10 评论 -
STM32H7系列KEIL软件仿真失败的原因分析和解决办法(error 65:access violation at 0x58024400 : no ‘read‘ permision)
一、问题叙述笔者最近在使用STM32H750型号的单片机做一个小项目,调试的时候发现无法进行软件仿真,进入仿真之后出现下图类似的错误,并且无法进入main函数。笔者在网上找了许多方法,但是一部分是只使用STM32F10X系列的。最终笔者总结了一下方法。下文先阐述方法再大致叙述一个原理。二、解决方法1、在工程目录下新创建一个名为 debug.ini 的文件,在文件中写入一下文本并保存map 0x40000000, 0x4000D3FF read write // APB1map 0原创 2021-02-10 23:48:41 · 3739 阅读 · 4 评论 -
使用STM32 ST-LINK Utility 连接不上出现Unknown device ID!原因与解决办法
ST-LINK Utility版本过低,下载最新版本下载地址:https://www.st.com/en/development-tools/stsw-link004.html原创 2021-01-23 17:37:06 · 6373 阅读 · 0 评论 -
优化三维空间定位法及C语言快捷实现
一、三维空间定位原理假设我们知道自身到定位基站的距离di (i=1 2 3 4…)并且知道定位基站的坐标,那么我们就可以在空间上建立n个以基站坐标为圆心,距离为半径的空间球体,球体方程如下。其中a,b,c为基站坐标,r为被定位者距离基站的绝对距离。假定,我们拥有三个定位基站,那么我们就可以得到一个方程组。该方程组最终可以解得两组实数数据。此时高度无法准确的确定,如果要确定准确的高度,我们就要在引入一个基站,构成一个拥有四个方程的方程组。解这个方程组就可以得到我们想要的坐标了。但是这里就会原创 2021-01-05 00:48:29 · 2891 阅读 · 0 评论 -
ModelSim仿真FFT核无法仿真解决方法(Qsys)
一、平台与环境1、仿真环境:ModelSim-altera 10.32、FPGA设计环境:Quartus ii 15.03、操作系统:Windows 10二、问题叙述最近笔者在调试Altrera FPGA自带的FFT核,在使用ModelSim仿真的时候出现了以下错误:错误提示Instantiation or 'FFT_out' failed.The design unit ...原创 2020-03-18 21:31:03 · 3377 阅读 · 17 评论 -
解决STM32运行μC/OS-II系统时出现任务突然无法调度的情况办法
本文为笔者遇到的问题,所总结的经验。一、调用了采用Systick做延迟。因为μC/OS-II实时操作系统的心跳一般就是用Systick提供的,而采用Systick做延迟会打断心跳,或者直接停止了Systick时钟的运行,导致系统无法进入调度。当然也可以在延迟函数做一些改动来避免。二、进入中断时没有“告诉”操作系统进入了中断进入中断的时候一般需要调用OSIntEnter();和OSI...原创 2020-03-06 18:54:54 · 786 阅读 · 0 评论