一個調試小訣竅分享
set a flag for FPGA configuration
給FPGA配置設置一個標志
Embedded Linux Beginners Guide
制作SD卡image,那么FPGA配置文件(.rbf)是在uboot階段被加載。
當某種原因(下文會講).rbf加載失敗,系統還會繼續加載內核直到顯示登錄界面:
從表面上看,此時linux系統交互正常,rbf加載失敗的提示信息也早被串口其他信息覆蓋掉,所以經驗不足的工程師可能無法第一時間獲知rbf文件加載失敗,從而導致他們后期要耗費大量時間調試直到定位到此問題。
但如果用戶自己的工程也像DE10-Nano GHRD工程(DE10_NANO_SoC_GHRD 或者 DE10_NANO_SoC_FB)一樣設計一個簡單的LED電路(這個電路是一個計數器控制LED電平每隔0.5s翻轉一次,以此形成LED閃爍效果):
就可以在加載過程中第一時間判斷出rbf文件加載是否成功。.rbf加載成功后led[0]會閃爍:
當發現LED沒有閃爍,說明rbf加載失敗,可以從MSEL 設置和rbf文件路徑等方向去繼續定位問題。
確定MSEL設置
MSEL設置錯誤會導致rbf加載失敗。
如果像這樣選擇File——Convert Programming Files生成.rbf:
這樣生成是.rbf文件是未經壓縮的,SD卡啟動時需設置MSEL為00000, 如果設置為01010則LED[0]不會閃爍。
如果繼續點擊Properties并選擇了Compression然后生成.rbf文件,則啟動時要設置MSEL為01010。
如果是通過GHRD工程文件夾下面的Makefile文件自動生成的rbf文件,則SD卡啟動時MSEL需要設置為01010, 因為Makefile里面設置為壓縮模式:
關于MSEL模式設置與文件壓縮之間的關系請參考Cyclone V handbook:
確定SD卡中rbf文件路徑
如果rbf文件路徑錯了,rbf文件也加載不起來。
如果是用GHRD工程自帶的Malefile文件生成boot.scr,就要在fat分區新建一個output_files文件路徑然后將.rbf復制進去:
如果用戶自己寫的boot.script文件是這樣設置:
就可直接將.rbf文件拷貝到SD卡的fat分區:
這么一個小小led設計, 現象直接,定位方便,是不是非常妙?所以初學者在SOC FPGA調試的過程當中也可以這樣設計哦!
審核編輯:劉清
-
FPGA
+關注
關注
1626文章
21678瀏覽量
602047 -
LED電路
+關注
關注
13文章
74瀏覽量
39954 -
Linux系統
+關注
關注
4文章
592瀏覽量
27361 -
SD卡
+關注
關注
2文章
560瀏覽量
63814
原文標題:【調試小訣竅】SD卡鏡像啟動過程中如何第一時間獲取FPGA配置狀態?以及如何定位FPGA配置失敗原因?
文章出處:【微信號:友晶FPGA,微信公眾號:友晶FPGA】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論