- 博客(22)
- 收藏
- 关注
原创 CortexM3系列2:基于ZYNQ实现CortexM3
使用ARM 的Design Start计划,FPGA版本的M3核,在FPGA开发板上面进行例化,搭建soc。这里使用的FPGA板卡是ZYNQ7020,有官方板卡可以直接跑官方ARM的例程,但是没有的话,也可以进行移植,本文使用的是ZYNQ7020。实现的功能就是在PL端例化CortexM3核,同时加入GPIO 的ip来点亮LED灯。参考1参考2参考3参考4下面我们正式开始本篇文章讲解了如何在ZYNQ上面实现CortexM3的集成,并且点亮了LED,实现了闪烁的效果。
2024-09-18 15:28:48 805
原创 extern
定义:在声明的基础上,分配内存空间并初始化,比如int a=10。在A.c中想调用a的话,做出下面的声明即可。然后就可以正常使用了。使用场景:在A文件中想使用B文件中定义的变量或者函数。声明:告诉编译器,变量的类型,比如int a。extern使用,个人总结,比如在B.c文件中有以下内容。
2024-09-17 21:51:01 176
原创 Ubuntu22.04安装
首先执行下面命令,不然每次打开终端会出现To run a command as administrator (user root)…
2024-08-07 11:51:59 390
原创 如何去除‘Enter password to unlock your login keyring‘提示框
在Centos系统中打开Vscode出现’Enter password to unlock your login keyring’提示框。右击Passwords 下子目录xxxx keyring ,点击删除即可。终端输入seahorse,打开程序。
2024-08-02 09:46:05 258
原创 CortexM3系列1:STlink调试
使用SW模式,要用VCC, SWCLK, SWIO, GND。只需要连接 1, 7, 9, 12这几个脚就可以。需要硬件复位一下,如果没有硬件复位按键的话,可以把复位脚设置为某个IO,然后连接高电平和低电平实现复位操作。时钟最大为4M,这里设置为2M。选择SW模式,右上角显示检测到设备。选择HW RESET就行。
2024-07-31 15:07:44 372
原创 vivado自定义ip导入vitis构建hardware报错(版本2023.1)
然后正常构建block design , export hardware,vitis中构建hareware project就行。
2024-04-30 17:50:17 206 1
原创 基于ZCU104的PS和PL数据交互例程 系列目录
基于ZCU104的PS和PL数据交互例程(一):简介基于ZCU104的PS和PL数据交互例程(二):vivado中封装现有工程成IP基于ZCU104的PS和PL数据交互例程(三):vivado中创建IP基于ZCU104的PS和PL数据交互例程(四):vivado中制作Block Design基于ZCU104的PS和PL数据交互例程(五):Petalinux流程基于ZCU104的PS和PL数据交互例程(六):上板流程基于ZCU104的PS和PL数据交互例程(七):驱动编写与测试
2023-11-05 12:00:52 211
原创 基于ZCU104的PS和PL数据交互例程(七):驱动编写与测试
至此我们从最初设计到verilog实现IP,到block design创建整体架构,到petalinux生成镜像,再到linux运行已经成功走完。最后说一下,后面还会补一个ILA调试,因为下板之后,不方便debug,还是要走下ILA会方便点。另外就是如果是其他板卡,只需要对应替换IP的支持板卡,petalinux 的BSP包,就行如果是其他的加速器,想实现这种PS+PL的交互通信,做成演示demo。这个系列博客,可以为大家提供一种参考思路。
2023-11-05 11:57:03 976 4
原创 基于ZCU104的PS和PL数据交互例程(五):Petalinux流程
虽然板卡是zcu104,但是对于类似的zcu102,这种ZYNQ系列都是类似的。下面的环境是在。
2023-10-26 16:55:28 1604
原创 在FPGA板卡上运行vins(一):简介
vslam是自动驾驶,移动机器人研究的热点,特别是在如何更好地部署到移动端。本系列在的基础上,在带有自定义的PL端的ubuntu系统中,配置vins环境,并且完成电脑端和板卡端的通信最终实现,
2023-10-25 18:38:58 171 1
原创 基于ZCU104的PS和PL数据交互例程(四):vivado中制作Block Design
(这里的cdma的中断引脚cdma_introut应该要跟ps的pl_ps_irq连接的,这里忘记连接了,但是后面生成镜像驱动也没有问题,可能是因为我后面使用轮询来操作的,如果想用中断操作,建议这里一定要连接上)配置成真双口,这里要注意BRAM的数据位宽和地址,这里数据位宽是32bit,跟DUT里面一致,就不再修改。连接clk_PL,start_DUT,DUT_finish,rst_n这些信号。默认PS给PL的时钟是100M,中断引脚打开,所以我们不再修改,完成配置。完成后,创建顶层文件,如下图选择。
2023-10-25 16:51:00 1518 1
原创 基于ZCU104的PS和PL数据交互例程(二):vivado中封装现有工程成IP
外链图片转存中…(img-kLm0YRmg-1698065695418)]
2023-10-23 20:58:08 686 6
原创 数字IC(一):亚稳态
亚稳态是指由于违背了触发器的建立和保持时间而产生的不确定状态,其本质是因为CMOS的电平处于不能判断是高电平还是低电平的区间。【所以一种减少亚稳态的方法就是使用建立和保持时间更短的逻辑器件(工艺制程小),一般是工艺越小,器件速度越快】亚稳态一般在1~2个时钟周期就会返回到稳态,但是不能确定返回是0还是1。一般来说,亚稳态容易出现在跨时钟(CDC,clock domain crossing)中。平均无故障时间,等于故障率的倒数,越大越好。可以理解成分母是(建立时间+保持时间)x时钟频率x。
2023-07-28 20:36:24 353 1
原创 利用Opencl加速Eigen矩阵(二)
经过实验发现如果计算量不够大,利用opencl反而浪费时间。所以本实验进行加速的原来代码如下:Matrix<double,8,8>A[64],B[64],D[64];//……//A,B,T,D初始化之后进行计算for(int i=0;i<64;i++){ D[i].noalias() +=A * B * A.transpose();}接下来进行opencl进行加...
2020-04-23 21:07:57 2118
原创 利用Opencl加速Eigen的矩阵运算(一)
很多时候OpenCL启用GPU加速大规模矩阵运算可以达到减少计算时间的目的。但是目前一般成熟代码里面的矩阵运算不会是简单的float数组或者double数组,而是通过特定的结构体进行计算。其中Eigen就是专门针对矩阵计算的库,里面涉及到大量的矩阵操作。那么如何用OpenCL对Eigen进行加速呢?简单来看就是将Eigen的矩阵结构体声明放到OpenCL的核函数中,但是本人技术浅薄,无法实现这一...
2020-04-07 08:36:08 2046 3
原创 WINDOWS10+VS2019+OPENCL安装教程
电脑显卡NIVIDA第一步:安装CUDA,其中在选择组件安装路径的时候可以自己新建文件夹安装CUDA第二步:配置VS2019,然后执行示例代码,ok配置相关链接和库...
2020-03-29 20:03:02 3413
正点原子启明星FPGA开发资料
2023-10-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人