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