新聞中心

        EEPW首頁 > EDA/PCB > 設計應用 > 導航系統SoC芯片設計方案分析

        導航系統SoC芯片設計方案分析

        作者: 時間:2012-05-14 來源:網絡 收藏

        1.3 Linux系統的移植和調試

        近年來Linux憑借其開源、性能優異、軟件資源豐富的優勢,在嵌入式平臺上得到了廣泛的應用。在LEON上運行的操作系統日前已經有RTEMS、 eCOS、VxWorks和嵌入式Linux。選擇嵌入式Linux的主要原用,是由于Linux的開發平臺搭建得比較完善,在工具鏈、內核移植、驅動程序以及應用程序的各層上都有很好的支持;使用Linux開發能夠大大加快開發的進度,并滿足多數應用的指標。目前,對LEON提供良好支持的Linux發行版有Snapgear。由于LEON軟核優異的可配置性和可移植性.在LEON上進行Linux的移植工作與普通定制的嵌入式微處理器相比,有很多特殊點和難點,主要表現在兩個方面。

        (1)配置和編譯內核

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

        項目中實際采取的LEON軟核配置為:LEON核選擇LEON2MMU或LEON3MMU,時鐘頻率為50MHz,配置硬件整數乘除法指令和FPU對應的浮點操作指令。外圍設備配置的串口的起始波特率為38 400 bps,另外,還配置了只讀存儲區ROM和隨機存取器RAM。

        (2)調試內核

        LEON軟核平臺調試工具有:TSIM、GRSIM和GRMON。

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

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

        GRMON:LEON平臺硬件仿真調試器,支持基于GRLIB軟核IP的設汁的硬件調試。

        TSIM作為軟件模擬的VHDL模型,調試過程中常見的啟動選項設置如下:

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

        -fpm:配置模擬FPU模塊。

        -nfp:針對無FPU的模擬硬件平臺關閉FPU。

        一nov8:針對無硬件乘除法硬件平臺關閉硬件乘除法指令。

        -pr:指定使用性能觀察器。

        在TSIM-LEON平臺上進行程序的測試和調試過程中,Profiling(性能觀察器)能夠顯示程序各個分支函數以及宏在實際運行中占用的資源,從而為程序的進一步優化提供必要參考,例如某測試程序在程序運行完畢后使用pro命令得出的結果:

        宏_muldf3和_adddf,3在程序運行中占用了大量時間,需進一步優化。經測試證明,通過在LEON中集成FPU消除了宏_muldf3和_adddf3,從而大幅提高浮點運算性能。

        2 LEON數學運算性能及算法測試

        在LEON軟核系統上移植成功Linux后,通過特定測試程序驗證LEON在數學運算上的性能,以確定是否滿足項目開發的需求。測試中對比ARM9 SC32410,分析LEON以及其集成FPU配置的性能,并根據測試結果對軟硬件配置進一步優化。由于LEON硬件配置十分靈活,因此在測試中采用了多種平臺,編譯程序的選項也有對應的設置。中斷響應、功耗等雖然也是處理器性能的重要方面,但本文尚未涉及。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 基隆市| 柞水县| 奉新县| 济阳县| 安国市| 新平| 佛教| 木兰县| 耿马| 麦盖提县| 铜川市| 偃师市| 宜兴市| 彰化县| 广昌县| 手游| 岢岚县| 龙口市| 永年县| 梁平县| 英吉沙县| 蓬莱市| 德昌县| 页游| 河曲县| 黄浦区| 龙州县| 连平县| 资源县| 广元市| 象州县| 临高县| 鹤壁市| 贵溪市| 滨海县| 称多县| 定日县| 安吉县| 嘉峪关市| 凯里市| 绥芬河市|