Xilinx软件开发: 用仿真器在XSCT下加载u-boot

2023-10-31

 XSCT介绍

XSCT全称叫做Xilinx Software Command-Line Tool

顾名思义是Xilinx提供的软件命令行工具,完整的使用说明可以参考ug1208-xsct-reference-guide

我们平常调试裸机程序都是在Vitis/(2019.2之前是SDK)IDE环境下通过图形菜单的方式间接调用的xsct。在某些特殊的情况,比如需要加载u-boot,这时候就需要手动运行xsct的命令

需要准备的文件

首先在petalinux下编译出以下4个文件

zynqmp_fsbl.elf 

pmufw.elf 

bl31.elf

u-boot.elf

把他们保存到一个目录,比如c:\debug\test

命令位置

有两种启动方式

第一种是打开vitis,菜单Xilinx里选XSCT Console

第二种是找到安装目录,比如我的目录是c:\Xilinx\Vitis\2019.2\bin

运行以下两行命令,运行结果如下

cd c:\debug\test

c:\Xilinx\Vitis\2019.2\bin\xsdb

1.设置允许Jtag连接到PMU

connect
targets
targets -set -filter {name =~ "PSU"}
mwr 0xffca0038 0x1ff
targets

运行结果如下

寄存器0xffca0038的含义如下,0x1ff就是把bit8-bit0全部置为1

2.加载PMU

targets -set -filter {name =~ "MicroBlaze PMU"}
targets
dow pmufw.elf
con

 

串口输出

3.加载fsbl

targets -set -filter {name =~ "Cortex-A53 #0"}
rst -processor
dow zynqmp_fsbl.elf
con
stop

串口输出

 4.加载bl31

dow bl31.elf
con
stop

 

5.加载u-boot

dow u-boot.elf
con

到这里u-boot就可以正常运行了

利用脚本减少手动输入

以上步骤虽然能够达到目的,但是要手动输入大量命令,对生产、测试人员来说,使用起来比较困难。我们可以把以上步骤合并成一个tcl脚本,如下,命名为test.tcl

connect
targets
targets -set -filter {name =~ "PSU"}
mwr 0xffca0038 0x1ff
targets
 
targets -set -filter {name =~ "MicroBlaze PMU"}
targets
dow pmufw.elf
con

targets -set -filter {name =~ "Cortex-A53 #0"}
rst -processor
dow zynqmp_fsbl.elf
con
stop

dow bl31.elf
con
stop

dow u-boot.elf
con

然后只需要在xsdb命令行下输入source test.tcl即可自动执行上面所有的命令

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Xilinx软件开发: 用仿真器在XSCT下加载u-boot 的相关文章

  • HLS图像处理系列——在ZEDBoard搭建DDR图像处理通路

    ZYNQ芯片内包含一个丰富特性的基于双核ARM Cortex A9的处理子系统 Processing System PS 和Xilinx 28nm可编程逻辑 Programmable Logic PL PS除了核心外还包括片上存储器 外部存
  • FPGA同步复位和异步复位的区别以及设计处理

    FPGA复位信号的设计处理 同步复位 同步复位 同步复位信号跟触发器的时钟是同步的 只有在时钟的跳变沿到来之后才会生效 对应verilog代码如下 这种写法会被编译器综合成同步复位 always posedge clk begin if r
  • Xilinx平台SRIO介绍(二)SRIO IP核基础知识

    使用SRIO IP核必须掌握的基础知识 理解了这篇 剩下的只是代码罢了 汇总篇 Xilinx平台SRIO介绍 汇总篇 目录 前言 SRIO RapidIO GT 有什么关系
  • 最详细的Vivado安装教程

    V i v a d o 安 装
  • Verilog实现两路组相联cache

    cache代码 timescale 1ns 1ps cache共32块 分为16组 每组2块 即两路组相联 1块 4字 1字 4字节 主存共1024块 4096个字 主存地址共12位 1 0 为块内偏移 5 2 为组地址 11 6 为Tag
  • 采用Vivado 配置xilinx GTX的SATA设计

    从Vivado开始 配置GTX的时候 多了一个SATA协议支持 但有些小地方还需要自己另外设置 整理了一下 分享给大家 首先打开Transceivers wizard 打开页签 线速率和参考时钟选择 在协议里面选择SATA2或者SATA3
  • verilog 基本语法 {}大括号的使用

    的基本使用是两个 一个是拼接 一个是复制 下面列举了几种常见用法 基本用法 表示拼接 第一位 第二位 表示复制 4 a 等同于 a a a a 所以 13 1 b1 就表示将13个1拼接起来 即13 b1111111111111 拼接语法详
  • JESD204B(RX)协议接口说明。

    解释一下Vivado IP协议中的Shared Logic in Example 与 Shared Logic in Core 首先 什么是Shared Logic 字面意思很好理解 就是共享逻辑 主要包括时钟 复位等逻辑 当选择Share
  • [HDLBits] Exams/ece241 2014 q7a

    Design a 1 12 counter with the following inputs and outputs Reset Synchronous active high reset that forces the counter
  • 【PIPE】流水线设计中的基本模块

    大概分成以下几节 1 概述及协议 2 valid forward valid超前 3 bubble collapse 消除气爆 4 input output skid 不知中文怎么说 5 pipe halt 流水停顿 6 idle pres
  • 基于FPGA的AHT10传感器温湿度读取

    文章目录 一 系统框架 二 i2c接口 三 i2c控制模块 状态机设计 状态转移图 START INIT CHECK INIT IDLE TRIGGER WAIT READ 代码 四 数据处理模块 串口 代码 五 仿真 testbench设
  • FPGA_MIG驱动DDR3

    FPGA MIG驱动DDR3 说明 FPGA zynq 7z100 DDR3 MT41K256M16TW 107 内存大小为512MB 数据接口为16bit 环境 Vivado2018 2 IP核 Memory Interface Gene
  • Verilog、FPGA、统一寄存器的使用

    我有一个问题 关于我正在开发的 AGC SPI 控制器在我看来奇怪的行为 它是用 Verilog 完成的 针对的是 Xilinx Spartan 3e FPGA 该控制器是一个依赖外部输入来启动的 FSM FSM的状态存储在状态寄存器它没有
  • 基于FPGA的简易BPSK和QPSK

    1 框图 2 顶层 3 m generator M序列的生成 输出速率为500Kbps 4 S2P是串并转换模块 将1bit的m序列转换到50M时钟下的2bit M序列数据 就有4个象限 5 my pll是生成256M的时钟作为载波 因为s
  • 在 C 中操作 80 位数据类型

    我正在用 C 实现一些加密算法 其中涉及 80 位密钥 特定操作涉及将密钥旋转移位 x 个位数 我已经尝试过 long double 类型 如果我没记错的话 它是 80 位 但这不适用于位移运算符 我能想到的唯一替代方案是使用 10 个元素
  • 同时读取和写入寄存器

    我计划在 FPGA 上用 VHDL 设计一个类似 MIPS 的 CPU CPU 将具有经典的五级管道 没有转发和危险预防 在计算机体系结构课程中 我了解到第一个 MIPS CPU 用于在时钟上升沿读取寄存器文件并在时钟下降沿写入 我使用的F
  • Linux驱动程序DMA传输到PC作为主机的PCIe卡

    我正在开发一个 DMA 例程 将数据从 PC 传输到 PCIe 卡上的 FPGA 我阅读了 DMA API txt 和 LDD3 ch 15 详细信息 但是 我不知道如何从 PC 到 PCIe 卡上的一致 iomem 块进行 DMA 传输
  • 模拟器和合成器之间初始化状态机的差异

    我的问题是关于合成状态机中使用的第一个状态 我正在使用莱迪思 iCE40 FPGA 用于仿真的 EDA Playground 和用于综合的莱迪思 Diamond Programmer 在下面的示例中 我生成一系列信号 该示例仅显示引用状态机
  • VHDL 中的 BRAM_INIT

    我正在模拟基于处理器的设计 其中程序存储器内容保存在 BRAM 中 我正在使用 VHDL 推断 BRAM 实现程序存储器 我试图避免使用 CoreGen 因为我想保持设计的可移植性 最终该设计将进入 FPGA 我想看看是否有一种方法可以使用
  • VHDL (Xilinx) 中的错误:无法链接设计

    为什么我在 VHDL 中遇到错误 另外 有时 无法执行流程 因为之前的流程失败了 非常感谢 永久解决方案1 在win 10上 找出 installation directory Xilinx 14 x ISE DS ISE gnu MinG

随机推荐

  • 阿里面试官:接口的幂等性怎么设计?

    一 什么是幂等 看一下维基百科怎么说的 幂等性 多次调用方法或者接口不会改变业务状态 可以保证重复调用的结果和单次调用的结果一致 二 使用幂等的场景 1 前端重复提交 用户注册 用户创建商品等操作 前端都会提交一些数据给后台服务 后台需要根
  • linux shell 正则表达式(BREs,EREs,PREs)差异比较

    http www cnblogs com chengmo archive 2010 10 10 1847287 html 正则表达式 在计算机科学中 是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串 在很多文本编辑器或其他
  • 笛卡尔树建树

    拿个单调队列维护 最后pop出来的就是它的左儿子 现在还在的 它是他的右儿子 int build int S N for int i 1 i lt n i while top T S top val lt T i val T i son 0
  • Markdown中显示矩阵运算过程

    发现这个神奇的用法 以后写博客就可以很好的演示矩阵乘法了 原文知乎 这里再分享一个可以把latex转成图片的在线网站quicklatex markdown 显示矩阵 from IPython display import display L
  • mysql锁总结

    参考文章 MySQL 死锁查询 事务与锁详解2 MySQL死锁系列 常见加锁场景分析 死锁的成因 场景以及死锁的避免 查询锁sql 1 查看当前的事务 SELECT FROM INFORMATION SCHEMA INNODB TRX 2
  • 解决centos下sudo运行tshark,写入文件显示:Permission denied.

    在 w时 需要把文件名写全 相对路径无权限 则需要写成绝对路径 比如 sudo tshark w home xxxx mypcap pcap 下面的不行 sudo tshark w mypcap pcap Permission denied
  • 走线和交互式布线_画PCB时,一些非常好的布线技巧

    画PCB时 一些非常好的布线技巧 布线是PCB设计过程中技巧最细 限定最高的 即使布了十几年布线的工程师也往往觉得自己不会布线 因为看到了形形色色的问题 知道了这根线布了出去就会导致什么恶果 所以 就变的不知道怎么布了 但是高手还是有的 他
  • spring cloud 2021.0.1升级踩坑记录

    一 版本说明 升级前的版本 spring boot 2 2 2 RELEASE spring cloud Hoxton SR1 spring cloud alibaba 2 2 0 RELEASE 升级后版本 spring boot 2 6
  • linux测试代码段运行时间,如何精确测量一段代码的执行时间

    原标题 如何精确测量一段代码的执行时间 本文转载自西邮Linux兴趣小组 最近在工作中遇到了需要精确测量一段C代码执行时间的需求 这里有三种方案供大家选择 1 gettimeofday 2 2 rdtsc rdtscp 3 clock ge
  • 工程师的自我修养:全英文技术学习实践

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 引子 2016年9月 上海GOPS大会现场 Site Reliability Engineering 一书的作者之一 来自Google的Chris Jones在做分享 Ch
  • linux内核添加模块,linux中添加内核模块

    1 内核模块简介 Linux 内核的 整 体结构 非 常 庞 大 其 包 含 的 组 件也 非 常多 如 何使用 需 要 的 组 件 呢 方 法 一 把 所有的 组 件都 编译 进 内核 文 件 即 zImage 或bzImage 但 这样
  • 【MYSQL基础】SQL-DML(数据操作语言)

    文章目录 一 DML 介绍 二 DML 语法 2 1DML 添加 插入数据 2 2DML 修改 更新数据 2 3DML 删除数据 一 DML 介绍 DML Data Manipulation Language 数据操作语言 用来对数据库中表
  • 华夏大盘精选基金经理王亚伟:08年做不好会赔钱

    编者按 华夏基金投资决策委员会主席 华夏大盘精选基金经理王亚伟在华夏基金08年投资策略报告会上对明年资本市场的走势发表了自己的看法 王亚伟 尊敬的各位领导 各位来宾 下午好 刚才两位名嘴很精彩 现在基金行业总体来说是越来越娱乐化了 基金经理
  • 12. XPath解析入门

    目录 前言 模块安装 XPath涉及的基本概念 XPath基本语法 测试完整代码 XPath进阶用法 需求1 让xpath处理这个资源文件 需求2 找到标签位置 如html标签 需求3 找到无序列表 ul 中每一项 li 包裹的文本内容 需
  • 树莓派——配置Linux内核适合树莓派

    文章目录 将linux内核代码和编译工具tools上传到ubuntu 树莓派等芯片带操作系统的启动过程 不带操作系统的 带操作系统的 BootLoader的工作流程 树莓派Linux源码目录树分析 树莓派Linux源码配置 Linux源码特
  • 【数据结构】插入排序 & 希尔排序

    目录 插入排序 希尔排序 插入排序 时间复杂度 O N 2 空间复杂度 O 1 稳定性 稳定 void InsertSort int arr int size for int i 0 i lt size 1 i int end i int
  • easyexcel 第一次导入导出会报错com.alibaba.excel.exception.ExcelAnalysisException,所以自定义excel导入导出表格

    报错原因 由于easyexcel导入导出时如果存在null会报错 跟踪源码com alibaba excel analysis v07 XlsxSaxAnalyser parseXmlSource 查看xmlReader parse 发现这
  • vi 操作

    vi filename c vi 457 filename c 打开文件同时跳至457行 exc 由输入状态退出到控制命令状态 shirt zz 保存并退出 w 保存退出 q 不保存退出 457 跳至457行 set nu 在前面列出行号
  • 大数据教育平台数据仓库系统搭建 附安装包与脚本

    一 数仓项目需求及架构设计 数据仓库是为企业所有级别的决策制定过程 提供所有类型数据支持的战略集合 数据仓库是出于分析报告和决策支持目的而创建的 为需要业务智能的企业 提供指导业务流程改进 监控时间 成本 质量以及控制 1 项目需求分析 数
  • Xilinx软件开发: 用仿真器在XSCT下加载u-boot

    XSCT介绍 XSCT全称叫做Xilinx Software Command Line Tool 顾名思义是Xilinx提供的软件命令行工具 完整的使用说明可以参考ug1208 xsct reference guide 我们平常调试裸机程序