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相关推荐

  1. Linux下C++开发系列(一)序——我是如何开始linux下C++开发的

    工作之前,我重点学习到编程语言是Java.通过一个朋友,弄到到了尚学堂的Java视频,马士兵老师的,视频大概有十几个G,在没有 任何Java基础到情况下,我通过寒假的时间,集中学习了J2SE和J2EE ...

  2. 修改 Zynq 7000 系列 CPU 主频到 800HMz(7045 和 7100)

    目录 调频 分析 时钟树 修改 调频 首先看Data Sheet进行确认,能不能配到800MHz的,这个系列分温度等级,-1.-2.-3.我的刚好是-2等级,所以可以配到800MHz 用Frequen ...

  3. linux下使用gpio控制代码,zynq linux 下控制gpio的c代码

    在linux下控制gpio可以先用简单的命令行去控制下看看, 1. devmem 0x41200000 32 0x00000005 2.devicetree的结构如下 dip0: gpio_dip_s ...

  4. zynq linux如何使用pl ip,米联客FDMA IP在LINUX下实现PL和PS数据共享测试总结

    本帖最后由 ぉ沙皮狗的忧伤 于 2019-10-12 10:22 编辑 1.先讲一下一个小问题,我将FDMA裸机测试的.bit文件重命名为system.bit.bin文件放入SD卡启动时,在VDMA的 ...

  5. rtl8188linux内核配置,编译基于rtl8188cu控制芯片的USB无线网卡在Linux下的配置

    本人因为实验的需要,需要在嵌入式linux环境下添加wifi功能,通过在网上调研,选择基于rtl8188cu控制芯片的水星NW150UM无线USB网卡,现简单记录下配置过程. 1.下载最新的rtl81 ...

  6. 嵌入式基于Linux电机控制,嵌入式linux下控制电机运动

    1.使用串口GPP8,GPP12口控制电机运转引脚(1-1:停止:1-0:正转:0-1:反转) 驱动代码: #include //kernel.h以便使用printk()等函数 #include // ...

  7. 基于cp-abe算法的访问控制方法在linux下的实现和算法优化,基于CP-ABE的访问控制研究...

    (4)解密算法 输入系统公共参数PK.用访问结构A加密的密文CT,及对应于属性集合S的解密密钥KS.如果属性集合S满足访问结构T,则 输出消息M.本文引用地址:http://www.eepw.com. ...

  8. 基于ZYNQ的光纤-以太网高速传输系统设计

    关注.星标公众号,精彩内容每日送达 作者:姜 浩,李和平 ,马翠梅 为满足合成孔径雷达实时成像.数据回放等高速可靠数据传输需求,解决传统数据传输系统由于接口要求高.体积与功耗大以及网络配置不灵活等原因 ...

  9. zynq7000创建fsbl启动_Xilinx Zynq 7000 FSBL启动分析(一)

    花了几天看完了FSBL的代码,在这里做个总结,分析一下zynq的启动过程. 众所周知,xilinx zynq 7000系列的芯片中包括两个部分,PS和PL,也就是FPGA的逻辑编程的部分跟嵌入式ARM ...

  10. Vivado工程配置petalinux实现linux下网卡驱动

    0.说明 基于Vivado工程配置petalinux实现linux下控制PL端GPIO 完成对linux网卡的驱动 实验内容: 完成一个vivado工程,导出硬件信息 创建petalinux工程,导入 ...

最新文章

  1. ACE - Reactor模式源码剖析及具体实现(大量源码慎入)
  2. 双因素方差分析_多因素方差分析
  3. acrgis api for javaScript需要对Dojo了解多少?
  4. (C#)为 TextBox 控件增加一个限制最大字节数的属性
  5. 两个矩阵相乘的乘法次数_C ++程序将两个数字相乘而不使用乘法运算符
  6. 【CSDN】-官方插件推荐懒人必备神器
  7. /etc/fstab 文件配置项简单介绍
  8. python检测文件的MD5值
  9. css渐变颜色php,CSS3中的颜色值RGBA以及渐变色的具体详解(图)
  10. 30个Python小游戏,小白练手,我都能玩一天【内附源码】
  11. java编写万年历的报告,用java编写的万年历代码
  12. MyBatis官方下载地址(含mybatis-spring)
  13. c# 设为首页和加入收藏代码
  14. JSP EL表达式中11个隐藏对象file:///D:/SoftwareFile/qq file/MobileFile/34090016310074682(1).png
  15. 一种传统发酵彝药有效抑制新冠病毒的复制体外研究
  16. Web缓存(代理服务器)
  17. Java中catch和throw同时使用
  18. WIA的使用及自定义可拖拽大小的picturebox
  19. java 10进制转16进制
  20. 自己动手玩vps主机

热门文章

  1. php文字滚动特效,js文字横向滚动特效_javascript技巧
  2. 我们什么都没有,只有爱
  3. CSDN信息无障碍知识库:为障碍者撑起一片蓝天
  4. ZBlogPHP评论验证码无法显示
  5. phpnow搭建本地网站服务器,phpnow搭建本地网站服务器
  6. cur前缀_每个人必知的英语前缀大全
  7. 小技巧:两种方式快速实现平滑涂鸦画板
  8. oracle 返回部分行,求救,返回部分结果后,才报单行子查询返回多行。
  9. 相机和镜头选型计算公式
  10. 软件可靠性测试概念与应用