初识 FPGA

初识 FPGA - Linux 下的开发

FPGA Learning

为了实现工作中需要做的触控原型电路开发,开始研究如何使用 FPGA。看起来 FPGA 的开发分为三大块,PL 端通过 Vivado 平台进行逻辑设计,PS 端通过 C 进行开发,最后还有应用层的开发。我计划使用 PYNQ 来替代 PS 端和应用层的开发

Vivado 2024.02 版本安装:

  1. 从 https://www.xilinx.com/support/download/index.html/content/xilinx/en/downloadNav/vivado-design-tools.html 下载最新的在线安装包

  2. 下载完成后,进入下载安装包所在路径,通过下述命令执行安装 (原文链接:https://blog.csdn.net/qq_44447544/article/details/128205473):

sudo chmod +x Xilinx_Unified_2022.2_1014_8888_Lin64.bin
sudo sh ./Xilinx_Unified_2022.2_1014_8888_Lin64.bin
  1. 按流程完成安装后,更新 linux 的 bashrc 文件

3-1. 通过命令 gedit ~/.bashrc 打开 bashrc

3-2. 在该文件最后一行增加:

source [your_path]/Xilinx/Vivado/2024.2/settings64.sh

3-3. 保存文件后,通过命令 source .bashrc 在 terminal 更新 bashrc

  1. 安装 USB 驱动,在安装完成后的 /Xilinx/Vivado/2024.2/data/xicom/cable_drivers/lin64/install_script/install_drivers 路径下打开终端,并执行:sudo ./install_drivers

  2. 在终端通过 vivado 即可打开软件。

异常处理:

在 https://blog.csdn.net/qq_44447544/article/details/128205473 中列有打开 vivado 时一些异常处理方式,我自己在安装中有遇到区域设置的报错:

/Xilinx/Vivado/2024.2/bin/rdiArgs.sh: 行 37: 警告: setlocale: LC_ALL: 无法改变区域设置 (en_US.UTF-8):没有那个文件或目录

我的解决方案是:

  1. 通过终端输入 sh 命令进入 shell
  2. 检查当前系统区域设置,在 sh 中执行:locale
  3. 通过下面的命令增加 en_US.UTF-8:sudo locale-gen “en_US.UTF-8”
  4. 生成后,更新系统区域设置:sudo update-locale LANG=en_US.UTF-8
  5. 通过 exit 退出 sh
  6. 重新加载环境变量:source ~/.bashrc

然后重新通过终端下执行 vivado 即可打开成功了

安装串口驱动

通过 ls -l /dev/tty* 命令查询,发现并没有 CH343SER 的驱动,因此需要安装该驱动

crw-rw—- 1 root dialout 4, 64 Jan 22 21:41 /dev/ttyS0

crw-rw—- 1 root dialout 4, 65 Jan 22 21:41 /dev/ttyS1

安装串口驱动可以参考这个 link:

接下来可以看到对应的 CH343 的驱动了:

crw-rw—- 1 root dialout 170, 0 Jan 24 21:52 /dev/ttyCH343USB0

安装串口工具:

使用 putty,直接 sudo apt-get install -y putty

运行 putty:直接 putty

Putty 串口工具使用:

按如下进行配置,需要在 Session,Terminal 和 Serial 分别进行配置 (待截图)

配置好之后开机截图如下: (待截图)