zynq-7000系列基于zynq-zed的vivado初步设计之linux下控制PL扩展的UART
作者:卢浩
时间:2017.2.13
转载请注明出处
嵌入式爱好者开发群:122879839
基于上一篇AXI GPIO的设计,我们进行UART的扩展,打开vivado工程,添加UART IP,在zynq上打开IRQ_F2P的中断,如图:
然后把中断连接上,点击自动连接,生成如图:
然后Run Implementation.
然后进行约束设计,如图:
我选择的是JA座子上的JA1和JA7两个引脚来做UART的RX TX,对应处理器的Y11 AB11引脚,都是bank13的引脚。
如图:
接下来生成BIT文件。然后export hardware,launck sdk,步骤和上一篇AXI GPIO差不多,但是还是有几个注意点的,我们继续往下做。
打开SDK后,生成FSBL文件,输出串口配置一定不能错,如图:
另外在dts里面也不能配置错。
我们可以看sdk生成的pl.dtsi文件,如图:
可以看到PL扩展的UART的DTS描述信息。
axi_uartlite_0: serial@42c00000 {
clock-names = "ref_clk";
clocks = <&clkc 0>;
compatible = "xlnx,xps-uartlite-1.00.a";
current-speed = <115200>;
device_type = "serial";
interrupt-parent = <&intc>;
interrupts = <0 29 1>;
port-number = <1>;
reg = <0x42c00000 0x10000>;
xlnx,baudrate = <0x2580>;
xlnx,data-bits = <0x8>;
xlnx,odd-parity = <0x0>;
xlnx,s-axi-aclk-freq-hz-d = <0x64>;
xlnx,use-parity = <0x0>;
};
另外有一个重要点就是记得内核配置需要添加axi uart的支持
make menuconfig ---> Device Drivers ---> Character devices ---> Serial drivers ---> Xilinx uartlite serial port support
# integrate into the kernel CONFIG_SERIAL_UARTLITE=y # build as loadable module CONFIG_SERIAL_UARTLITE=m
编译进内核还是内核模块,用户自己选择。
我们把顺序理一下,1.用vivado生成bit文件;2.在sdk里面生成fsbl文件;3.合成BOOT.bin文件;4.生成dtb文件;5.生成uImage文件
然后可以放在sd卡里面启动。
在linux启动信息中,我们可以看到这样一句打印信息:
42c00000.serial: ttyUL1 at MMIO 0x42c00000 (irq = 165, base_baud = 0) is a uartlite
这就是PL扩展的UART。
在linux下可以作为标准串口使用,用户可以短接TX RX,然后测试一下收发。
zynq-7000系列基于zynq-zed的vivado初步设计之linux下控制PL扩展的UART相关推荐
- Linux下C++开发系列(一)序——我是如何开始linux下C++开发的
工作之前,我重点学习到编程语言是Java.通过一个朋友,弄到到了尚学堂的Java视频,马士兵老师的,视频大概有十几个G,在没有 任何Java基础到情况下,我通过寒假的时间,集中学习了J2SE和J2EE ...
- 修改 Zynq 7000 系列 CPU 主频到 800HMz(7045 和 7100)
目录 调频 分析 时钟树 修改 调频 首先看Data Sheet进行确认,能不能配到800MHz的,这个系列分温度等级,-1.-2.-3.我的刚好是-2等级,所以可以配到800MHz 用Frequen ...
- linux下使用gpio控制代码,zynq linux 下控制gpio的c代码
在linux下控制gpio可以先用简单的命令行去控制下看看, 1. devmem 0x41200000 32 0x00000005 2.devicetree的结构如下 dip0: gpio_dip_s ...
- zynq linux如何使用pl ip,米联客FDMA IP在LINUX下实现PL和PS数据共享测试总结
本帖最后由 ぉ沙皮狗的忧伤 于 2019-10-12 10:22 编辑 1.先讲一下一个小问题,我将FDMA裸机测试的.bit文件重命名为system.bit.bin文件放入SD卡启动时,在VDMA的 ...
- rtl8188linux内核配置,编译基于rtl8188cu控制芯片的USB无线网卡在Linux下的配置
本人因为实验的需要,需要在嵌入式linux环境下添加wifi功能,通过在网上调研,选择基于rtl8188cu控制芯片的水星NW150UM无线USB网卡,现简单记录下配置过程. 1.下载最新的rtl81 ...
- 嵌入式基于Linux电机控制,嵌入式linux下控制电机运动
1.使用串口GPP8,GPP12口控制电机运转引脚(1-1:停止:1-0:正转:0-1:反转) 驱动代码: #include //kernel.h以便使用printk()等函数 #include // ...
- 基于cp-abe算法的访问控制方法在linux下的实现和算法优化,基于CP-ABE的访问控制研究...
(4)解密算法 输入系统公共参数PK.用访问结构A加密的密文CT,及对应于属性集合S的解密密钥KS.如果属性集合S满足访问结构T,则 输出消息M.本文引用地址:http://www.eepw.com. ...
- 基于ZYNQ的光纤-以太网高速传输系统设计
关注.星标公众号,精彩内容每日送达 作者:姜 浩,李和平 ,马翠梅 为满足合成孔径雷达实时成像.数据回放等高速可靠数据传输需求,解决传统数据传输系统由于接口要求高.体积与功耗大以及网络配置不灵活等原因 ...
- zynq7000创建fsbl启动_Xilinx Zynq 7000 FSBL启动分析(一)
花了几天看完了FSBL的代码,在这里做个总结,分析一下zynq的启动过程. 众所周知,xilinx zynq 7000系列的芯片中包括两个部分,PS和PL,也就是FPGA的逻辑编程的部分跟嵌入式ARM ...
- Vivado工程配置petalinux实现linux下网卡驱动
0.说明 基于Vivado工程配置petalinux实现linux下控制PL端GPIO 完成对linux网卡的驱动 实验内容: 完成一个vivado工程,导出硬件信息 创建petalinux工程,导入 ...
最新文章
- ACE - Reactor模式源码剖析及具体实现(大量源码慎入)
- 双因素方差分析_多因素方差分析
- acrgis api for javaScript需要对Dojo了解多少?
- (C#)为 TextBox 控件增加一个限制最大字节数的属性
- 两个矩阵相乘的乘法次数_C ++程序将两个数字相乘而不使用乘法运算符
- 【CSDN】-官方插件推荐懒人必备神器
- /etc/fstab 文件配置项简单介绍
- python检测文件的MD5值
- css渐变颜色php,CSS3中的颜色值RGBA以及渐变色的具体详解(图)
- 30个Python小游戏,小白练手,我都能玩一天【内附源码】
- java编写万年历的报告,用java编写的万年历代码
- MyBatis官方下载地址(含mybatis-spring)
- c# 设为首页和加入收藏代码
- JSP EL表达式中11个隐藏对象file:///D:/SoftwareFile/qq file/MobileFile/34090016310074682(1).png
- 一种传统发酵彝药有效抑制新冠病毒的复制体外研究
- Web缓存(代理服务器)
- Java中catch和throw同时使用
- WIA的使用及自定义可拖拽大小的picturebox
- java 10进制转16进制
- 自己动手玩vps主机