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 的相关文章

  • 【Xilinx DDR3 MIG】Xilinx FPGA DDR3读写实验相关用户接口引脚解释

    目录 DDR3读写实验 实验框图 时钟模块 DDR3读写及LED指示模块 MIG IP核 用户接口解释
  • FPGA(3)验证数字逻辑(与门、与非门、二选一数据选择器、2-4译码器、半加器、全加器)

    目录 一 验证与门 二 验证与非门 三 验证二选一数据选择器 四 验证2 4译码器 五 验证半加器 六 验证全加器 0 初始化定义 1 第一个半加器 2 第二个半加器 3 得到最终进位Co 代码 0决定与 1决定或 一 验证与门 只要有一个
  • HDLBits刷题_Verilog Language_Procedures_Alwaysblock1

    学习内容 Since digital circuits are composed of logic gates connected with wires any circuit can be expressed as some combin
  • Xilinx AXI-memory接口 转 AXI-stream 接口(含源码)

    AXI memory接口 转 AXI stream 接口 AXI memory接口介绍 具体详情可以查看源码 AXI memory接口介绍 从图中我们可以看出memory接口有5个通道 分别是读地址通道 写地址通道 写响应通道 读数据通道
  • 输入延时(Input Delay)与输出延时(Output Delay)

    一 设置输入延时 Input Delay 1 不同的路径需要使用不同的约束 2 输入延时的定义 由下图可以看出Input Delay是以上游芯片的时钟发送沿为参考 上游的输出数据到达FPGA的外部输入端口之间的延迟 输入延迟 input d
  • win10下安装vivado 2018.3之后ise14.7 的impact 无法使用

    软件版本号 操作系统win10 ise14 7 vivado 2018 3 ise14 7 在win10里面问题总结 1 ise14 7 闪退问题 比较好解决 论坛上比较多的解决方法 2 ise 14 7 windows 10 版本的ise
  • [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
  • [从零开始学习FPGA编程-38]:进阶篇 -语法-函数与任务

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 目录 前言 第1章 什么是函数Function 1 1 什么是函数 1 2 函
  • 用python接收高速率的UDP数据包

    我正在使用 python 来从 FPGA 接收 UDP 数据包流 并尝试丢失尽可能少的数据包 数据包速率从大约 5kHz 到一些 MHz 我们希望在特定时间窗口 代码中的 acq time 内获取数据 我们现在有这样的代码 BUFSIZE
  • VHDL:按钮去抖动(或不去抖动,视情况而定)

    我已阅读其他帖子 但似乎无法修复我的 我是 VHDL 新手 所以我确信这是一个简单的修复 简而言之 按钮没有防抖 代码编译和比特流程序 在测试台中 按下按钮可以工作 但输出 LED 不会改变 在板上 按下按钮会使随机 LED 亮起 我猜是因
  • 基于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
  • VHDL门控时钟如何避免

    我收到了避免使用门控时钟的建议 因为它可能会导致松弛和时序限制问题 但我想问一下我可以认为什么是门控时钟 例如 此代码对时钟进行门控 因为 StopCount 对它进行门控 process ModuleCLK begin if rising
  • PyOpenCL 中的时间测量

    我正在 FPGA 和 GPU 中使用 PyOpenCL 运行内核 为了测量执行所需的时间 我使用 t1 time event mykernel queue c width c height block size block size d c
  • 您可以使用类 C 语言对 FPGA 进行编程吗? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 在大学里 我用类似 C 的语言编写了 FPGA 不过 我也知道人们通常使用 Verilog 或 VHD
  • VHDL 中的 BRAM_INIT

    我正在模拟基于处理器的设计 其中程序存储器内容保存在 BRAM 中 我正在使用 VHDL 推断 BRAM 实现程序存储器 我试图避免使用 CoreGen 因为我想保持设计的可移植性 最终该设计将进入 FPGA 我想看看是否有一种方法可以使用
  • FPGA 系统中的同步与异步复位

    我刚开始使用各种不同的模块创建 FPGA 系统来驱动 I2C 总线 尽管我认为这个问题适用于任何 FPGA 系统 并且所有模块都使用同步复位 这些模块使用时钟分频器模块进行计时 该模块获取系统时钟并向系统的其余部分输出较低的频率 我遇到的问
  • 可以购买哪些 FPGA(现场可编程门阵列)在家中进行实验? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 什么是 FPGA 在哪里可以买到 它们要花多少钱 您需要什么样的系统来试验它们 如何对它们进行编程 如果这是正确的术语 您能否使用普通 M
  • 为什么我们在FGPA / VHDL / VIVADO中使用REG?

    我正在使用 Xilinx 的 vivado 在 verilog 中进行编程 我想知道为什么我们使用某些输出reg 例如reg 3 0 encoder output我们使用它是因为我们的 16 到 4 编码器有 4 个输出 对吧 我假设我们使

随机推荐

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

    一 什么是幂等 看一下维基百科怎么说的 幂等性 多次调用方法或者接口不会改变业务状态 可以保证重复调用的结果和单次调用的结果一致 二 使用幂等的场景 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 我们平常调试裸机程序