0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

通过JTAG启动Linux的方法和脚本

XILINX开发者社区 来源:XILINX开发者社区 2023-12-22 10:27 次阅读

本文作者:AMD 工程师 Longley Zhang

在 AMD SoC 器件(AMD Zynq 7000 SoC,AMD Zynq UltraScale+MPSoC,AMD Versal AdaptiveSoC),常见的启动方式是通过加载外部存储器(QSPI Flash,eMMC 等)上的镜像,直接启动到 Linux。但当板子调试时,经常需要通过 JTAG 把 SoC 器件启动到 Linux。这篇文章将分享通过 JTAG 启动 Linux 的方法和脚本。

一、如果使用 Petalinux 编译 Linux 镜像,并且 Petalinux 所在的 Linux 主机能(远程或本地)通过 JTAG 连接到 SoC 板子,那么可以使用下面的 Petalinux 命令直接下载 Linux 镜像。

4f46b588-9ff1-11ee-8b88-92fbcf53809c.png

如果 JTAG 直接连接在 Linux 主机上,上面命令的“--hw_server-url:3121”可以去掉。

二、前面介绍的“petalinux-boot --jtag”命令,其实是运行了对应的 XSCT 脚本,通过 XSCT 工具进行下载。所以我们也可以直接通过 XSCT 工具通过 JTAG 进行镜像加载。下面介绍加载常用 XSCT 脚本。下面的脚本是负责把 SoC 器件启动到 u-boot,并把 Linux 镜像加载到内存。用户可以把命令拷贝到 tcl 文件里,然后在 XSCT 里直接 source xxx.tcl 运行。或者可以手动输入命令,这样方便在启动的不同阶段的进行调试。

2.1 Zynq 7000 SoC 器件

4f4a4932-9ff1-11ee-8b88-92fbcf53809c.png

2.2 Zynq UltraScale+ MPSoC 器件

4f519f5c-9ff1-11ee-8b88-92fbcf53809c.png

2.3 Versal AdaptiveSoC
下面的 boot.bin 是通过“petalinux-package --boot --u-boot”生成的包含 u-boot 的镜像。

4f6e7f5a-9ff1-11ee-8b88-92fbcf53809c.png


2.4 在 u-boot 里运行下面命令启动 Linux
bootm 0x10000000 0x11A00000 0x11000000
或 bootm 0x10000000 (如果 XSCT 里使用的是 image.ub。)
注意:启动到 u-boot 后,u-boot 可能会找不到 boot.scr 而执行默认的启动脚本,用户可以用 Ctrl+c 把启动中断,进入 u-boot 命令行。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 存储器
    +关注

    关注

    38

    文章

    7462

    浏览量

    163663
  • soc
    soc
    +关注

    关注

    38

    文章

    4129

    浏览量

    217996
  • Linux
    +关注

    关注

    87

    文章

    11236

    浏览量

    209024
  • JTAG
    +关注

    关注

    6

    文章

    398

    浏览量

    71619
  • 脚本
    +关注

    关注

    1

    文章

    387

    浏览量

    14843

原文标题:开发者分享|通过 JTAG 在 AMD SoC 器件里启动 Linux 的方法

文章出处:【微信号:gh_2d1c7e2d540e,微信公众号:XILINX开发者社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    嵌入式Linux启动时间优化的秘密之四-启动脚本

    本文主要讲述嵌入式Linux启动时间优化的秘密,我们继续上篇没有讲完的嵌入式Linux启动时间优化方法,本文主要会讲
    发表于 04-21 09:22 2406次阅读
    嵌入式<b class='flag-5'>Linux</b><b class='flag-5'>启动</b>时间优化的秘密之四-<b class='flag-5'>启动脚本</b>

    如何使用Shell脚本Linux 服务器寻找攻击证据

    使用 Shell 脚本Linux 服务器上能够控制、毁坏或者获取任何东西,通过一些巧妙的攻击方法黑客可能会获取巨大的价值,但大多数攻击也留下踪迹。当然,这些踪迹也可
    的头像 发表于 10-09 14:24 962次阅读

    几个经典高效的linux脚本

    今天浩道跟大家分享硬核shell干货,以下几个脚本皆为经典高效的linux脚本,拿来即用!
    发表于 10-21 09:04 1477次阅读

    Linux中执行shell脚本的两种方式

    shell脚本,通常这个脚本通过一系列的操作编写的脚本,这些脚本都主要用于应用的启动停止等。那么
    发表于 11-18 16:49 1812次阅读
    <b class='flag-5'>Linux</b>中执行shell<b class='flag-5'>脚本</b>的两种方式

    开机自启动linux执行脚本方法

    Linux配置开机自启动执行脚本方法有很多,这里分享两种方法,分别是修改/etc/rc.local方法
    发表于 03-30 17:07

    Linux启动设置详解

      关于linux启动   2. 关于rc.d   3. 启动脚本示例   4. 关于rc.local   5. 关于bash启动脚本   6. 关于开机程序的自动
    发表于 09-14 15:56 34次下载

    Linux脚本教程

    Linux脚本教程
    发表于 10-30 15:48 12次下载
    <b class='flag-5'>Linux</b><b class='flag-5'>脚本</b>教程

    shell脚本启动java程序详情解说

    在项目中有个java工程部署在linux上,需要用shell脚本方法启动。bin下面是编译后java的文件,bat下面是一些启动脚本,bat
    发表于 11-15 11:30 5995次阅读
    shell<b class='flag-5'>脚本</b><b class='flag-5'>启动</b>java程序详情解说

    Linux常见调用shell脚本的三种方法

    编写Linux下的应用程序时有时需要调用Linux的相关shell脚本,在这些脚本通过调用Linux
    的头像 发表于 06-28 14:28 8412次阅读

    如何利用Shell脚本掩藏Linux服务器使用痕迹

    使用 Shell 脚本Linux 服务器上能够控制、毁坏或者获取任何东西,通过一些巧妙的攻击方法黑客可能会获取巨大的价值,但大多数攻击也留下踪迹。当然,这些踪迹也可
    的头像 发表于 02-13 13:21 3305次阅读

    嵌入式 linux开机自启动脚本

    笔者使用buildroot构建的跟文件系统。首先看下/etc/init.d/自启动脚本有什么规律?有什么规律?以Sxx为开头的脚本,再看rcS里面的脚本内容。以Sxx开头后面的xx代表数字例如S60qtDemo-bg,
    发表于 11-01 16:31 11次下载
    嵌入式 <b class='flag-5'>linux</b>开机自<b class='flag-5'>启动脚本</b>

    通过Shell脚本掩盖Linux系统上的操作痕迹

    使用 Shell 脚本Linux 服务器上能够控制、毁坏或者获取任何东西,通过一些巧妙的攻击方法黑客可能会获取巨大的价值,但大多数攻击也留下踪迹。
    的头像 发表于 04-03 10:43 522次阅读

    使用Shell脚本掩盖Linux上的操作痕迹

    使用 Shell 脚本Linux 服务器上能够控制、毁坏或者获取任何东西,通过一些巧妙的攻击方法黑客可能会获取巨大的价值,但大多数攻击也留下踪迹。
    的头像 发表于 05-23 09:15 622次阅读
    使用Shell<b class='flag-5'>脚本</b>掩盖<b class='flag-5'>Linux</b>上的操作痕迹

    Linux系统中调用脚本的常见方法

    linux系统中有多种方法可以在系统启动后调用脚本,接下来介绍几种常见的方法
    的头像 发表于 12-13 18:16 1016次阅读

    Linux开机启动方案

    不管组件是否已经安装为系统服务,可以通过开机启动脚本实现 注意,以下操作,均需要设置相关脚本的可执行权限,即 chmod +x 启动脚本
    发表于 04-22 09:45 251次阅读