91精品一区二区三区久久久久久_欧美一级特黄大片色_欧美一区二区人人喊爽_精品一区二区三区av

位置:51電子網 » 電子資訊 » 設計技術

JTAG方式 JTAG方式是調試中最常用的方式

發布時間:2016/12/8 16:57:15 訪問次數:10991

本文介紹zynq上三種方式啟動文件的生成和注意事項,包括只用片上ram(ocm)和使用ddr3兩種情況。jtag方式

jtag方式是調試中最常用的方式,在sdk中

在“project explorer”窗口工程上右鍵->debug as->debug configurations可以看到以下窗口

首次打開左邊窗口中xilinx c/c++ application(gdb)下沒有子項,這時雙擊xilinx c/c++ application(gdb)即可新建一個調試;

51電子網公益庫存:
74HC175D-Q100J
74AHC273BQ-Q100X
74LVC374AD-Q100J
74LVC374AD
74LVC374AD112
74LVC374AD118
74LVC273PW-Q100J
74HC166N
74HC32D
74HCT377PW112
74HCT377PW118
74HCT377PW-Q100J

這時右邊窗口會自動填充如上圖,若沒有則手動填入;

在右邊application窗口指定要下載調試的.elf文件;

在右邊stdio connection可以指定標準輸入輸出串口,即printf打印串口,若這里選擇開發板上uart的com口,則調試時printf的信息打印到調試時console窗口,同時也可從console窗口輸入數據,以此將數據通過串口發送到開發板上

以上設置完成后點擊debug即可開始調試;

若以上在“project explorer”窗口工程上右鍵->run as->run configurations;配置與此類似,最后點擊run即可開始運行,只是不是調試而是直接上板運行。

只用ocm

只用ocm指不使用ddr3的方式,與使用ddr3的方式略有不同。這里不用fsbl來加載pl部分的.bit文件和第二階段啟動程序(裸機程序),而直接用bootrom加載裸機程序到ocm,即將裸機程序當做fsbl來運行,當然還要以下處理才可以:

包含進頭文件:#include “ps7_init.h”

在裸機程序main函數開始處調用:ps7_init()

從design_1_wrapper_hw_platform_1目錄復制ps7_init.c和ps7_init.h文件到裸機程序所在的src目錄中

注意:這里樣調用ps7_init()只適用于只用ocm的情況,經測試打開ddr3后再這樣調用會在ps7_init()中初始化失敗,調試發現在初始化pll時失敗(原因未知)。

為何要調用ps7_init()呢?從上面圖片調試可以看到初始化文件(initialization files)ps7_init.tcl,其與ps7_init()效果相同;同時在調試配置窗口右下角也可以看到“summary of operations to be performed”也有調試時的運行過程,也有調用ps7_init等,之后再加載要調試的elf;由于不是通過jtag運行,所以沒有運行這里ps7_init.tcl中,所以直接在裸機程序開始處調用ps7_init()。

這里沒有使用fsbl,不能加載.bit文件(zynq啟動過程另介紹),所以只適用于沒有使用pl(包括pl邏輯或pl的io等)的情況;由于ocm大小為256kb,而在bootrom階段只能訪問192kb,所以“只用ocm”時要求裸機程序小于192kb才行。

從sd啟動

要從sd卡啟動,則需要boot.bin文件(添加了bootrom識別的頭信息文件),生成方式如下:

在“project explorer”窗口工程上右鍵->create boot image 或xilinx tools ->create zynq boot image;可以得到以下界面

通常打開該窗口后各項已填好,否則需要

1、選擇create new bif file

2、然后選擇bif文件目錄

3、在boot image partitions中add裸機程序.elf文件,要將partition type選擇為bootloader

確定輸出文件為boot.bin后點擊create image即可生成

此時只要將boot.bin復制到sd卡,設置板子為sd卡啟動,重新上電即可。

從qspi啟動

有了以上sd啟動的操作,從qspi就比較簡單了,查看部分資料,燒寫到qspi需要.mcs文件,在create boot image中生成boot.bin的同時也生成了.mcs文件,但是在我使用sdk版本中(2015.3)生成boot.bin文件時發現沒有.mcs文件,再查資料發現可以通過bootgen命令可以生成.mcs文件;最后從create boot image窗口的上面部分有說明,只要將輸出文件boot.bin的后綴改為.mcs即可生成.mcs格式文件。有了.mcs文件就可以下載了,xilinx tools ->program flash得到以下窗口

選擇.mcs文件點擊program即可。細心的朋友可以發現在選擇.mcs文件時也可以選擇.bin文件,經測試直接選擇.bin文件下載到flash也可以成功啟動,可能這就是新版sdk中不同時生成.mcs文件的原因吧。

然后設置板子為qspi啟動,重新上電即可。


同上,這時只要將boot.bin復制到sd卡,板子設置為sd卡啟動,在板子重新上電即可。

從qspi啟動

類似只用ocm的情況,將.bin下載然后然后設置板子為qspi啟動,重新上電即可。

這里需要特別注意,“使用ddr”時用sd卡和qspi啟動需要在vivado中將zynq上sd模塊和qspi模塊打開,不像“只用ocm”時不打開這些模塊也能啟動;分析查看fsbl程序可知必須要定義了xpar_ps7_ddr_0_s_axi_baseaddr才能從sd或qspi啟動,所以這里也必須打開ddr模塊。

注意

調試或下載出錯時推薦處理步驟,直到問題解決

. 重新插拔下載器

. 板子斷電后上電

. 關閉sdk重新打開(同時最好只打開一個sdk)

. 檢查調試選項,是否設置好

. 檢查zynq設置(如當用到ddr時,若選擇ddr型號不對也是不能調試的)

若啟動不正常可以嘗試調試fsbl:

. 若要查看fsbl打印調試信息,則在fsbl_debug.h中定義宏fsbl_debug_info(#define fsbl_debug_info),當然在調試設置中也要設置stdio為對應uart(默認波特率為115200)或使用其它uart查看打印信息

. 調試fsbl時注意,當改變板子啟動方式后需要重新上電或por復位后才生效

使用ddr

使用ddr方式即可需要使用fsbl來加載裸機程序,同時當然也支持配置pl部分.bit文件。所以除了裸機程序工程外還需要建立fsbl程序工程,該工程直接用sdk自帶fsbl模板即可,如下圖

注意選擇使用與裸機程序同一個bsp;點擊next

這里選擇zynq fsbl,然后點擊finish即可生成fsbl工程。

注意:若提示不能創建則通常是在bsp中沒有打開對應的庫(xilffs和xilrsa),

在“project explorer”窗口bsp上右鍵->board support package setting,打開兩個庫即可

從sd啟動

類似的,從sd卡啟動也需要boot.bin文件,生成方法類似前面,只是在create zynq boot image窗口需要add:

選擇fsbl作為bootloader

選擇pl部分.bit文件

選擇裸機程序.elf


本文介紹zynq上三種方式啟動文件的生成和注意事項,包括只用片上ram(ocm)和使用ddr3兩種情況。jtag方式

jtag方式是調試中最常用的方式,在sdk中

在“project explorer”窗口工程上右鍵->debug as->debug configurations可以看到以下窗口

首次打開左邊窗口中xilinx c/c++ application(gdb)下沒有子項,這時雙擊xilinx c/c++ application(gdb)即可新建一個調試;

51電子網公益庫存:
74HC175D-Q100J
74AHC273BQ-Q100X
74LVC374AD-Q100J
74LVC374AD
74LVC374AD112
74LVC374AD118
74LVC273PW-Q100J
74HC166N
74HC32D
74HCT377PW112
74HCT377PW118
74HCT377PW-Q100J

這時右邊窗口會自動填充如上圖,若沒有則手動填入;

在右邊application窗口指定要下載調試的.elf文件;

在右邊stdio connection可以指定標準輸入輸出串口,即printf打印串口,若這里選擇開發板上uart的com口,則調試時printf的信息打印到調試時console窗口,同時也可從console窗口輸入數據,以此將數據通過串口發送到開發板上

以上設置完成后點擊debug即可開始調試;

若以上在“project explorer”窗口工程上右鍵->run as->run configurations;配置與此類似,最后點擊run即可開始運行,只是不是調試而是直接上板運行。

只用ocm

只用ocm指不使用ddr3的方式,與使用ddr3的方式略有不同。這里不用fsbl來加載pl部分的.bit文件和第二階段啟動程序(裸機程序),而直接用bootrom加載裸機程序到ocm,即將裸機程序當做fsbl來運行,當然還要以下處理才可以:

包含進頭文件:#include “ps7_init.h”

在裸機程序main函數開始處調用:ps7_init()

從design_1_wrapper_hw_platform_1目錄復制ps7_init.c和ps7_init.h文件到裸機程序所在的src目錄中

注意:這里樣調用ps7_init()只適用于只用ocm的情況,經測試打開ddr3后再這樣調用會在ps7_init()中初始化失敗,調試發現在初始化pll時失敗(原因未知)。

為何要調用ps7_init()呢?從上面圖片調試可以看到初始化文件(initialization files)ps7_init.tcl,其與ps7_init()效果相同;同時在調試配置窗口右下角也可以看到“summary of operations to be performed”也有調試時的運行過程,也有調用ps7_init等,之后再加載要調試的elf;由于不是通過jtag運行,所以沒有運行這里ps7_init.tcl中,所以直接在裸機程序開始處調用ps7_init()。

這里沒有使用fsbl,不能加載.bit文件(zynq啟動過程另介紹),所以只適用于沒有使用pl(包括pl邏輯或pl的io等)的情況;由于ocm大小為256kb,而在bootrom階段只能訪問192kb,所以“只用ocm”時要求裸機程序小于192kb才行。

從sd啟動

要從sd卡啟動,則需要boot.bin文件(添加了bootrom識別的頭信息文件),生成方式如下:

在“project explorer”窗口工程上右鍵->create boot image 或xilinx tools ->create zynq boot image;可以得到以下界面

通常打開該窗口后各項已填好,否則需要

1、選擇create new bif file

2、然后選擇bif文件目錄

3、在boot image partitions中add裸機程序.elf文件,要將partition type選擇為bootloader

確定輸出文件為boot.bin后點擊create image即可生成

此時只要將boot.bin復制到sd卡,設置板子為sd卡啟動,重新上電即可。

從qspi啟動

有了以上sd啟動的操作,從qspi就比較簡單了,查看部分資料,燒寫到qspi需要.mcs文件,在create boot image中生成boot.bin的同時也生成了.mcs文件,但是在我使用sdk版本中(2015.3)生成boot.bin文件時發現沒有.mcs文件,再查資料發現可以通過bootgen命令可以生成.mcs文件;最后從create boot image窗口的上面部分有說明,只要將輸出文件boot.bin的后綴改為.mcs即可生成.mcs格式文件。有了.mcs文件就可以下載了,xilinx tools ->program flash得到以下窗口

選擇.mcs文件點擊program即可。細心的朋友可以發現在選擇.mcs文件時也可以選擇.bin文件,經測試直接選擇.bin文件下載到flash也可以成功啟動,可能這就是新版sdk中不同時生成.mcs文件的原因吧。

然后設置板子為qspi啟動,重新上電即可。


同上,這時只要將boot.bin復制到sd卡,板子設置為sd卡啟動,在板子重新上電即可。

從qspi啟動

類似只用ocm的情況,將.bin下載然后然后設置板子為qspi啟動,重新上電即可。

這里需要特別注意,“使用ddr”時用sd卡和qspi啟動需要在vivado中將zynq上sd模塊和qspi模塊打開,不像“只用ocm”時不打開這些模塊也能啟動;分析查看fsbl程序可知必須要定義了xpar_ps7_ddr_0_s_axi_baseaddr才能從sd或qspi啟動,所以這里也必須打開ddr模塊。

注意

調試或下載出錯時推薦處理步驟,直到問題解決

. 重新插拔下載器

. 板子斷電后上電

. 關閉sdk重新打開(同時最好只打開一個sdk)

. 檢查調試選項,是否設置好

. 檢查zynq設置(如當用到ddr時,若選擇ddr型號不對也是不能調試的)

若啟動不正常可以嘗試調試fsbl:

. 若要查看fsbl打印調試信息,則在fsbl_debug.h中定義宏fsbl_debug_info(#define fsbl_debug_info),當然在調試設置中也要設置stdio為對應uart(默認波特率為115200)或使用其它uart查看打印信息

. 調試fsbl時注意,當改變板子啟動方式后需要重新上電或por復位后才生效

使用ddr

使用ddr方式即可需要使用fsbl來加載裸機程序,同時當然也支持配置pl部分.bit文件。所以除了裸機程序工程外還需要建立fsbl程序工程,該工程直接用sdk自帶fsbl模板即可,如下圖

注意選擇使用與裸機程序同一個bsp;點擊next

這里選擇zynq fsbl,然后點擊finish即可生成fsbl工程。

注意:若提示不能創建則通常是在bsp中沒有打開對應的庫(xilffs和xilrsa),

在“project explorer”窗口bsp上右鍵->board support package setting,打開兩個庫即可

從sd啟動

類似的,從sd卡啟動也需要boot.bin文件,生成方法類似前面,只是在create zynq boot image窗口需要add:

選擇fsbl作為bootloader

選擇pl部分.bit文件

選擇裸機程序.elf


熱門點擊

推薦電子資訊

EMC對策元件
應用: 汽車以太網系統的車載多媒體信息娛樂系統,如駕... [詳細]
版權所有:51dzw.COM
深圳服務熱線:13751165337  13692101218
粵ICP備09112631號-6(miitbeian.gov.cn)
公網安備44030402000607
深圳市碧威特網絡技術有限公司
付款方式


 復制成功!
洛川县| 达州市| 大冶市| 灌南县| 上杭县| 金阳县| 洪湖市| 中超| 天等县| 鄂托克旗| 霸州市| 伊春市| 宁陕县| 阳城县| 上林县| 中西区| 海盐县| 惠来县| 前郭尔| 宁城县| 肥城市| 增城市| 崇州市| 毕节市| 名山县| 古丈县| 仁化县| 宣恩县| 淮安市| 清徐县| 独山县| 安乡县| 信阳市| 辽源市| 玉树县| 襄樊市| 曲松县| 长宁区| 巧家县| 广河县| 阳高县|