徐波
摘 要:Altera Cyclone V SoC FPGA 在一個(gè)基于ARM的用戶可定制芯片系統(tǒng)(SoC),集成了分立處理器(HPS)、FPGA和數(shù)字信號(hào)處理(DSP)功能。本文主要介紹Altera Cyclone V SoC FPGA的Embedded Linux System搭建,集FPGA和ARM兩大優(yōu)勢(shì)于一體,讓系統(tǒng)設(shè)計(jì)更加先進(jìn)、靈活。
關(guān)鍵字:FPGA ARM SoC Linux
中圖分類號(hào):G64 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-3791(2014)12(a)-0015-01
1 Linux系統(tǒng)搭建
Altera Cyclone V SoC FPGA的Embedded Linux System搭建是一個(gè)十分復(fù)雜的過(guò)程,包含如下幾個(gè)部分。
1.1 Linux系統(tǒng)搭建工具
(1)Quartus II,創(chuàng)建、編輯和編譯FPGA硬件設(shè)計(jì)。
(2)SoC EDS,創(chuàng)建設(shè)備樹(shù)、產(chǎn)生預(yù)加載源文件和硬件傳送信息。
(3)Yocto,生成U-boot、Linux內(nèi)核、文件系統(tǒng)。
(4)ARM DS-5,應(yīng)用軟件開(kāi)發(fā)工具。
1.2 Linux系統(tǒng)搭建過(guò)程。
1.2.1 搭建Qsys系統(tǒng)
使用Quartus II創(chuàng)建一個(gè)Qsys工程,Alatra公司自己開(kāi)發(fā)了一個(gè)Demo板,提供了Qsys的基礎(chǔ)搭建例程,這里使用已提供的“soc_system.qpf”,但是要正確運(yùn)行Linux系統(tǒng),還需要進(jìn)行一些修正。
1.2.2 配置HPS系統(tǒng)
HPS內(nèi)包含了雙核的ARM Cortex A9 處理器外,還有許多內(nèi)建外設(shè)可以使用,在Qsys系統(tǒng)中雙擊 hps_0組件打開(kāi)HPS配置窗口,查看HPS組件的配置信息,HPS屬性有FPGA Interfaces、Peripheral Pin Multiplexing、HPS Clocks和SDRAM等四個(gè)配置欄,根據(jù)硬件實(shí)際連接,進(jìn)行相關(guān)配置,配置完畢后,保存、編譯就是生成需要的“soc_sysytem.sof”文件。
1.2.3 生成Preload Iamge文件
Altera的SoC FPGA與ARM專用芯片相比其有比較靈活的應(yīng)用彈性。因?yàn)橛脩艨梢酝ㄟ^(guò)Qsys配置和刪減ARM端外設(shè),還可以添加與FPGA相連的組件。這些用戶自定義的設(shè)定在經(jīng)過(guò)Qsys generate和Quartus II compile會(huì)產(chǎn)生出一些HPS和FPGA相關(guān)的配置文件。在進(jìn)行軟件設(shè)計(jì)時(shí),這些檔案可以通過(guò)BSP Editor轉(zhuǎn)換成Preloader需要的輸入檔案,以進(jìn)一步生成Image文件。
1.2.4 生成Device Tree
Device Tree是一種有關(guān)硬件系統(tǒng)描述的數(shù)據(jù)結(jié)構(gòu),它可以描述整個(gè)系統(tǒng)上掛載了多少種類的硬件。通過(guò)device tree系統(tǒng)上的硬件信息都可以傳遞給OS(linux)。如此便可以不用在Kernel內(nèi)放置大量的冗長(zhǎng)的代碼。這樣的特性對(duì)于硬件里面有FPGA的情況下提供了很大的彈性與靈活性。
1.2.5 Yocto ProjectTM
進(jìn)入Yocto網(wǎng)站,Yocto ProjectTM是一個(gè)開(kāi)源的協(xié)作軟件,提供模板、工具和方法幫你創(chuàng)建定制的Linux系統(tǒng)和嵌入式產(chǎn)品,而無(wú)需關(guān)心硬件體系。下載基于Altera Cyclone V SoC FPGA的Linux系統(tǒng)相關(guān)資源包及編譯工具,進(jìn)行內(nèi)核的配置。
1.2.6 ARM DS-5
Altera版ARM DS-5是Altera提供的基于ARM Development Studio5工具包的特定設(shè)備,是一個(gè)強(qiáng)大的基于Eclispe的綜合集成開(kāi)發(fā)環(huán)境,這里使用ARM DS-5進(jìn)行Linux內(nèi)核調(diào)試、外圍設(shè)備驅(qū)動(dòng)調(diào)試,確保Linux能夠正確運(yùn)行在Altera Cyclone V SoC FPGA。
1.2.7 制作Linux SD Card
完成上述步驟,將Preload Image鏡像文件,設(shè)備樹(shù)、系統(tǒng)信息文件、Linux內(nèi)核燒錄到SD中,這樣一個(gè)基于Altera Cyclone V SoC FPGA Embedded Linux系統(tǒng)制作完畢。
2 Linux系統(tǒng)測(cè)試
將制作完成的SoC_System.img鏡像文件,使用Win32SD工具燒錄到SD卡,將SD插入到Altera DE1_SoC中進(jìn)行測(cè)試,將出現(xiàn)如圖1所示的信息。
3 結(jié)語(yǔ)
隨著FPGA技術(shù)的高速發(fā)展,芯片規(guī)模不斷提升,帶來(lái)了更強(qiáng)性能的同時(shí),也實(shí)現(xiàn)了更低的功耗。RISC和FPGA結(jié)合使用,這樣電路設(shè)計(jì)的難度也就相應(yīng)地增加了。而Altera的Cyclone V SoC將RISC硬核處理器系統(tǒng)和FPGA集成到一起實(shí)現(xiàn)了功能的互補(bǔ),大大減小了硬件電路復(fù)雜性和體積,同時(shí)也降低了功耗,提高了系統(tǒng)可靠性。
參考文獻(xiàn)
[1] 蔡志明,盧傳富,李立夏.精通QT編程(第2版)[M].北京:電子工業(yè)出版社,2011.
[2] 陳健,宋健建.Linux程序設(shè)計(jì)[M].北京:人民郵電出版社,2010.
[3] 黃照鶴.Linux指令范例速查手冊(cè)[M].北京:清華大學(xué)出版社,2011.
[4] 陳永強(qiáng),陶品,王篤強(qiáng).嵌入式Linux移植[J].實(shí)驗(yàn)室研究與探索,2012(9):67-68.endprint