基于Microblaze軟核的嵌入式系統(tǒng)設(shè)計(jì)
2.3 Chipscope調(diào)試
Chipscope是Xilinx公司的片內(nèi)調(diào)試工具,通過將邏輯分析器、總線分析器和虛擬I/O小型軟核插入到用戶的設(shè)計(jì)當(dāng)中,可以查看和分析任何內(nèi)部FPGA信號,包括嵌入式處理器總線。信號被實(shí)時(shí)采集,并從編程接口JTAG傳輸?shù)街鳈C(jī),然后通過Chipscope Pro邏輯分析器進(jìn)行分析。Chipscope的典型工作模式支持4種Chipscope Core,它們具有不同的功能和適應(yīng)環(huán)境:
①Chipscope_icon,用于管理其他的Chipscope core,所有的Chipscope core都是通過這個(gè)核連接到FPGA的JTAG口;
②Chipscope_ila,用于監(jiān)控FPGA內(nèi)部的自定義信號,是使用范圍最廣的監(jiān)控核;
③Chipscope_plb46_iba,用于監(jiān)控PLB總線;
④Chipscope_vio,用于監(jiān)控FPGA內(nèi)部的實(shí)時(shí)自定義信號變化。
Chipscope使用的幾個(gè)主要步驟包括:
①調(diào)用Chipscope Pro Core Generator,生成需要使用的Chipscope cote,并加入到工程中;
②調(diào)用Chipseope Pro Core Inserter,選擇需要監(jiān)控的信號,設(shè)置采樣和匹配參數(shù),并將配置后的Chipscopecore插入到設(shè)計(jì)中;
③調(diào)用Chipscope Pro Configuration,包括ChipscopePro On-Chip Debugging和Chipscope Pro On-Chip Verification,即通過Chips-cope的分析器工具Analyzer觀察FPGA內(nèi)部信號,并和設(shè)計(jì)者的需求進(jìn)行比較,分析不一致的時(shí)序。
3 為系統(tǒng)添加嵌入式操作系統(tǒng)
如果系統(tǒng)所涉及的功能比較復(fù)雜,或者系統(tǒng)對實(shí)時(shí)性要求比較嚴(yán)格的話,在自己的設(shè)計(jì)中加載一個(gè)嵌入式操作系統(tǒng)是一個(gè)很好的選擇。Xilinx FPGA目前支持絕大多數(shù)主流嵌入式操作系統(tǒng),如VxWorks、Embedded Linux、μClinux、μC/OS-II和PetaLogix等,而μC/OS-II因其具有移植方便、執(zhí)行效率高、占用空間小、實(shí)時(shí)性強(qiáng)和可靠性高等優(yōu)點(diǎn),成為Microblaze軟核的首選嵌入式操作系統(tǒng)。μC/OS-II的大部分源代碼是用ANSI C語言編寫的,它的移植只需改寫與處理器有關(guān)的3個(gè)文件即可。本文引用地址:http://www.ex-cimer.com/article/150858.htm
如圖5所示,修改與處理器相關(guān)的常數(shù)和宏定義頭文件OS_CPU.H、任務(wù)切換過程中的堆棧處理匯編文件OS_CPU_A.ASM和鉤函數(shù)定義文件OS_CPU_C.C。最簡便的做法是在μC/OS-II官方網(wǎng)站www.micrium.com上下載an1013.zip壓縮包,里面包含針對Microblaze修改好的3個(gè)移植文件、μC/OS-II軟件代碼和μC/OS-II應(yīng)用指導(dǎo)文檔,根據(jù)文檔的描述將壓縮包中的相關(guān)文件放到Xilinx的指定安裝目錄下,就可以在S-DK中直接選用μC/OS-II操作系統(tǒng)。此外,壓縮包中還提供了一個(gè)示例程序,用于演示μC/OS-II操作系統(tǒng)是否在Microblaze系統(tǒng)上運(yùn)行正常,極大減輕了用戶在移植μC/OS-II過程中所面臨的工作量。
4 FPGA的配置
基于SRAM結(jié)構(gòu)的FPGA每次上電都需要外部的配置芯片對其進(jìn)行加載,Xilinx的FPGA提供了多種配置方式,如簡便的Platform Flash PROM主串配置、價(jià)格低廉的SPI配置、大容量的并行配置和JTAG配置等,用戶可以根據(jù)自己的實(shí)際情況進(jìn)行靈活選擇。結(jié)合iMPACT圖形化配置軟件,向片外配置芯片燒寫比特流的工作變得非常簡單,極大縮短了系統(tǒng)的開發(fā)時(shí)間。除了常規(guī)的配置方式外,Xilinx FPGA還支持將多個(gè)配置文件放在一個(gè)配置芯片中實(shí)現(xiàn)系統(tǒng)的多配置啟動(dòng),或者將用戶數(shù)據(jù)存放在配置芯片中,在系統(tǒng)配置完成后根據(jù)需要隨時(shí)從配置芯片中讀出用戶數(shù)據(jù)。在Xilinx的官方網(wǎng)站www.xinlinx.com上可以下載關(guān)于芯片配置的各種應(yīng)用文檔,使用戶在嵌入式系統(tǒng)開發(fā)過程中最大限度地發(fā)揮FPGA的靈活性。
結(jié)語
基于FPGA軟核的嵌入式系統(tǒng)開發(fā)分為硬件平臺(tái)開發(fā)和軟件平臺(tái)開發(fā)兩個(gè)部分,在硬件平臺(tái)開發(fā)過程中可以根據(jù)需求選擇外設(shè),也可以定制自己的IP,實(shí)現(xiàn)更為靈活的接口和控制功能;在軟件平臺(tái)開發(fā)階段則可以充分利用XPS提供的API制函數(shù),方便快捷地編寫控制程序。FP-GA進(jìn)行嵌入式系統(tǒng)開發(fā)所具備的定制性正受到越來越多的青睞和關(guān)注,可以預(yù)見,未來使用FPGA進(jìn)行嵌入式產(chǎn)品的開發(fā)必將成為潮流。
評論