码农知识堂 - 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已经加载!

     

     

     

  • 相关阅读:
    windows@按流量计费网络设置@电脑风扇降噪的可能方法
    MySQL基础8-多表查询
    【计算机网络】网络基础(二)
    ArcGIS:将相邻面进行合并,并不显示中间线条
    微信小程序购物/超市/餐饮/酒店商城开发搭建过程和需求
    细胞图像数据的主动学习
    GBASE 8s自定义存储过程和函数
    使用docker安装logstash的具体方法
    谈一谈AI对人工的取代
    【附源码】计算机毕业设计java原创网络文学管理系统设计与实现
  • 原文地址:https://blog.csdn.net/u012780083/article/details/125489210
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号