新聞中心

        EEPW首頁 > EDA/PCB > 設計應用 > 基于SOPC技術的便攜式定位系統設計

        基于SOPC技術的便攜式定位系統設計

        作者: 時間:2009-03-24 來源:網絡 收藏

        3 接收終端軟件實現

        接收終端軟件開發在集成開發環境Nios II IDE中進行,主要完成定位數據的采集和與監控中心的通信。

        3.1 軟件開發環境Nios II IDE

        Nios II IDE是Nios II軟核處理器的主要開發工具,它基于開放和可擴展的Eclipse平臺,為軟件開發提供了一個完整的C/C++設計開發環境,它包括一個具有工程管理、源代碼開發、基于JTAG調試功能的圖形用戶界面(GUI),借助于HAL(Hardware Abstraction Layer,硬件抽象層)可以用類似C語言的庫函數來訪問硬件設備或文件[3],縮短軟件開發周期。

        3.2 HAL系統庫

        HAL(Hardware Abstraction Layer,硬件抽象層)系統庫可以為嵌入式軟件開發人員訪問底層硬件提供簡單的設備驅動接口,NIOS II軟核處理器支持HAL,其為用戶提供了以下支持:與ANSI C集成的標準庫-提供類似C語言的標準庫函數;設備驅動,提供訪問系統中的每個設備的驅動程序;HAL API,提供標準的接口程序如設備訪問、中斷處理等;系統初始化和設備初始化,提供main( )函數之前處理器和系統外圍設備的初始化。基于HAL的系統層次如圖2所示。

        3.3 接收終端軟件開發

        根據系統的功能,軟件設計流程圖如3所示。

        3.3.1 終端初始化程序設計

        終端初始化主要是在系統上電時完成硬件配置文件的下載,系統初始化和設備初始化等。使用main( ) 函數,HAL系統庫能自動初始化系統。但自動初始化屏蔽了底層操作,一些沒有用到的設備驅動程序也進行了初始化,增加了程序代碼長度和降低了系統效率,ANSI C標準提供了一個供用戶自由初始化系統的函數alt_main( ),用戶可以在該函數中自由初始化系統而代替main( )的自動初始化,本系統的alt_main( )函數如下:
        int alt_main(void)
        { alt_irq_init (ALT_IRQ_BASE); //允許中斷,初始化中斷
        small_sys_init( ) //初始化設備驅動
        alt_io_redirect (ALT_STDOUT, ALT_STDIN, ALT_STDERR); //初始化IO數據流
        exit(0); }

        圖2 基于HAL的系統層次

        圖3 軟件設計流程圖

        3.3.2 定位數據的采集程序設計



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 巴彦淖尔市| 内黄县| 新平| 新和县| 丹凤县| 广昌县| 手游| 铜山县| 泰州市| 新乡县| 湾仔区| 麻阳| 金沙县| 米脂县| 克拉玛依市| 临泽县| 澄江县| 准格尔旗| 广宗县| 张家界市| 寻乌县| 高碑店市| 拉孜县| 商丘市| 金湖县| 武川县| 灵山县| 平武县| 新蔡县| 横峰县| 临城县| 塘沽区| 山东省| 六枝特区| 光山县| 霍山县| 梧州市| 莆田市| 获嘉县| 平顺县| 大宁县|