在 AMD SoC 器件(AMD Zynq 7000 SoC,AMD Zynq UltraScale+MPSoC,AMD Versal AdaptiveSoC),常見的啟動方式是通過加載外部存儲器(QSPI Flash,eMMC 等)上的鏡像,直接啟動到 Linux。但當板子調(diào)試時,經(jīng)常需要通過 JTAG 把 SoC 器件啟動到 Linux。這篇文章將分享通過 JTAG 啟動 Linux 的方法和腳本。
一、如果使用 Petalinux 編譯 Linux 鏡像,并且 Petalinux 所在的 Linux 主機能(遠程或本地)通過 JTAG 連接到 SoC 板子,那么可以使用下面的 Petalinux 命令直接下載 Linux 鏡像。
如果 JTAG 直接連接在 Linux 主機上,上面命令的“--hw_server-url:3121”可以去掉。
二、前面介紹的“petalinux-boot --jtag”命令,其實是運行了對應(yīng)的 XSCT 腳本,通過 XSCT 工具進行下載。所以我們也可以直接通過 XSCT 工具通過 JTAG 進行鏡像加載。下面介紹加載常用 XSCT 腳本。下面的腳本是負責把 SoC 器件啟動到 u-boot,并把 Linux 鏡像加載到內(nèi)存。用戶可以把命令拷貝到 tcl 文件里,然后在 XSCT 里直接 source xxx.tcl 運行。或者可以手動輸入命令,這樣方便在啟動的不同階段的進行調(diào)試。
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 而執(zhí)行默認的啟動腳本,用戶可以用 Ctrl+c 把啟動中斷,進入 u-boot 命令行。
審核編輯:湯梓紅
-
存儲器
+關(guān)注
關(guān)注
38文章
7643瀏覽量
166862 -
soc
+關(guān)注
關(guān)注
38文章
4365瀏覽量
222198 -
Linux
+關(guān)注
關(guān)注
87文章
11497瀏覽量
213261 -
JTAG
+關(guān)注
關(guān)注
6文章
403瀏覽量
73117 -
腳本
+關(guān)注
關(guān)注
1文章
397瀏覽量
28405
原文標題:開發(fā)者分享|通過 JTAG 在 AMD SoC 器件里啟動 Linux 的方法
文章出處:【微信號:gh_2d1c7e2d540e,微信公眾號:XILINX開發(fā)者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
嵌入式Linux啟動時間優(yōu)化的秘密之四-啟動腳本

如何使用Shell腳本在 Linux 服務(wù)器尋找攻擊證據(jù)
幾個經(jīng)典高效的linux腳本
Linux中執(zhí)行shell腳本的兩種方式

開機自啟動linux執(zhí)行腳本的方法
Linux自啟動設(shè)置詳解
shell腳本啟動java程序詳情解說

Linux常見調(diào)用shell腳本的三種方法
如何利用Shell腳本掩藏Linux服務(wù)器使用痕跡
嵌入式 linux開機自啟動腳本

通過Shell腳本掩蓋Linux系統(tǒng)上的操作痕跡
使用Shell腳本掩蓋Linux上的操作痕跡

評論