ZYNQ:FPGA_AXI_ARM
文章平均质量分 79
zynq/utrascale/复旦微 PL和PS AXI4总线接口交互。移植RT-thread,ucos,freeRTOS,vxworks,linux等。ISE/vivado/procise和IAR开发。verilog语法,tcl编译,OCM,AMP双核。
寒听雪落
软件著作权申报45天包下证,两位数价格,可联系
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
petalinux高版本设置自动登录和开机自启动配置
首先进入/myapp-init/files/目录下,创建myapp-init.service文件vim myapp-init.service。编辑 project-spec/meta-user/recipes-apps/myapp-init/myapp-init.bb文件。创建并编辑/recipes-apps/myapp-init/files/myapp-init.service文件。编辑/recipes-apps/myapp-init/files/myapp-init文件。进来就是root权限。原创 2025-02-19 10:48:37 · 673 阅读 · 0 评论 -
petalinux只有串口传输文件到arm
按Ctrl-A,再按s,选择zmoden,会出现一个选择文件的界面,选择你要传输的文件(按一下空格键选择目录,按两下空格键进入目录),回车后出现一个传输界面,传输完成后,便可以在开发板的/tmp目录下找到这个文件了。路径:7035/build/tmp/work/cortexa9hf-neon-xilinx-linux-gnueabi/mylsrz/1.0-r0/temp$如果项目在本地存储,TMPDIR为。1,输入:,petalinux-build -c -x do_install。原创 2024-06-13 00:02:03 · 266 阅读 · 0 评论 -
zedboard低版本编译生成linaro系统启动文件
3、修改include/configs/zynq-common.h文件,把sdboot参数修改成如下,即删除了读取ramdisk的操作,并把bootm的第二个参数修改成“-”,表示无ramdisk。下载u-boot源代码 ,官网是https://github.com/Xilinx/u-boot-xlnx.git,直接通过git下载,或者下载zip压缩包。下载系统的链接:https://releases.linaro.org/archive/12.09/ubuntu/leb-panda/原创 2020-03-26 15:49:01 · 781 阅读 · 0 评论 -
ZYNQ PS PETALINUX程序开机自己启动配置
2,建立shell脚本文件的app工程:petalinux-create -t apps --template install -n startup --enable。进入 test_autostart/project-spec/meta-user/recipes-apps/startup中修改startup.bb文件。进入test_autostart/project-spec/meta-user/recipes-apps/startup中修改startup.bb文件。原创 2020-03-25 01:32:11 · 4268 阅读 · 1 评论 -
ZYNQ使用W25Q128BV和W25Q256FVEI芯片flash启动系统
我们编译出来的启动文件大小,BOOT.BIN =13.2M,Image.ub=10M,说明已经两个之和已经超过第一片16M flash的大小,于是把image.ub放到后面第二片16M进行烧写。配置petalinux系统从flahs启动,发现BOO.BIN能启动,BOOT.BIN+image.ub启动不了。其中烧写和配置的时候,image.ub.bin偏移地址都是0x520000。其中烧写配置image.ub偏移地址的时候,image.ub.bin偏移地址都是0x520000,烧写完成串口哦完全没有打印。原创 2023-11-13 15:35:23 · 1958 阅读 · 0 评论 -
vitis dpu kernel编译和docker环境搭建
进入Vitis-AI目录下的docker文件夹,运行该目录下的dpu-compiler-docker-install.sh, 该脚本会将Vitis-AI Docker 的可运行的镜像直接下载到本地,大小为10GB左右,所需时间取决于网络环境。执行完毕后,会在.elf 文件所在的位置生成在目标板运行yolov3所需的.so文件(DPU Kernel 文件),将其拷贝至实验工程目录下的code/deploy_in_board/Alinx_DNN/ tf_yolov3_vehicle_deploy/。原创 2024-02-23 23:56:01 · 607 阅读 · 0 评论 -
VITIS2021编译debian启动文件启动linaro系统
vitis会生成pmufw.elf和system_wrapper.bit这两个文件。pmufw.elf顾名思义就是pmu的管理程序,它负责了板级的电源管理。system_wrapper.bit文件则是PL端的配置文件,通过这个文件我们可以在linux启动时将vivado工程给一并配置至pl端,这样我们就能通过linux与PL端交互了。bit文件不仅会配置pl端,ps端也需要通过bit文件设置,要想让linux系统启动时配置好FPGA 端的逻辑,首先我们得先导出在vivado里设计好的硬件,然后用vitis把原创 2022-10-18 00:13:01 · 3725 阅读 · 0 评论 -
VITIS2021编译petalinux启动文件启动linaro系统
• 对于内核,请选择 “linux-kernel () --->”,然后选择 “(X)ext-local-src”。对于 U-Boot,请选择“u-boot () --->”,然后选择“(X)ext-local-src”。选择“External u-boot local source settings --->”。如果想在Petalinux编译完成后保留Kernel和Uboot源码,则需要在project-spec/meta-user/conf/petalinuxbsp.conf里,添加如下内容,原创 2023-09-01 14:22:25 · 624 阅读 · 1 评论 -
ZYNQ在线更新启动文件步骤
5)选择 BOOT_QSPI.bin 和 zynq_fsbl.elf 进行烧写;更新方式与烧写QSPI版固件一致,只需将固件文件加载为EMMC版BOOT.bin。板卡启动后,输入用户名和密码,进入系统,默认用户名和密码均为root。2)切换拨码开关到QSPI:拨码1设置为ON,拨码2设置为ON。切换拨码开关到QSPI:拨码1设置为OFF,拨码2设置为ON;B.把需要升级文件拖动到相应目录下,完成文件升级。A.使用鼠标点击文件夹进入dts1588目录;2.1 切换板卡到QSPI启动模式。原创 2020-09-20 22:25:31 · 2276 阅读 · 1 评论 -
zynq petalinux编译系统启动文件实战应用
第一种是linaro,我移植过的版本linaro2010~linaro2016,它的交叉编译器是arm-xilinx-linux-gnueabi-,不支持在线编译,支持根文件系统和操作系统两种模式。6,打包:petalinux-package --boot --fsbl ./images/linux/zynq_fsbl.elf --fpga --u-boot --force。将系统烧入flash,有多种方式:串口,网口,JTAG下载器,SD卡,U盘等,只要填对FLAH地址或偏移地址,理论上都是可以的。原创 2022-05-13 01:02:53 · 3345 阅读 · 0 评论 -
ARM 移植linux modbus代码
执行cp libmodbus.so* /usr/lib(常用的动态链接库,存放在该目录下)会出现无法创建的问题(cannot create ‘/usr/lib/libmodbus.so*’: Read-only file system)。将/usr/local/modbus/install/include/modbus中的四个头文件modbus.h、modbus-rtu.h、modbus-tcp.h、modbus-version.h复制到上边C语言文件同一文件夹。1、复制文件到ARM开发板。原创 2024-02-01 10:05:17 · 811 阅读 · 0 评论 -
petalinux2022.2启动文件编译配置
petalinux2021之前的版本里,导入目录components/yocto/下的“environment-setup-aarch64-xilinx-linux” 和 “layers/core/oe-init-build-env”的环境,能使用Yocto的devtool工具。(加入下面内容,先petalinux-build下载完成后才能有源码)制作 BOOT.BIN 启动文件:petalinux-package --boot --fsbl --fpga --u-boot --force。原创 2024-01-30 22:20:52 · 963 阅读 · 0 评论 -
ZYNQ VITIS LINUX系统配置流程和网络启动烧写
2、从编译后的Petalinux中获取:执行 petalinux-build -c kernel 命令,将自动获取源码并置于 components/plnx_workspace/sources/ 下。dts编译生成dtb : ./dtc -I dts -O dtb -o system.dtb system.dts。dtb编译生成dts : ./dtc -I dtb -O dts -o system.dts system.dtb。编译SDK:petalinux-build --sdk。原创 2023-12-11 19:49:53 · 1704 阅读 · 0 评论 -
hls搭建ip到vivado中测试
4,选择ZYNQ芯片型号,在下拉列表框中选中对应器件,点击“OK"文件名设置为control_gpio,输入下面代码,点击保存。5,右键Source图标,选择New File。3,设置顶层函数名,然后next->next。1,打开vivado hls,并点击图标。最后点击finnish创建hls完成。2,设置工程名称及选择存放路径。一,创建vivado hls。原创 2020-09-08 19:53:42 · 2793 阅读 · 1 评论 -
vitis2022.2裸机搭建和配置qspi flash启动固化
SD卡启动:直接复制路径下的BOOT.BIN文件并且放到SD卡中,之后插入开发板,设置SD卡模式启动(核心板上模式开关全部设置OFF OFF),接上串口看打印。添加3个文件,顺序必须是fsbl.elf system_wrapper.bit uart_app.elf,之后单击Create Image。制作BOOT.BIN还有一个方式与sdk软件一样,右击需要制作BOOT.BIN文件的SDK APP工程。第二种编译方法,右击编译可以产生 elf 文件,和 BOOT.BIN文件,但是时间较长一些。原创 2020-04-07 01:30:12 · 2536 阅读 · 1 评论 -
复旦微FMSH_Procise安装流程
双击FMSH_Procise_2021.1_full_win64_202103151947.exe选择好安装目录后点击“Next”一路next点install找技术支持代为申请 License,将电脑MAC地址发过去,将获得的 license 拷贝到 procise 安装目录“data”文件夹,即可使用 procise。点license manager和copy license将licence,.lic文件放到这个目录要是报下面错误要...原创 2021-11-03 23:36:59 · 11618 阅读 · 8 评论 -
Procise使用举例
启动 Procise,创建一个名为 system 的 Block design 文件.在 system.bd 的空白处点击右键,单击 Add IP 选项,从 IP 列表里面双击选择processing system7 加入到 block design 中。Procise 会将 block design 的配置信息导出成相应的的工程文件,其中PeripheralTest包含了常用硬件测试,比如EMMC等。点击 Launch SDK,会启动 IAR SDK 并打开 Procise 导出的工程。原创 2020-09-24 22:58:46 · 9094 阅读 · 2 评论 -
ZYNQ 可编程差分晶振Si570使用
需要说明的是,f XTAL 不是一个完全准确的值,由于生产工艺的限制,对于每一个晶振,f XTAL 都会存在细微的差别。此外,HSDIV 为 3bit 的分频系数,N1 为 7bit 的分频系数,两者均为整数。出此时的待测时钟的频率。例如,200M 的时钟的十进制统计值为20000,156.25M 时钟的十进制统计值为 15625。不同型号的 Si570 具有不同的 I2C 地址,MIZ7035 开发板中所使用的型号为 570BAB000544DG,其 I2C 地址为 0x5D。原创 2020-06-28 14:49:02 · 3847 阅读 · 0 评论 -
用HLS IP实现FFT裸机调用
这里N最大定为1024,也就是2的10次方。假设采样频率Fs,信号频率F,采样点数N,FFT之后的结果就是N点的复数。每一个点就对应着一个频率点,Fn=(n-1)*Fs/N,这个点的模值,就是该频率值下的幅度。其中,setSch(0x2AB)是设置scale,即蝶形算法的每一级右移的位数[2 2 2 2 3],这样确保最后的结果也是16位的,这里scale对应的十进制值是2^(2+2+2+2+3)=2048。setNfft用来设置采样数据长度,这里定义10,表示1024个采样点,也就是2的10次方。原创 2021-11-18 21:09:14 · 2480 阅读 · 1 评论 -
fdma读写PL DDR
A0~A14地址线,并且列地址(Column)15bits和行地址(Row)10bits复用地址线, A10和A12还有其他功能A10控制BANK的预充电,A12控制突出长度。BA0~BA2,BANK选通信号。ZQ信号线上的输出驱动电平校验。DO0~DO15 DDR数据。RESET#DDR 复位。ODT 抑制终端反射引脚。DOS/DOS#数据时钟。RAS行地址选通信号。CAS列地址选通信号。CK/CK#差分时钟。原创 2021-12-09 08:45:00 · 3263 阅读 · 0 评论 -
vitis创建下载移植裸机程序
4,Vitis Al是Vitis 平台的第四层,也是最具有变革意义的一层。3,在第三层,8个Vitis 库提供400余种优化的开源应用。这8个库分别是:Vitis 基本线性代数子程序(B LAS)库、Vitis 求解器库、Vitis安全库、Vitis视觉库、Vitis数据压缩库、Vitis计量金融库、Vitis数据库集和Vitis Al库。2,第二层是Vitis 核心开发套件,覆盖开源赛灵思运行时库,以管理不同域间的数据移动,包括子系统、即将发布的Versal ACAP内的AI 引擎和必要的外部主机。原创 2022-05-06 22:10:06 · 12175 阅读 · 0 评论 -
ZYNQ microblaze boot.bin固化步骤
一,ZYNQ移植软核的原理FPGA规模巨大而且功能复杂,因此设计的每一个部分都从头开始是不切实际的。一种解决的办法是:对于较为通用的部分可以重用现有的功能模块,而把主要的时间和资源用在设计中的那些全新的、独特的部分。这就像是你在开发应用程序的时候就不用直接去写驱动物理硬件的代码,而是直接调用Windows提供的API就行了。原创 2021-06-05 19:21:25 · 2619 阅读 · 0 评论 -
hls图像处理相关操作
在edge_detector(ustream_t &src, ustream_t &dst, unsigned char threshold)函数中,threshold为将结果二值化的配置,为 0 时不进行二值化,其它值时为二值化的阀值。首选将RGB图像转换为灰度图grayimg,讲grayimg分成两份split0、split1分别进行水平和垂直方向的卷积运算,得到sobelImg_x和sobelImg_y,将它们叠加为sobelImg,然后将其二值化,转为RGB输出。2,hls ip核代码。原创 2020-08-21 15:34:20 · 5372 阅读 · 1 评论 -
FPGA配置加载流程
一,FPGA配置引脚说明1,配置相关电源如果VCCO0连接至2.5V或3.3V,CFGBVS连接至VCCO0。如果VCCO0连接至1.5V或1.8V,CFGBVS连接至GND。建议bank0、bank14、bank15的VCCO电压一致,避免出现I/O Transition at the End of Startup 2,配置流程 二,FPGA开启启动加载的方式 1,上电自动加载:就是在FPGA完成上电初始化完成后,由FPGA主导从外部存储器读取位流,此时CCLK为输出;或者由其它主控制器来主导从外部原创 2022-04-25 00:03:34 · 12236 阅读 · 0 评论 -
PL 读写 PS 端 DDR 数据
define AXI_GPIO0_ID XPAR_AXI_GPIO_0_DEVICE_ID //PL端 AXI GPIO0器件。#define GPIO_INT0_ID XPAR_FABRIC_GPIO_0_VEC_ID //PL端 AXI GPIO0中断。#define SCUGIC_ID XPAR_SCUGIC_0_DEVICE_ID //中断控制器。原创 2021-04-07 19:17:24 · 4090 阅读 · 0 评论 -
ZYNQ Overlay硬件库的使用
Overlay也可称为硬件库,是ZYNQ的FPGA设计,可将用户应用程序从ZYNQ的处理系统PS扩展到可编程逻辑 PL。软件程序员可以以类似于软件库的方式使overlay,以在FPGA 架构上运行某些图像处理功能(例如,边缘检测,阈值处理等)。对于图像处理而言,可以在不同的overlay中实现单独的图像处理功能,并 按需从Python中加载。实例化overlay后,可以使用help()方法了解 overlay_design中的内容,如help(overlay_design)。原创 2020-06-04 09:43:50 · 4378 阅读 · 0 评论 -
vivado2017.4和vitis2019.2安装步骤
11,连接下载器到虚拟机(部分 win10 版本会导致虚拟机死机,虚拟机软件,软件版本大于 15.5.1)连接开发板和下载器,使用“Open Hardware Manager”测试,正常情况下可以发现芯片,说明 Vivado 和下载器驱动安装成功。7,设置权限输入:sudo chmod 777 -R /tools/Xilinx/安装路径使用默认路径,点击“Next”就开始安装,如果提示创建文件夹,点击“yes”,安装时间有点长。3,安装过程关闭杀毒软件,如果弹出这些窗口,都点击“Ignore”原创 2020-08-11 00:16:25 · 18910 阅读 · 0 评论 -
高版本编译总线驱动电机
本文详细介绍了基于Xilinx平台的嵌入式系统开发流程。主要内容包括:1)在Ubuntu 20.04虚拟环境中安装必要的开发工具链和依赖包;2)从官方仓库下载编译链、设备树、U-Boot和Linux内核源码;3)使用Vitis工具生成设备树和U-Boot配置代码;4)内核编译步骤;5)实时系统补丁安装(Igh)过程。文章提供了完整的源码下载链接和开发环境配置指南,为Xilinx平台嵌入式开发提供了清晰的参考流程。原创 2020-10-11 15:13:38 · 1941 阅读 · 0 评论 -
vivado 使用DocNav查xilinx资料
vivado 使用DocNav查xilinx资料docnav全称Xilinx Documentation Navigator ,在搜索栏直接输入docnav便可以打开。1,输入要查的ip核资料4,打开所查询的IP内容资料DocNav DocNav DocNav DocNav原创 2021-04-06 11:38:25 · 2409 阅读 · 1 评论 -
petalinux搭建SSH服务器
二,mkdir arm-ssh,cd arm-ssh,mkdir install然后解压,解压后如图。vi Makefile,加一句 CC=arm-linux-gnueabihf-gcc。一,交叉编译openssh,需先编译zlib 和openssl。修改vim Makefile中交叉编译器。OpenssL 下载官网地址。安装make install。zlib 官网下载地址。执行make,交叉编译。三,安装openssh。原创 2021-12-09 02:43:42 · 4417 阅读 · 0 评论 -
ZYNQ AX58100 etherCAT从站接口
当数据通过网络中的每个节点时,从设备读取帧并向其添加数据,同时检查是否有另一个从设备进一步位于流的下游。换句话说,EtherCAT主站无需为网络中的每个从站创建新的软件包,从而节省了时间并消除了对集中式I/O的需求。诸 SOEM(简易开放式 EtherCAT 主站)开放式EtherCAT主站,除了标准的以太网设备之外,EtherCAT 从站可以在非常紧凑的时间要求下即时处理帧,它们读取数据并将它们自己的信息添加到同一帧。简单的从设备不需要额外的微控制器,而 更复杂的设备需要处理器来处理协议和应用程序代码。原创 2021-08-09 02:51:52 · 2406 阅读 · 0 评论 -
ZYNQ linux下搭建webserver服务
创建日志文件所在目录/var/log_boa,创建HTML文档的主目录/var/www,创建CGI脚本所在目录/var/www/cgi-bin/,在/var/www中放置一个index.html文件。上述目录若不存在,均需手动创建,这些都是boa运行需要的目录。将生成的boa可执行程序(在/src目录下)拷贝到开发板的/bin目录下,在开发板/etc目录下建boa目录,将boa.conf拷贝到板子的/etc/boa目录。修改为:ScriptAlias /cgi-bin/ /var/www/cgi-bin/原创 2022-05-15 00:20:10 · 1578 阅读 · 0 评论 -
ZYNQ linux调试LCD7789
LVGL是一个开源的图形库,主要用于MCU上屏幕UI的部署,功能完善,封装合理,可裁切性强,也可以实现Linux上fbx的部署。// 兼容性字符串,表示兼容milianke,spidev。// 兼容性字符串,表示兼容milianke,spidev。4,由于设备树不好操作和验证,重新更换SPI接口,axi quad spi->emio spi。结果:编译的启动文件和之前一样,GPIO[0]低,GPIO1[1]高,GPIO[2]-GPIO[5]低。// SPI模式为0(模式0,时钟极性为0,时钟相位为0),原创 2023-10-23 22:00:39 · 929 阅读 · 0 评论 -
烧写pynq镜像到sd卡和yocto环境搭建
PYNQ将ARM处理器与FPGA器件的底层交互逻辑完全封装起来,顶层封装使用python,只需要import对应的模块名称即可导入对应的硬件模块,即可进行底层到上层数据的交互或者为系统提供硬件加速。此处我们选择的 SD卡设备和PYNQ镜像文件:确保选择的 Micro SD 卡里面没有重要的文件,或已做备份。解压缩后运行win32diskimager-1.0.0-install.exe,进入安装界面,勾选“I accept the agreement”并单击“Next ”按钮。由于PYNQ镜像较大会较慢。原创 2023-08-14 07:00:00 · 576 阅读 · 0 评论 -
zynq usb按键裸机和系统下的读写操作
为此,USB OTG应运而生,OTG 是 On-The-Go的缩写,支持 USB OTG 功能的 USB 接口既可以做 HOST,也可以做 DEVICE。USB 是串行通信,需要一位一位的去传输数据, USB传输的时候先将原始数据进行打包,所以 USB 中传输的基本单元就是数据包。主机模式(Host Mode):譬如电脑的 USB 接口可以外接键盘、鼠标、U 盘等等 USB 设备,那么此时电脑的 USB 接口就是工作在主机模式下,与 USB 从机设备进行通信。原创 2020-07-21 10:44:50 · 1001 阅读 · 1 评论 -
ZYNQ硬件复位管脚和软件看门狗复位
出于安全考虑,系统重置会删除PS中的所有内存内容,包括OCM,PL也在系统复位中复位,系统复位不会重新采样引导模式分配引脚。答:POR是必须有的,不然只能掉电复位,POR都是画上的。PS_SRST_B(External System Reset)功能和POR类似,主要用于系统软件调试过程,上电复位删除所有调试配置,外部系统复位允许用户复位设备内的所有功能逻辑,而不干扰调试环境。2,none POR复位,并不会复位所有的寄存器,可以通过PSSRST_B管脚,或者系统内部复位,如看门狗复位。原创 2023-08-11 00:22:46 · 2135 阅读 · 0 评论 -
xilinx zynq ps端移植vxworks6.9系统
基于a board support package,选择xlnx_zynq7k BSP,编译工具链选择diab,勾选Enable WDB Target Agent,选择next下一步,VxWorks Image Project Multipage Wizard就配置完成。从the New VxWorks Image Project中,profile选择PROFILE_DEVELOPMENT,单击finish。project中选择open development shell打开vxworks脚本编译窗口。原创 2023-05-30 08:30:00 · 5225 阅读 · 6 评论 -
基于AXI4_LITE的PS与PL的交互专题(一)
当axi_awaddr为12时,axi_awaddr[ADDR_LSB+OPT_MEM_ADDR_BITS:ADDR_LSB]为2, S_AXI_WDATA 值写入到slv_reg3。当axi_awaddr为4时,axi_awaddr[ADDR_LSB+OPT_MEM_ADDR_BITS:ADDR_LSB]为1, S_AXI_WDATA 值写入到slv_reg1。当axi_awaddr为0时,axi_awaddr[ADDR_LSB+OPT_MEM_ADDR_BITS:ADDR_LSB]为。原创 2022-08-12 11:30:00 · 1746 阅读 · 0 评论 -
ZYNQ sdk lwip配置UDP组播收发数据
XEmacPs_SetOptions 函数中添加选项‐——“ XEMACPS_PROMISC_OPTION”至此,组播功能应该可以实现了。新建lwip echo server例程,在bsp环境中加入system.mss->modify BSP’s Settings。5,配置多端口的组播接收或发送,最多可以开启16路不同的端口号接收和16路不同的端口号发送。勾选PS网口或者PL网口的配置,并导入SDK,新建lwip例程库,能ping通。1,vivado搭建。原创 2023-05-22 08:45:00 · 3258 阅读 · 2 评论 -
制作四个文件启动的镜像
将/home/geyuxi/subomb_system/ZYNQ_SUBOMB/linux/dts文件夹下生成的pcw.dtsi,pl.dtsi,system-top.dts 以及 zynq-7000.dtsi 四个文件拷贝到 u-Boot 源码目录。这里安装的路径放在了/home/geyuxi/opt/pkg/xsdk/SDK/2018.3/中,导入交叉编译器就输入source /home/geyuxi/opt/pkg/xsdk/SDK/2018.3/settings64.sh。原创 2023-04-17 09:00:00 · 717 阅读 · 0 评论
分享