在 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 镜像。

如果 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 器件

2.2 Zynq UltraScale+ MPSoC 器件

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

2.4 在 u-boot 里运行下面命令启动 Linux
bootm 0x10000000 0x11A00000 0x11000000
或 bootm 0x10000000 (如果 XSCT 里使用的是 image.ub。)
注意:启动到 u-boot 后,u-boot 可能会找不到 boot.scr 而执行默认的启动脚本,用户可以用 Ctrl+c 把启动中断,进入 u-boot 命令行。
审核编辑:汤梓红
-
存储器
+关注
关注
39文章
7716浏览量
170932 -
soc
+关注
关注
38文章
4521浏览量
227744 -
Linux
+关注
关注
88文章
11635浏览量
218102 -
JTAG
+关注
关注
6文章
411浏览量
74633 -
脚本
+关注
关注
1文章
407浏览量
29075
原文标题:开发者分享|通过 JTAG 在 AMD SoC 器件里启动 Linux 的方法
文章出处:【微信号:gh_2d1c7e2d540e,微信公众号:XILINX开发者社区】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
嵌入式Linux启动时间优化的秘密之四-启动脚本
如何使用Shell脚本在 Linux 服务器寻找攻击证据
Linux自启动设置详解
shell脚本启动java程序详情解说
如何利用Shell脚本掩藏Linux服务器使用痕迹
嵌入式 linux开机自启动脚本

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