基于Linux的SoPC開發(fā)
SoPC(System on Programmable Chip)是一種特殊的嵌入式系統(tǒng)。首先,它是一種SoC系統(tǒng),即由一個(gè)芯片完成系統(tǒng)的主要邏輯功能;其次,它是可編程的片上系統(tǒng),即可配置、可裁減、可擴(kuò)充、可升級(jí),具有硬件系統(tǒng)的可編程性。采用SoPC的設(shè)計(jì),具有很大的靈活性。
本文引用地址:http://2s4d.com/article/150696.htm它可以根據(jù)需要定制各個(gè)硬件模塊,包括處理器、總線、存儲(chǔ)器和通信模塊等,這就使得在一個(gè)芯片上搭建一個(gè)按需定制的SoC系統(tǒng)成為可能。而Linux系統(tǒng)也因?yàn)槠淞己玫目刹脺p、可配置的特點(diǎn)廣泛應(yīng)用于各種嵌入式系統(tǒng),Linux操作系統(tǒng)提供了許多系統(tǒng)級(jí)的應(yīng)用,例如網(wǎng)絡(luò)協(xié)議的實(shí)現(xiàn)、進(jìn)程調(diào)度、內(nèi)存管理等,同時(shí)Linux是一個(gè)成熟的開源操作系統(tǒng),有豐富的應(yīng)用資源。利用這些資源和強(qiáng)大的系統(tǒng)功能,用戶可以基于嵌入式Linux快速地開發(fā)出面向復(fù)雜應(yīng)用的嵌入式系統(tǒng)。因此,結(jié)合SoPC和Linux優(yōu)勢(shì),可以很好地滿足嵌入式系統(tǒng)根據(jù)需求量體裁衣,去除冗余。本文給出基于Linux的SoPC應(yīng)用系統(tǒng)的開發(fā)方法及一個(gè)具體的嵌入式應(yīng)用開發(fā)實(shí)例。
1 硬件開發(fā)環(huán)境
1.1 開發(fā)平臺(tái)
本文所采用的開發(fā)平臺(tái)是AVNET公司生產(chǎn)的VIRTEX-II PRO FF1152開發(fā)板,它使用XILINX公司的Virtex-II Pro FPGA芯片XC2VP50-6FF1152C,同時(shí)開發(fā)板還有2個(gè)8MB×32的SDRAM存儲(chǔ)器、2個(gè)RS232接口、一個(gè)以太網(wǎng)接口、1個(gè)LCD顯示屏、8個(gè)LED燈,同時(shí)支持SPI-4.2的高速16bit LVDS接口、iSFP GbE光纖接口、System ACE接口以及一個(gè)P160標(biāo)準(zhǔn)的擴(kuò)展模塊[1]。
1.2 基于PowerPC的片上系統(tǒng)
XC2VP50-6FF1152C芯片內(nèi)部含有兩個(gè)IBM PowerPC 405核。PowerPC405是32位的RISC處理器,它采用IP植入架構(gòu)的形式整合到XILINX公司的Virtex-II Pro FPGA器件中。
PowerPC硬核具有許多優(yōu)點(diǎn)適合軟件的開發(fā)設(shè)計(jì)[2]:具有三個(gè)定時(shí)器:即可編程的內(nèi)部定時(shí)器、固定的內(nèi)部定時(shí)器和看門狗定時(shí)器和靈活的存儲(chǔ)管理和用于加強(qiáng)計(jì)算功能的乘法累加指令。PowerPC的強(qiáng)大功能可以勝任許多復(fù)雜應(yīng)用系統(tǒng)對(duì)處理能力和運(yùn)算速度的需求。同時(shí),利用雙核機(jī)制以及操作系統(tǒng)的進(jìn)程調(diào)度可以大幅度地提高處理速度。
通過XILINX公司的EDK開發(fā)軟件,可以很方便地在Virtex-II Pro系列芯片上搭建自己需要的硬件系統(tǒng)。處理器方面可以選擇硬核IP:PPC405,或者軟核IP:Microblaze;總線有OPB和PLB兩種總線可供選擇;同時(shí),還有豐富的外圍IP可以選擇;在通信方面,分別有支持高速和低速的通信模塊。支持高速的IP有:plb_etherne、opb_ethernet、opb_ethernetlite和plb_gemac等,支持低速的IP有:opb_iic、opb_spi、opb_uart16550和opb_uartlite等;在存儲(chǔ)控制器方面,可選擇的 IP有opb_sdram、opb_ddr、opb_emc、opb_sysace、plb_sdram、 plb_ddr和plb_emc等模塊;其他方面還有支持中斷、定時(shí)、GPIO、PCI等功能的IP模塊。豐富的IP模塊,加上可以利用IPIC(IP Interconnect)連接用戶定制的IP,因而用戶使用CPU時(shí),不需要再另外使用一個(gè)SDRAM控制器芯片,或者另外使用一個(gè)以太網(wǎng)的控制芯片,極其方便。
可編程片上系統(tǒng)由處理器、總線互連和外圍設(shè)備等組成,典型的基于PowerPC的片上系統(tǒng)的架構(gòu)如圖1所示。
1.3 CoreConnect的總線結(jié)構(gòu)[3]
總線互連是片上系統(tǒng)的一項(xiàng)關(guān)鍵技術(shù)。本系統(tǒng)采用了CoreConnect的總線結(jié)構(gòu)。該總線結(jié)構(gòu)是IBM公司開發(fā)的一種片上通信的總線互連技術(shù)。它的應(yīng)用使得系統(tǒng)核、外設(shè)核、處理器核的復(fù)用、連接變得更加容易。這里,系統(tǒng)核是針對(duì)PLB總線上的功能IP模塊的,而外設(shè)核是針對(duì)OPB總線上的功能模塊的。CoreConnect總線互連是由本地邏輯總線PLB(Peripheral Logic Bus)、片上外圍總線 OPB(On chip Peripheral Bus)、一個(gè)總線橋、兩個(gè)判決器,以及設(shè)備控制總線DCR(Device Control Register構(gòu)成的,其結(jié)構(gòu)如圖2所示。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評(píng)論