Xilinx MicroBlaze實踐總結

2021-09-20 12:50:43 字數 4815 閱讀 2094

microblaze即xilinx的軟核。下面介紹相關的工具及開發流程,以及一些需要注意的點。

1、xps軟體,新建bsp工程。檔案後最為xmp。選擇axi的匯流排架構。可以選著開發套件如ml605也可以自定義,需指定cpu的reset引腳。後面新增ip外設、ddr、串列埠。生產bsp工程後可以看到匯流排的連線圖,生成了.mhs檔案,可以看到個模組的系統圖,ucf引腳約束檔案

2、可以現在雙擊修改ddr控制器的ip核設定,修改埠的外設匯流排連線、時鐘分頻、可以修改沒有用到的引腳。修改microblaze核心的icache與dcache的大小,可以看到各個外設的位址。

需注意;ucf中的埠port及匯流排連線中的名稱一致,clk需修改我們板子上的無源的,修改clk模組中的腳

3、新增gpio,選axi_lite匯流排,修改gpio的名字與ucf中的一致。新增spi控制器的ip核、在匯流排圖里修改spi控制器的某些腳接地,刪掉沒用的腳,注意修改對應的埠一致。

編譯生成system.bit檔案,即為核心檔案。可以注意生成過程即是按照mhs檔案中的內容分布綜合對映的。這時export design/export &launch sdk。開啟sdk。最後在sdk_export目錄下新建乙個sw的目錄用來放我們的軟體,設定工作區在這。

開啟edk介面可以看到xml檔案,生成了乙個platform工程,有之前的system.bit檔案、system.xml檔案、bmm檔案與xps中的bram中是一致的。新建乙個hello world工程(預設是在ddr上跑的),關閉自動編譯功能。建好工程會自動編譯一遍、生成了2個工程、bsp工程與使用者工程。bsp工程中可以看到有lib等c語言函式庫等常用的如xgpio.h。裡面根據我們的實際外設都有相應的驅動。使用者工程中有個ld檔案,決定程式在那裡跑。可以看到與xps中的位址是符合的,build一下可以看到生成的elf檔案大小。program fpga選單中,選擇loop,這樣將根據system.bit與bmm檔案即孔的loop檔案生成download.bit檔案。下進去,但是只是下了核心。後面在工程處,右鍵,run as/launch on hardware,即將軟體程式下進去了,可以在終端視窗看到串列埠發過來的hello world證明ok

再新建乙個外設測試工程。工程型別是外設測試,可以看到生成了相應的外設測試的c檔案。直接編譯進fpga,串列埠可以看到測試通過了。

若想固化到flash中,則需生成mcs檔案,開啟impact,新建spi工程,新增download.bit,填充到spi中,然後初始化chain,新增spi,選擇我們的spi的型號、生成了mcs檔案再下進去,設定從flash啟動,斷電後就跑了起來

5、自定義外設(數碼管驅動外設):xps中點開建立外設嚮導,練到axi4_lite匯流排上,設定需要幾個暫存器,好了後即可在ip分類的user下看到自己的seg7的ip。實際上先關的檔案再pcores資料夾下。需進行修改,在mpd檔案中的ports部分新增自己的埠,修改userlogic.v中新增自己的埠,input和output。vhd檔案中有3出修改,需修改2處ports,map部分中也得修改

6、新增ip後,project-rescan user repositions更新後看到自己的ip外設埠出來了設定方向與名稱。將自己的邏輯新增到user_logic.v檔案中的相應位置

7、修改管腳約束,生成bitstream,匯入sdk,更新下xml檔案。看到加進來的外設有了。新建hello world工程,看到mss檔案。修改ld檔案讓**為到ddr中跑。寫數碼管的c語言程式,需要用到等檔案。後面下進去看到數碼管工作起來了

8、新增spi的控制器,刪掉原來的。修改ip核的配置,分頻係數等,修改引腳名字和腳的連線。

9、匯入sdk,同上,更新xml檔案,新建helloworld,將提前寫好的c檔案加進來。下程式時還是空的loop(只有為在bram上跑的程式才能一起合併,否則都只能是loop)

10、體會使用者程式與boot程式:

11、全部固化到flash中:

需用到一些工具,目的是將上面的由bootloader合併生成的bit檔案與使用者程式的elf檔案生成mcs檔案。最後生成了combine.mcs檔案。這樣每次斷電後重啟都是這樣的

感想:

1、選用ip的時候,連到那個匯流排上,即會生成一整套的匯流排介面

2、自定義ip的時候也是,在合適的地方新增自己的邏輯實現即可,軟體自動幫你生成了相應的介面,即axi的匯流排介面標準

3、可以體會一下有了硬體的seg驅動,軟體上應該怎麼寫,與原來我們用微控制器實現seg驅動有什麼不一樣。

4、有機會可以試試開源的or1200,相應的軟體工具和環境都是開源的,linux也支援

2014-4-14

microblaze即xilinx的軟核。下面介紹相關的工具及開發流程,以及一些需要注意的點。

1、xps軟體,新建bsp工程。檔案後最為xmp。選擇axi的匯流排架構。可以選著開發套件如ml605也可以自定義,需指定cpu的reset引腳。後面新增ip外設、ddr、串列埠。生產bsp工程後可以看到匯流排的連線圖,生成了.mhs檔案,可以看到個模組的系統圖,ucf引腳約束檔案

2、可以現在雙擊修改ddr控制器的ip核設定,修改埠的外設匯流排連線、時鐘分頻、可以修改沒有用到的引腳。修改microblaze核心的icache與dcache的大小,可以看到各個外設的位址。

需注意;ucf中的埠port及匯流排連線中的名稱一致,clk需修改我們板子上的無源的,修改clk模組中的腳

3、新增gpio,選axi_lite匯流排,修改gpio的名字與ucf中的一致。新增spi控制器的ip核、在匯流排圖里修改spi控制器的某些腳接地,刪掉沒用的腳,注意修改對應的埠一致。

編譯生成system.bit檔案,即為核心檔案。可以注意生成過程即是按照mhs檔案中的內容分布綜合對映的。這時export design/export &launch sdk。開啟sdk。最後在sdk_export目錄下新建乙個sw的目錄用來放我們的軟體,設定工作區在這。

開啟edk介面可以看到xml檔案,生成了乙個platform工程,有之前的system.bit檔案、system.xml檔案、bmm檔案與xps中的bram中是一致的。新建乙個hello world工程(預設是在ddr上跑的),關閉自動編譯功能。建好工程會自動編譯一遍、生成了2個工程、bsp工程與使用者工程。bsp工程中可以看到有lib等c語言函式庫等常用的如xgpio.h。裡面根據我們的實際外設都有相應的驅動。使用者工程中有個ld檔案,決定程式在那裡跑。可以看到與xps中的位址是符合的,build一下可以看到生成的elf檔案大小。program fpga選單中,選擇loop,這樣將根據system.bit與bmm檔案即孔的loop檔案生成download.bit檔案。下進去,但是只是下了核心。後面在工程處,右鍵,run as/launch on hardware,即將軟體程式下進去了,可以在終端視窗看到串列埠發過來的hello world證明ok

再新建乙個外設測試工程。工程型別是外設測試,可以看到生成了相應的外設測試的c檔案。直接編譯進fpga,串列埠可以看到測試通過了。

若想固化到flash中,則需生成mcs檔案,開啟impact,新建spi工程,新增download.bit,填充到spi中,然後初始化chain,新增spi,選擇我們的spi的型號、生成了mcs檔案再下進去,設定從flash啟動,斷電後就跑了起來

5、自定義外設(數碼管驅動外設):xps中點開建立外設嚮導,練到axi4_lite匯流排上,設定需要幾個暫存器,好了後即可在ip分類的user下看到自己的seg7的ip。實際上先關的檔案再pcores資料夾下。需進行修改,在mpd檔案中的ports部分新增自己的埠,修改userlogic.v中新增自己的埠,input和output。vhd檔案中有3出修改,需修改2處ports,map部分中也得修改

6、新增ip後,project-rescan user repositions更新後看到自己的ip外設埠出來了設定方向與名稱。將自己的邏輯新增到user_logic.v檔案中的相應位置

7、修改管腳約束,生成bitstream,匯入sdk,更新下xml檔案。看到加進來的外設有了。新建hello world工程,看到mss檔案。修改ld檔案讓**為到ddr中跑。寫數碼管的c語言程式,需要用到等檔案。後面下進去看到數碼管工作起來了

8、新增spi的控制器,刪掉原來的。修改ip核的配置,分頻係數等,修改引腳名字和腳的連線。

9、匯入sdk,同上,更新xml檔案,新建helloworld,將提前寫好的c檔案加進來。下程式時還是空的loop(只有為在bram上跑的程式才能一起合併,否則都只能是loop)

10、體會使用者程式與boot程式:

11、全部固化到flash中:

需用到一些工具,目的是將上面的由bootloader合併生成的bit檔案與使用者程式的elf檔案生成mcs檔案。最後生成了combine.mcs檔案。這樣每次斷電後重啟都是這樣的

感想:

1、選用ip的時候,連到那個匯流排上,即會生成一整套的匯流排介面

2、自定義ip的時候也是,在合適的地方新增自己的邏輯實現即可,軟體自動幫你生成了相應的介面,即axi的匯流排介面標準

3、可以體會一下有了硬體的seg驅動,軟體上應該怎麼寫,與原來我們用微控制器實現seg驅動有什麼不一樣。

4、有機會可以試試開源的or1200,相應的軟體工具和環境都是開源的,linux也支援

2014-4-14

MySQL中Union聯合查詢使用實踐總結

聯合查詢 將多次查詢 多條select語句 在記錄上進行拼接 一般記錄數增加,但是字段數不會增加 這裡需要注意的是,多條select 語句字段數必須一致,字段型別可以不同!語法格式 select 1.union union 選項 select 2.union選項 與select選項一樣,有兩個對記錄...

20159320《網路攻防實踐》第9周教材總結

這次部落格就不按照書上知識點框架做一些敘述了,首先先給一些基本的簡述 1 惡意 分類 計算機病毒 特洛伊木馬 惡意移動 蠕蟲 後門 殭屍程式 核心套件。2 中國的病毒 cih 冰河 灰鴿子 大盜 機器狗 磁碟機。3 網路蠕蟲內部組成結構 彈頭 傳播引擎 目標選擇演算法 掃瞄引擎 有效載荷。5 後門 ...

20169220 《網路攻防實踐》 第五周學習總結

web應用體系結構 web應用安全威脅web應用的資訊收集 攻擊web伺服器軟體 攻擊web應用程式 攻擊web資料內容 web應用安全防範措施sql注入攻擊原理 sql注入攻擊步驟和過程 sql注入攻擊工具 sql注入攻擊例項 sql注入攻擊防範措施xss攻擊技術原理 xss攻擊型別 xss攻擊例...