新聞中心

EEPW首頁(yè) > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 導(dǎo)航系統(tǒng)SoC芯片設(shè)計(jì)方案分析

導(dǎo)航系統(tǒng)SoC芯片設(shè)計(jì)方案分析

作者: 時(shí)間:2012-05-14 來(lái)源:網(wǎng)絡(luò) 收藏

1.3 Linux系統(tǒng)的移植和調(diào)試

近年來(lái)Linux憑借其開(kāi)源、性能優(yōu)異、軟件資源豐富的優(yōu)勢(shì),在嵌入式平臺(tái)上得到了廣泛的應(yīng)用。在LEON上運(yùn)行的操作系統(tǒng)日前已經(jīng)有RTEMS、 eCOS、VxWorks和嵌入式Linux。選擇嵌入式Linux的主要原用,是由于Linux的開(kāi)發(fā)平臺(tái)搭建得比較完善,在工具鏈、內(nèi)核移植、驅(qū)動(dòng)程序以及應(yīng)用程序的各層上都有很好的支持;使用Linux開(kāi)發(fā)能夠大大加快開(kāi)發(fā)的進(jìn)度,并滿(mǎn)足多數(shù)應(yīng)用的指標(biāo)。目前,對(duì)LEON提供良好支持的Linux發(fā)行版有Snapgear。由于LEON軟核優(yōu)異的可配置性和可移植性.在LEON上進(jìn)行Linux的移植工作與普通定制的嵌入式微處理器相比,有很多特殊點(diǎn)和難點(diǎn),主要表現(xiàn)在兩個(gè)方面。

(1)配置和編譯內(nèi)核

編譯內(nèi)核的目的在于,生成在目標(biāo)CPU上運(yùn)行的內(nèi)核。由于LEON自身硬件的可配置性,Linux的源代碼中也需要加入與硬件核相關(guān)的選項(xiàng)進(jìn)行配置。若 LEON軟核配置IP,例如硬件加速單元、加密單元或外設(shè)接口,則Linux內(nèi)核中需加入驅(qū)動(dòng)程序。因此,內(nèi)核的配置分為兩類(lèi),一類(lèi)是配置LEON軟核自身的設(shè)置,另一類(lèi)是配置目標(biāo)板上的其他外圍設(shè)備,例如內(nèi)存系統(tǒng)、外設(shè)接口等。與一般的定制嵌入式CPU(如ARM體系的CPU)相比,前一類(lèi)配置是 LEON獨(dú)有的。這種配置的靈話(huà)性為軟硬件平臺(tái)的定制提供了極大的方便。例如,Snapgear Embed-ded Linux根據(jù)具體需求配置硬件乘除法指令和浮點(diǎn)運(yùn)算單元FPU:在不需要進(jìn)行浮點(diǎn)運(yùn)算的應(yīng)用中,配置LEON硬件就不需配置浮點(diǎn)單元,相應(yīng)Linux的配置中取消FPU,進(jìn)而節(jié)省硬件資源和軟件的開(kāi)銷(xiāo)。

項(xiàng)目中實(shí)際采取的LEON軟核配置為:LEON核選擇LEON2MMU或LEON3MMU,時(shí)鐘頻率為50MHz,配置硬件整數(shù)乘除法指令和FPU對(duì)應(yīng)的浮點(diǎn)操作指令。外圍設(shè)備配置的串口的起始波特率為38 400 bps,另外,還配置了只讀存儲(chǔ)區(qū)ROM和隨機(jī)存取器RAM。

(2)調(diào)試內(nèi)核

LEON軟核平臺(tái)調(diào)試工具有:TSIM、GRSIM和GRMON。

TSIM:SPARC架構(gòu)處理器通用軟件仿真器,用于軟件仿真ERC32-和LEON微處理器。

GRSIM:LEON平臺(tái)軟件仿真器,支持多處理器平臺(tái)(MP)。

GRMON:LEON平臺(tái)硬件仿真調(diào)試器,支持基于GRLIB軟核IP的設(shè)汁的硬件調(diào)試。

TSIM作為軟件模擬的VHDL模型,調(diào)試過(guò)程中常見(jiàn)的啟動(dòng)選項(xiàng)設(shè)置如下:

-freq:設(shè)置TSIM模擬LEON處理器硬件的工作頻率,LEON3默認(rèn)為50 MHz。

-fpm:配置模擬FPU模塊。

-nfp:針對(duì)無(wú)FPU的模擬硬件平臺(tái)關(guān)閉FPU。

一nov8:針對(duì)無(wú)硬件乘除法硬件平臺(tái)關(guān)閉硬件乘除法指令。

-pr:指定使用性能觀(guān)察器。

在TSIM-LEON平臺(tái)上進(jìn)行程序的測(cè)試和調(diào)試過(guò)程中,Profiling(性能觀(guān)察器)能夠顯示程序各個(gè)分支函數(shù)以及宏在實(shí)際運(yùn)行中占用的資源,從而為程序的進(jìn)一步優(yōu)化提供必要參考,例如某測(cè)試程序在程序運(yùn)行完畢后使用pro命令得出的結(jié)果:

宏_muldf3和_adddf,3在程序運(yùn)行中占用了大量時(shí)間,需進(jìn)一步優(yōu)化。經(jīng)測(cè)試證明,通過(guò)在LEON中集成FPU消除了宏_muldf3和_adddf3,從而大幅提高浮點(diǎn)運(yùn)算性能。

2 LEON數(shù)學(xué)運(yùn)算性能及算法測(cè)試

在LEON軟核系統(tǒng)上移植成功Linux后,通過(guò)特定測(cè)試程序驗(yàn)證LEON在數(shù)學(xué)運(yùn)算上的性能,以確定是否滿(mǎn)足項(xiàng)目開(kāi)發(fā)的需求。測(cè)試中對(duì)比ARM9 SC32410,分析LEON以及其集成FPU配置的性能,并根據(jù)測(cè)試結(jié)果對(duì)軟硬件配置進(jìn)一步優(yōu)化。由于LEON硬件配置十分靈活,因此在測(cè)試中采用了多種平臺(tái),編譯程序的選項(xiàng)也有對(duì)應(yīng)的設(shè)置。中斷響應(yīng)、功耗等雖然也是處理器性能的重要方面,但本文尚未涉及。



評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉