zynq-7000系列基于zynq-zed的vivado初步设计之linux下控制PL扩展的UART
来源:互联网 发布:amh数据库导出命令 编辑:程序博客网 时间:2024/05/16 08:11
作者:卢浩
时间: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 kernelCONFIG_SERIAL_UARTLITE=y# build as loadable moduleCONFIG_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
- zynq-7000系列基于zynq-zed的vivado初步设计之使用jtag->uart(MDM)
- zynq-7000系列基于zynq-7015的vivado初步设计之linux下控制PL扩展的光以太网(1000BASE-X)
- zynq-7000系列基于zynq-zed的linux-uboot的编译
- zynq-7000系列基于zynq-zed的AMP模式的实现(linux+bare-metal)
- zynq-7000系列基于zynq-zed的MAC->MAC 的实现(fixed-link)
- zynq-7000系列基于zynq-zed的ramdisk文件系统的修改
- zynq-7000系列基于zynq-zed的RGMII以太网控制器稳定性的问题
- zynq-7000系列基于7015的linux下IIC->RTC的扩展使用(DS3232)
- zynq-7000系列基于7015的linux下 I2C-bus switch的扩展使用
- zynq-7000系列基于zynq-zed双核ARM-Cortex-A9性能的评估测试(多核的使用)
- 【ZYNQ-7000开发之十五】Vivado HLS和OpenCV_下
- zynq学习06 zynq的PL中加入的AXI_GPIO IP核来控制GPIO操作
- linux下,qemu模拟Zynq-7000 EPP可扩展处理平台的搭建过程
- ZYNQ+Vivado2015.2系列(八)ARM+FPGA的优势,PS控制PL产生需要的PWM波(基于AXI总线)
- zynq的pl中断在linux下的配置及中断驱动
- Xilinx ZYNQ 7000+Vivado2015.2系列(五)之ZYNQ的三种启动方式-JTAG、SD card、Flash
- zynq zed device tree
- js调用Android方法的注意事项
- 带回调函数的Canvas刮奖刮刮卡JQuery插件,支持移动端PC端
- 开灯问题和蛇形填数(可类比迷宫问题)
- 人民币金额大写
- 增量更新操作详解
- zynq-7000系列基于zynq-zed的vivado初步设计之linux下控制PL扩展的UART
- 最长回文子串-动态规划O(N^2)
- 第二章上机
- 关系型数据库与NOSQL
- PAT BASIC LEVEL 1052. 卖个萌 (20)
- 安卓自定义View进阶 - Path之完结篇(伪)
- Plugin with id 'com.neenbedankt.android-apt' not found.
- 453. Minimum Moves to Equal Array Elements | 计算步数
- div高度全屏