需要注意的是这里的中断是必须连接的。参照该原理图即可完成之前章节所需要的vivado工程。
紧接着输出xsa文件,配置petalinux:
makemenuconfig
--->Device Drivers ---> Character devices ---> Serial drivers ---> Xilinxuartlite serial port support
如果是petalinux则是:
petalinux-config-c kernel
--->Device Drivers ---> Character devices ---> Serial drivers ---> Xilinxuartlite serial port support
如果需要使用多个uartlite则需要设置:
CONFIG_SERIAL_UARTLITE_NR_UARTS=system>
最大个数为16个,可改写内核源码继续扩增,但是我估计已经足够了。
然后还需要编写设备树文件,官方例子如下:
uartlite_0@42C00000 {
compatible= "xlnx,xps-uartlite-1.00.a"; reg = <0x42C000000x10000>;
interrupt-parent =<&gic>;
interrupts = <0 594>;
clock = <100000000>;
};
uartlite_1@42C10000 {
compatible= "xlnx,xps-uartlite-1.00.a";
reg = <0x42C100000x10000>;
interrupt-parent =<&gic>;
interrupts = <0 594>;
clock = <100000000>;
};
实际在petalinux中只需要:
&uartlite_1{
status=”ok”
}
注:仅在2020.1版本中可行。其他版本仍然需要根据生成的dts文件进行判断,查看缺少哪些部分。
最后执行petalinux-build即可。
3 最终测试进入系统之后使用指令:
ls /dev/ttyUL*
能得到输出即可,使用:
dmesg | grepuart也可以验证:
80010000.serial:ttyUL1 at MMIO 0x80010000 (irq = 75, base_baud = 0) is a uartlite
有以上显示即可证明该串口可以使用。
在另外的串口终端可以显示:
a
h
ha
即可验证确定可行。
最后就可以将深度学习推理模型得到的相关信息、数据通过该串口与外界进行数据交互。
实际上该板卡PS端的uart也即ttyPS0也就是console也可以作为与外界交互的媒介,但是该接口会打印很多提示信息,主要是用于console使用,因此不适合作为交互接口,另外还可以扩展其余例如IIC、SPI、PCIE等接口使用,因此FZ3深度学习板将这些接口空出大大增强了该板卡的可扩展性和实际生产需求性。