1. 程式人生 > >xlinx晶片JTAG燒錄

xlinx晶片JTAG燒錄

在剛拿到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