自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 踩坑日记8 microblaze运行在DDR上固化到flash

在一些遇到工程较大的情况下,如果工程运行在内部软核BRAM,会提示内存空间溢出,这个时候就必须将工程放到DDR上运行,这个时候要固化我们需要用到SERC启动工程,SERC运行在软核BRAM,我们的工程运行在DDR,两者都固化到FLASH之后,SERC启动BootLoader程序,将FLASH中的工程代码搬运到DDR上,搬运完后SERC程序终止,开始运行我们的工程。同时注意,当工程运行在DDR上时候,usleep函数不可用,会变得很慢。启动SDK,新建工程,确保工程运行在DDR上。大概两分钟左右加载完成。

2024-08-22 10:23:51 543

原创 踩坑日记7 Vivado 2018.3软核Microblaze运行在内部bram固化

Vivado/SDK 2018.3版本的bug,Vivado/SDK 2018.3版本生成的.mmi文件,BitLanes的顺序为:0、1、2、…、30、31,而正确的mmi文件的BitLanes的顺序应该为 7、6、 …、 2、1、0、15、14、 …、9、8、23、22、 …、17、16、31、30、…在xilinx官网下载AR# 71948这个补丁,覆盖在Vivado 2018.3的安装路径下,就可以解决。当工程比较小的时候可以把工程运行在内部bram上,固化到flash中。

2024-08-22 09:38:24 338

原创 ZYNQ 踩坑日记6 使用MicroBlaze读写DDR问题

MicroBlaze软核,是使用一定的FPGA资源的32位/64位处理器,FPGA使用软核可以达到和ZYNQ差不多的效果,刚开始使用ZYNQ来测试MicroBlaze软核,发现Debug的时候程序进不去,照网上的问题也跑不通,一运行就进入汇编那块去了。在把mig ip核配置好output product时,程序出现闪退,网上查原因发现,是\sources_1\bd\design_1\ip\design_1_mig_7series_0_0\mig_a.prj,这个文件出现了乱码。再生成就没有问题了。

2024-07-26 17:15:48 238

原创 ZYNQ踩坑日记5 Xil_DCacheInvalidateRange 和 Xil_DCacheFlushRange调试读写ddr

在sdk调试ddr的时候,想要使用memory窗口观察写入情况,需要使用到Xil_DCacheInvalidateRange函数无效化数据缓存,memory窗口才能刷新最新的数据。

2024-07-04 18:36:31 513

原创 ZYNQ踩坑日记4 sdk识别不到其他头文件

在vivado export hardware后,启动sdk,编译会发现no such as file,将sdk关闭然后再在vivado中启动sdk,会发现此时sdk在build整个工程,构建完成后即正常。

2024-07-04 18:28:50 140

原创 ZYNQ踩坑日记3 AXI_DMA 传输问题——再续

关于使用AXI_DMA使用的问题,我实现的功能是使用AXI_DMA采集ADC数据写入DDR,每次数据包128个,数据包大小64bit,但是AXI总线在LAST信号拉高之后,并没有立即拉低READY信号,而是又接收了4个时钟数据然后拉低,并且这4个时钟数据并没有写入DDR,仍然存在DMA的缓冲数组中,在下一次传输开始时,这4个时钟数据会最开始写入,然后重复这个过程。简单翻译一下为:在没有任何设置的情况下(即在其被编程运行之前),AXI DMA 在接收了四个节拍的流数据后,会将。这将限制输入数据流。

2024-07-02 15:27:34 628

原创 ZYNQ踩坑日记2 AXI_DMA传输问题—续

这是最初从ADC传过来的数据,可以看到,REDAY信号在4个数据包发送过来之后拉低,在我开启DMA传输之后再次拉高,然后在最上面的read_pointer计数到127时,ADC把LAST信号拉高,按理来说,此时这一轮数据已经传输完成,可是DMA并没有将READY信号拉低,在又接收了四个数据后拉低,于是导致这4个数据变成我下一轮DMA传输的前四个数据,最终让我写入DDR的数据在第四个数据这里断开了。

2024-07-01 11:20:51 508

原创 zynq踩坑日记1 AXIDMA传输问题

在没有任何设置的情况下(即,在编程运行之前),AXI DMA 将拉取 s_axis_s2mm_tready 信号在接收四节流数据后为低电平。这将限制 输入数据流。DMA在初始化后TREADY信号一直拉高直到接收到4个时钟的数据,然后再启动DMA传输,解决办法是,在ADC IP核的计数值每次遇到TREADY信号后置零,保证每次DMA发送请求过来数据正常。在使用AXIDMA采集自定义ADC IP数据时候,捕获信号时候发现,DMA总是多要了4个时钟的数据,在经历三天的加班后,查阅文档发现一句话,

2024-06-28 17:37:16 536 1

原创 学习zynq第二天

zynq是ARM+FPGA架构,在使用过程中,PL段指的是FPGA,PS端指的是ARM,使用过程中,PS端和PL端使用AXI通信。开发环境为Vivado,开发步骤分为:创建Vivado工程、ZYNQ IP核设置、SDK开发。

2024-06-12 11:23:03 127 2

原创 STM32F407使用内置DAC+DMA+TIM制作DDS信号源

电赛的时候需要制作能够实现分辨率到0.001Hz的信号源,平常使用的信号源模块达不到这个精度,故使用DDS算法实现。

2023-08-24 20:18:38 2535 2

原创 使用nodejs和html+css+JavaScript搭建一个网站实现数据可视化

本设计主要使用前端绘图,后端服务器接受数据并且更新发送前端实现绘图更新。

2023-07-05 22:18:01 1584 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除