码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • windows11,OpenOCD 调试FPGA用作jtag


    使用ft2232H作为jtag通过openocd调试fpga。xcvu9P(virtex-II)fpga型号。

    openocd是什么?自行百度;FT2232H官网文档:自行百度。

    5.示例:

    Loading a Xilinx Spartan 6 bitstream with OpenOCD | Electronics etc…

    (上网址需要梯子)

    具体配置:以118子卡为例(使用板上自带的ft232h芯片):

    5.1 驱动的安装:(win11 x64)

    Ftdi芯片驱动安装:

    https://ftdichip.com/wp-content/uploads/2021/08/CDM212364_Setup.zip

    用于识别ft2232h芯片(包括两路serial port和两个com口)

    https://ftdichip.com/wp-content/uploads/2022/05/FT_Prog_v3.12.29.638-Installer.zip

    exe文件用于更改bus的接口方式,虚拟串口或者D2xxx,使用jtag方式必须改为D2xxx方式(具体可查看ft文档)。

     

    如下图所示F5扫描出对应的device更改之后点击闪电符号用于保存更改否则不生效。

    https://sysprogs.com/files/tools/UsbDriverTool/UsbDriverTool-2.1.exe

    usb_driver驱动。用于将serial_port驱动更改为LibUsb_Winusb(为了后续openocd),解压进入exe之后双击更改驱动类型。

    https://sysprogs.com/files/tools/UsbDriverTool/UsbDriverTool-2.1.exe

    usb_driver驱动。用于将serial_port驱动更改为LibUsb_Winusb(为了后续openocd),解压进入exe之后双击更改驱动类型。

     

    https://codeload.github.com/xpack-dev-tools/openocd-xpack/zip/refs/tags/v0.11.0-4

    openocd,用于配置ft2232H芯片,功能强大,可用于udb-jtag/jlink/ulink等,具体功能自行百度。

    5.2连接FT2232H/FT232H

    在windows上操作,将cmd命令加载到右键快捷方式中(具体操作百度)。

    1. 最好将openocd 安装目录/bin添加到环境变量path中,打开目录:\xpack-openocd-0.10-4-win32-x64\xpack-openocd-0.11.0-4\bin
    2. Cmd:openocd.exe -v    //查看openocd的当前版本

    Openocd基本操作 -f加载配置文件,-d显示deubg等级,-c commond 加载对应的commond。

    配置适用于FT232H的118命令:

    adapter driver ftdi

    # ftdi_channel 0 is port ADBUS, ftdi_channel 1 is port BDBUS.

    #ftdi channel 1

    # VID and PID  from ft_pro(sw)

    ftdi vid_pid 0x0403 0x6014

    transport select jtag

    # TCK frequency (xxxkhz)

    adapter speed 6000

    # ftdi_layout_init [data] [direction]

    # 指定FTDI GPIO的初始数据和方向,16bit数据宽度。

    # 参数data中1表示高电平,0表示低电平,而参数direction中1表示输出,0表示输入(注意与常规的设定不同)

    ftdi layout_init 0x00e8 0x60eb

    reset_config none

    1. 执行脚本

     一定要将.cfg脚本放置在script目录下,(内置的一些tcl脚本会在该目录下寻找)

    执行成功之后,光标不会退出,说明openocd已经将ft232配置为jtag。并开通了telnet 4444端口,使用MobaXterm进行telnet连接;

    Localhost也可以输入当前主机IP。

    1. 连接成功输入terminal命令
    2. 输入scan_chain可以看到在链上的所有设备以及状态。Pwd显示当前安装目录等。

    3. 加载target配置文件(即加载118办卡配置文件);118属于单纯FPGA器件,先使用vivado软件进入hardware_manager查看对应的IR_length和ID code一类器件对应的ID唯一。118对应的器件类型为xcvu9P,查找script目录下关键字。找到文件: 54 可以看到vu9p中的ID和示例中ID匹配,文件正确。执行命令

     如图所示指定两次-f,且先后顺序应该一致。报错,找不到CHIP,打开xcu配置文件,加一行: set CHIP XCKU9P;之后从新编译。

     

    如图所示。没有err说明进入了kernel

    1. 烧写bit文件;

    连接telnet,在moba terminal中输入:

    >init

    >xcu_program xcu.tap (连接目标板的tap端口)

    >pld load 0 D:/GDC_temp/chuanzhi_bit/2022.06.20_1/lyncam_chip.bit (注意bit地址应该遵循linux)等待加载完毕

    >exit

    9.烧写成功之后program led变为蓝色。说明bit已经加载!

     

     

     

  • 相关阅读:
    C++双整数转双字节16进制
    已解决json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
    加油站的良好出发点
    Element Plus 的下拉选择器el-option的字体全部蓝色,全部是选中状态
    【回顾】“双11”首个元宇宙日 中国移动通信联合会元宇宙产业委员会揭牌 《元宇宙产业宣言》发布
    javascript和C++交互大全(wasm)emscripten
    SpringCloud初探
    java计算机毕业设计演唱会门票订售及管理系统源码+系统+数据库+lw文档
    [hive]中的字段的数据类型有哪些
    A. The Party and Sweets
  • 原文地址:https://blog.csdn.net/u012780083/article/details/125489210
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号