xlinx晶片JTAG燒錄
阿新 • • 發佈:2019-01-26
在剛拿到xlinx晶片時,需要對其進行燒錄,相對較麻煩,故在有linux系統時,用flashcp命令進行擦寫。
下面介紹JTAG燒錄操作的步驟(解決的大致步驟是,先將製作的BOOT.bin儲存在DDR的一個位置,然後燒錄u-boot系統,通過u-boot系統將BOOT.bin映象燒錄進去。BOOT.bin的製作方法:http://blog.csdn.net/qq_28351465/article/details/53940181)
1 開啟控制檯
在xlinx sdk下開啟XMD控制檯。
2 連線arm核
在xmd控制檯輸入命令:
connect arm hw
顯示以下返回,即連線成功,如果未連線成功,需檢查JTAG線的連線以及板子正常上電。
3 初始化邏輯檔案
先進入存放邏輯檔案的資料夾,和linux window的cmd操作相同
依次執行命令
XMD% source ps7_init.tcl
XMD% ps7_init
XMD% init_user
XMD% rst -processor
這時容易出問題:
ERROR: Cannot Read from target
MMU section translation fault
解決方法為:
XMD% rst
4 將BOOT.bin映象燒錄進板子地址0x1000000處(任意一處不會被佔用的均可)
進入BOOT.bin存放的位置
XMD% dow -data BOOT.bin 0x1000000
5 將u-boot系統燒入地址0x0
進入u-boot執行檔案存放位置
XMD% dow u-boot.elf
因為要放到0x0地址,所以命令後不用寫地址位置,預設為0x0
6 進入u-boot系統,燒錄BOOT.bin
讓板子從0x0位置開始執行
XMD% con
之後,立即切換到串列埠介面,停住u-boot系統,在u-boot系統上,執行
1 探測flash
zynq-uboot> sf probe
2 擦寫相應地址
zynq-uboot> sf erase 0x0 0x280000
3 寫入資料(將之前放到0x1000000位置的資料燒到0x0位置)
zynq-uboot> sf write 0x1000000 0x0 0x280000
7 斷開JTAG
XMD% disconnect 64