徐波
摘 要:Altera Cyclone V SoC FPGA 在一個基于ARM的用戶可定制芯片系統(tǒng)(SoC),集成了分立處理器(HPS)、FPGA和數(shù)字信號處理(DSP)功能。本文主要介紹Altera Cyclone V SoC FPGA的Embedded Linux System搭建,集FPGA和ARM兩大優(yōu)勢于一體,讓系統(tǒng)設(shè)計更加先進、靈活。
關(guān)鍵字:FPGA ARM SoC Linux
中圖分類號:G64 文獻標識碼:A 文章編號:1672-3791(2014)12(a)-0015-01
1 Linux系統(tǒng)搭建
Altera Cyclone V SoC FPGA的Embedded Linux System搭建是一個十分復(fù)雜的過程,包含如下幾個部分。
1.1 Linux系統(tǒng)搭建工具
(1)Quartus II,創(chuàng)建、編輯和編譯FPGA硬件設(shè)計。
(2)SoC EDS,創(chuàng)建設(shè)備樹、產(chǎn)生預(yù)加載源文件和硬件傳送信息。
(3)Yocto,生成U-boot、Linux內(nèi)核、文件系統(tǒng)。
(4)ARM DS-5,應(yīng)用軟件開發(fā)工具。
1.2 Linux系統(tǒng)搭建過程。
1.2.1 搭建Qsys系統(tǒng)
使用Quartus II創(chuàng)建一個Qsys工程,Alatra公司自己開發(fā)了一個Demo板,提供了Qsys的基礎(chǔ)搭建例程,這里使用已提供的“soc_system.qpf”,但是要正確運行Linux系統(tǒng),還需要進行一些修正。
1.2.2 配置HPS系統(tǒng)
HPS內(nèi)包含了雙核的ARM Cortex A9 處理器外,還有許多內(nèi)建外設(shè)可以使用,在Qsys系統(tǒng)中雙擊 hps_0組件打開HPS配置窗口,查看HPS組件的配置信息,HPS屬性有FPGA Interfaces、Peripheral Pin Multiplexing、HPS Clocks和SDRAM等四個配置欄,根據(jù)硬件實際連接,進行相關(guān)配置,配置完畢后,保存、編譯就是生成需要的“soc_sysytem.sof”文件。
1.2.3 生成Preload Iamge文件
Altera的SoC FPGA與ARM專用芯片相比其有比較靈活的應(yīng)用彈性。因為用戶可以通過Qsys配置和刪減ARM端外設(shè),還可以添加與FPGA相連的組件。這些用戶自定義的設(shè)定在經(jīng)過Qsys generate和Quartus II compile會產(chǎn)生出一些HPS和FPGA相關(guān)的配置文件。在進行軟件設(shè)計時,這些檔案可以通過BSP Editor轉(zhuǎn)換成Preloader需要的輸入檔案,以進一步生成Image文件。
1.2.4 生成Device Tree
Device Tree是一種有關(guān)硬件系統(tǒng)描述的數(shù)據(jù)結(jié)構(gòu),它可以描述整個系統(tǒng)上掛載了多少種類的硬件。通過device tree系統(tǒng)上的硬件信息都可以傳遞給OS(linux)。如此便可以不用在Kernel內(nèi)放置大量的冗長的代碼。……