基于Microblaze軟核的嵌入式系統(tǒng)設計
2 基于Microblaze的嵌入式開發(fā)流程
如圖2所示,基于Microblaze的嵌入式開發(fā)流程主要包括3個步驟:首先要搭建起底層的物理平臺,包括構(gòu)建Microblaze處理器,將所需的外設通過片內(nèi)總線掛到Microblaze處理器上,并根據(jù)需要開發(fā)用戶自定義的IP核;第二步在構(gòu)建起的硬件平臺上編寫軟件應用程序,包括應用程序代碼、庫文件以及板級支持包BSP等;最后將硬件的比特流配置文件和軟件的可執(zhí)行重定位文件進行合并形成最終的文件,或者直接下載到FPGA內(nèi)部運行,或者下載到FPGA片外的非易失性存儲器Flash中,在系統(tǒng)配置完成后由Bootloader。程序?qū)lash中的應用程序拷貝到片外的DDRRAM中運行。本文引用地址:http://cafeforensic.com/article/150858.htm
2.1 硬件平臺的開發(fā)
EDK的組件XPS(Xilinx Platform Studio)為Microblaze提供了一個集成開發(fā)環(huán)境,硬件平臺的開發(fā)主要包括兩方面內(nèi)容:
①用基本系統(tǒng)向?qū)SB(Base System Builder)搭建Microblaze平臺,包括FPGA器件型號的選擇、Microblaze處理器屬性的設置、所需外設的添加和屬性設置、測試程序的生成等步驟。圖3給出了BSB完成后的XPS顯示窗口內(nèi)容。從圖3可以看到,系統(tǒng)添加了多種外設,如RS232串口、與外部Flash和。DDR RAM進行交互的控制邏輯、中斷控制器和定時器等,這些外設通過指定的片內(nèi)總線連接到Microblaze控制核上。除此之外,還可以在Ports頁面對各個模塊的信號進行相互連接,在Addresses頁面對模塊的地址進行分配等。這部分工作相當于將原本不可分割的ASIC專用集成芯片進行了拆卸,讓用戶深入到芯片內(nèi)部,根據(jù)自身的需求去選取芯片需要具備的功能模塊,并完成這些模塊與控制核的連接和地址分配,形成用戶最終定制的底層邏輯。這種拆卸和組合在一定程度上增加了系統(tǒng)開發(fā)的難度,但也換來了系統(tǒng)設計的靈活性、通用性和可擴展性。
評論