ZCU102镜像配置和使用
ZCU102镜像配置和使用一、工具下载和准备1、7-zip 解压用工具,下载地址
2、ADI官方Linux镜像 进去后直接点Image file下载即可,下载地址
值得注意的是
3、准备一张16G及以上的SD卡4、SD卡擦除工具 将已经烧录镜像的SD卡或者普通SD卡清空,下载地址
5、SD卡烧录工具 用于将Linux镜像烧录至SD卡,下载地址
6、MobaXterm工具7、CP210x驱动 下载地址
二、制作步骤1、下载好linux镜像2、将SD卡插入读卡器连接到电脑3、用擦除工具清空SD卡4、用烧录工具将镜像烧录至SD卡 注意:镜像文件选下载好的linux镜像文件,无需将下载好的文件解压,其次盘符一定要看好确认是SD卡的盘符,否则会烧录到你自己的硬盘分区上
5、烧录完成后打开SD卡,找到“zynqmp-common”和“zynqmp-zcu102-rev10-adrv9009”两个文件夹,将两个文件夹内所有文件复制粘贴到SD卡的根目录下
“zynqmp-common”下是有一个image文件
“zynqmp-zcu102-rev10-adrv9009 ...
ZCU102+ADRV9009使用GNU Radio开发使用
ZCU102+ADRV9009使用GNU Radio开发使用GNU Radio的安装Linux下的安装以ubuntu系统为例,建议更新至ubuntu 22.04 LTS,22.04的ubuntu才有GNU Radio 3.10.4.0的版本,里面自带有我们需要的ADI公司的PlutoSDR或是FMCOMMS-2/3/4两种GNU块
一、首先下载和编译libiio库:1(sudo) apt install libxml2 libxml2-dev bison flex cmake git libaio-dev libboost-all-dev
二、然后从源代码编译和安装好libiio库:12345678git clone https://github.com/analogdevicesinc/libiio.gitcd libiiomkdir buildcd buildcmake .. -DPYTHON_BINDINGS=ONmake sudo make installcd ../..
三、安装GNU Radio:新版的GNU Radio不再需要从源代码开始编译安装, ...
利用云服务器进行frp
利用云服务器进行frp具体步骤首先在云服务器和要远控的设备都下载这个并解压
123# 根据服务器端和客户端的架构选择,这里我的两端都是x86-64位的,故都可用这一文件,根据不同架构下载不同的服务器端/客户端$ wget https://github.com/fatedier/frp/releases/download/v0.21.0/frp_0.21.0_linux_amd64.tar.gz$ tar -xzvf frp_0.21.0_linux_amd64.tar.gz
公网frps.ini配置
12[common]bind_port = 7000 #frp服务端端口(必须)
客户端frpc.ini配置文件
123456789101112[common]server_addr = xxx.xxx.xxx.xxx #frp服务端地址,必须是公网ip或者域名,这里假设为xxx.xxx.xxx.xxxserver_port = 7000 #frp服务端端口,即填写服务端配置中的 bind_portprotocol = websocket #因为有的校园网为 ...
Xilinx学习笔记-01
Xilinx学习笔记
学习使用材料:正点源子领航者V2 Xilinx Zynq 7010
GPIO的MIO控制LED GPIO全程为The general purpose I/O,意为通用I/O引脚。相比于其他的I/O外设,例如UART、I2C、SPI、USB、CAN、SD SDIO、GigE等,GPIO能够模拟上述这些I/O外设,使GPIO当作模拟的那一个外设来使用,例如我们常用的stm32使用模块就常常使用GPIO模拟I2C、SPI进行通讯,但UART应该是模拟不了,因为还需要进行一个串并转换的过程。GPIO还可以与一些简单的通用外设进行联系,比如按键、LED、蜂鸣器这些并没有使用什么协议的简单的通用设备,就使用通用I/O接口GPIO进行通讯。
MIO
GPIO是一个外设,用来对器件的引脚做观测(input)以及控制(output)
MIO(Multiuse I/O),多用I/O口,Zynq中I/O外设和静态存储器接口链接到MIO处
MIO的用途是:将来自PS外设和静态存储器接 ...
CubeMX配置H743使用7寸RGB屏
CubeMX配置H743使用7寸RGB屏 咕咕咕咕咕咕咕
臭鸽子自从暑假重装系统以后一直在摆烂,博客也一直没写,git也好久没更新了,甚至都在给大二培训培训到stm32使用LCD了,只能说还好有个学弟正好来问7寸LCD如何配置,否则真一直摆烂下去了,还是要好好写博客来记录学习的
摆烂摆到甚至有些忘了Typora的快捷键怎么用,咕。
还是回归正题,这次教程记录如何配置使用7寸RGB屏,使用CubeMX生成代码框架,学习使用安富莱对应的LCD驱动,使用的是正点原子H743和正点厂的7寸1024*600RGB屏幕,每次声讨一遍正点的代码可读性是真的烂,以及正点的HAL库例程写的是他自己生产出来的HAL库吧?
CubeMx配置Rcc配置首先是很重要的Rcc配置,妖精记得将Power Regulator Voltage Scale 电源稳压器电压刻度 这个从默认的模式3改成模式1,目的是为了最终使得H743的主频能跑到400M。如果保持默认的模式3直接去设置时钟树,会出现如下报错:”Frequency searched for is out of range“
解决 ...
FPGA学习--03按键中断控制LED
学习FPGA part.3 在之前的实验中,我们用轮询的方式,不停的扫描按键 I/O 口的状态来控制 LED 的亮灭,这种方式对于简单小型的项目还可以接受,但对于一些比较复杂的项目而言不仅效率低下而且浪费了大量的系统资源,严重影响系统的性能。这就需要一种更加高效的方式来处理一些突发事件。中断作为系统最重要的组成部分之一就承担了这样的工作,它在节省了大量的系统资源的同时监控一些突发事件的产生,及时向系统申请暂停主程序转而处理突发事件,大大提高了系统运行的效率。中断通常由硬件处理单元、外部设备或者软件本身产生。
中断控制LED简介 本实验我们通过实现按键中断控制 LED 亮灭来了解 ZYNQ 的中断系统,学习如何使用外部输入中断,了解中断配置的流程、相关函数的作用以及各参数的含义
本实验将按键按下作为中断触发信号,检测到中断之后改变 LED 的状态作为检测到中断信号的指示。
硬件设计 打开开发板的原理图可以看到按键部分的电路设计如下图所示,按键未按下时 I/O 口为高电平,按下后变为低电平,过程中会产生一个下降沿信号。芯片的外部中断可以分为边沿触发和电 ...
FPGA学习--02按键控制LED
学习FPGA part.2
进入下一步,传统的点灯工程少不了
首先先理清ZYNQ芯片的专用术语,
PS: 处理系统 (Processing System) , 就是与FPGA无关的ARM的SOC的部分。
PL: 可编程逻辑 (Progarmmable Logic), 就是FPGA部分。
APU: 应用处理器单元(Application Processor Unit).双ARM-CortexA9核,加上高速缓冲,DMA,定时器,中断控制,浮点和NEON协处理,硬件加速器一致性控制器。
TTC:(Triple Time Counter)3个独立计数通道,挂在APB上,为系统或外设提供定时或计数服务。
WDT:看门狗定时器
SWDT:系统级看门狗定时器
SCU: Snoop Control Unit, 用来保持双核之间的数据Cache的一致性。
AXI : 先进的可扩展接口(Advanced eXtensible Interface),是 Xilinx 从 6 系列的 FPGA 开始引入的一个接口协议,主要描述了主设备和从设备之间的数据传输方式。在 ZYNQ 中继续使用,版本是 ...
FPGA学习--01串口打印Hello World
学习FPGA
感谢wiki学长传承的FPGA,FreeRTOS的学习暂时告一段落,已经学到信号量了,但是FreeRTOS东西太多了,懒狗又不想干活了。中间穿插着学习FPGA作为一点调剂。
哦,这板子功能实在太强了,甚至可以外接显示器,让我先买根miniHDMI线,这个板子甚至可以跑linux来做opencv的图像处理。学习FPGA也能增强自己的硬件知识、数电知识,之后甚至可以与stm32双机处理,stm32作为任务调度,功能强大的FPGA用来进行数据处理。甚至使用FPGA搭建硬件门电路节省我们组硬件开发的时间,单纯将FPGA当做硬件电路来使用。
同时,还有学习使用ZYNQ 嵌入式系统的开发的目的。
开发环境 硬件开发环境:Vivado 2018.3
软件开发环境:SDK 2018.3
硬件系统:Z7-Lite 7010 版
开发流程 首先我们来了解一下一个完整的 ZYNQ 嵌入式系统的组成部分:
1、系统内核:ARM Cortex-A9;
2、存储器:DDR3 Memory Controller+存储芯片;
3、其他外设;
...
CubeIDE使用记录
CubeIDE使用技巧记录
创建此集的目的为记录下遇到的CubeIDE的各种使用技巧和报错并进行解决的方案,以便以后再次遇到时可复查
Failed to start GDB server报错解决方案 在使用CubeIDE下载程序时,有时会在下载到79%的时候弹窗报错,报错警告为
1Failed to start GDB server
报错的意思是启动GDB服务器失败
这个报错很奇怪,偶尔会出现,哪怕是重启IDE、重启电脑也无法解决,就一直存在着,无法进行代码下载和调试。网上查了很多方法也是无法解决,在比电赛省赛的时候我的队友也出现过这样子的问题,十分令人头疼。
在后续查找资料并询问毅子哥后,终于得到了完美的解决方案。
解决方案
点击运行或调试旁边的倒三角号,进入运行配置
选择调试器选项,在GDB连接设置里面,一般默认端口号码是6xxxx,以6开头的五位数,将其随机改为4xxxx,以4开头的五位数,点击右下角应用,运行,报错解决。
报错原因 应该是端口被某一个进程给占用了,其实应该早点发现的,在弹窗报错的同时,在控制台窗口也有6xxxx端口被占用的英文, ...
Stm32使用板载ADC的经验谈
Stm32F407使用板载AD经验总述 Stm32板载的ADC是我们学习使用stm32的重要功能之一,参加电赛使用stm32所必须掌握的技能,曾使用过的ADS8688模块,号称500Ksps的采样率,在我们实际使用中哪怕是启用了硬件spi也只用得到80Ksps的采样率。有幸从敬重的学姐哪里继承了一块AD7606,并行的200Ksps16位ADC模块,目前尚未去驱动,有时间去试试。
言归正传,开此帖的目的是为了记录下使用板载adc进行的一些使用方法,双重、三重的交叉采样、ADC过采样、多通道规则采样等等自己使用过的方法,利弊也会一一列出,由于本人学艺不精的因素,也许也有错误存在,或是没有发挥出理想的驱动,作为抛砖引玉,希望看到我博客的能提出更好解决方法进行斧正。
很难言说我现在的精神状态,现在属于是醒了打代码,困了才睡,周而复始,希望不会过于胡言乱语不知所云。
使用设备及MCU1、STlink
2、STM32F407ZGT6
3、实验室内的信号发生器、示波器等
4、CubeMX+CubeIDE开发
顺带一提,大家都知道奈奎斯特采样定理,采样率Fs应大于2倍的采集信号频率F,但 ...
学习使用FreeRTOS系统
学习FreeRTOS实时操作系统总述
其实如果只是参加电赛的话,其实用不到FreeRTOS,仅仅是裸机代码即可,只是FreeRTOS作为一种嵌入式开发技术,我认为有学习的必要,故开此连载记录自己的学习。
在学习stm32之前,已经接触过windows系统、Andriod系统的我已经对多线程多任务操作习以为常,并认为这本来就是理所应当的,但当对stm32有了一点点自己的了解后,才知道微机系统单核CPU同时只能进行一个任务。要想对多功能的实现,需要细心去安排各功能的时序和逻辑顺序,总的来说设计程序的运行顺序也是一种乐趣,但经常会有苦恼,要是能像window、linux、andriod等等那样能设置多进程任务就好了,能方便很多。这个时候便开始寻找解决方法了,找到的一个方法便是RTOS系统。
在学习MCU编程时,一般都是裸机编程,一般的程序设计,如果是功能要求不太复杂或者程序设计比较精良,裸机系统也能很好的实现功能,但如果功能要求较多,就需要分解成多个任务来实现,或者是对实时性要求较高的时候,这就是RTOS该出现的时候了。
同时,使用RTOS并且将功能分解成多个任务,使得程 ...
搭建个人博客
总述
“*** 记录下自己搭建博客的过程***”
简介 起初想要搭建一个自己的博客是因为从实验室的学长们的博客学到了很多,从而萌生了搭建自己的博客,记录下自己的学习和经验。说来有趣的一点是,我个人将学长们的博客收藏起来的文件夹命名为“传承”,如同朱学长留下给我们的《仪器仪表指南》,毅子哥、阿宾学长等等学长自己费时写出的经验总结博客,也同样给予了我们这一代电赛实验室成员知识。
是故,我也想像前一届的学长们一样,写下博客,留下自己的经验,一是自查学习用,二是留给下一代的实验室成员。衷心祝愿我所崇拜的实验室的学长学姐们未来能有光明的前途。
其实原来是有自己的一个博客的,是520那天心血来潮搭建的,但是后续又没有写文章也没有做美化,故拖到了暑假后段比完电赛干脆推倒重来。鉴定为懒狗。
曾经的博客界面
主要流程 1、搭建博客工具下载
2、使用hexo搭建博客
3、将博客部署至云服务器
搭建博客前置要求
需要自己去注册好github账号,同时下载好node.js和git
这是两个必要的工具,多提一嘴,Git的使用十分重要,之后需要自己摸索,学会Git使用是无论以 ...