新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于ARM微處理器及嵌入試Linux的串口網橋軟硬件設計

        基于ARM微處理器及嵌入試Linux的串口網橋軟硬件設計

        作者: 時間:2012-10-29 來源:網絡 收藏

        為了解決這個問題,可以在共享中斷源后面加一個用CPLD實現的邏輯電路。該邏輯電路由兩部分組成,第一部分是一個可尋址的寄存器INTEN,作為共享中斷的允許位。第二部分是一個狀態機邏輯電路,該電路共有三個狀態:S 0是等待狀態,該狀態下INTEN=I,只要任何一個串口產生中斷請求,CPU將馬上響應該中斷;Sl是中斷服務狀態,中斷服務程序一開始執行,馬上將INTEN設置為0,以屏蔽其他中斷請求,退出中斷服務程序時,再將INTEN設置為1,中斷服務程序執行期間產生的串口中斷請求由INTREQ鎖存;S2為延時狀態,延時50us,以確保中斷服務程序完全退出。

        狀態機邏輯電路狀態圖如圖4所示:

        4.系統軟件平臺

        4.5 uC1inux操作系統簡介

        是一種很受歡迎的類UNIX操作系統,它免費并開放源代碼,在個人計算機、服務器領域應用廣泛。更重要的是,采取模塊化設計,實際應用中可以實現定制,因此也適用于嵌入式領域。uClinux正是Linux的一個嵌入式版本,其內核的二進制映像文件可以做到小于512K。

        uClinux針對無MMU(Memory Management Unit,內存管理單元)的處理器設計,支持多任務,具有完備的TCP/IP協議棧并支持多種網絡協議。uClinux還支持多種文件系統,如ROMFS,NFS,FATl6/32。實際上,uClinux已經成功應用于路由器、網絡攝像機、機頂盒、PDA等諸多領域。

        另外,uClinux可移植性很強,用戶通過重新配置、編譯內核,可以很方便地將其移植到ARM,Dragon Ball、ColdFire、Power PC等多種處理器計算平臺。當前uClinux主要提供2.0和2.4兩個內核版本。

        4.2軟件開發調試方法

        嵌入式Linux軟件開發可以采用一種特殊的模式:主機--目標機模式進行開發,其中主機就是常用的PC或工作站,開發環境運行在主機上,主機的操作系統是通用的Windows或Linux系統。目標機就是嵌入式應用系統,它與主機間通過串行口、以太網或其他方式通信,從主機下載編譯好的代碼并運行。

        利用GNU提供的免費交叉調試工具,開發人員可以在主機上調試目標機上運行的程序。在目標機上運行一個代理,以接收主機發送過來的命令和代碼,并解釋執行。通過調試器。開發者可以設定程序運行的起止位置和斷點,同時可以查看和改變變量、寄存器和內存中的值,設置程序運行條件等,使開發人員感到如同在本機上調試程序一樣方便。

        4.3程序框圖

        控制程序的主要功能就是實現對串口數據和網絡數據的重組與轉發。本地主機或遠端主機上的應用程序以原有的操作本機串口的方式與連接在上的設備進行信息交互,主機上的設備驅動程序將應用程序要求發送的串口數據以及對應串口號等輔助信息轉換為網絡數據包,發送到以太網上;的控制程序接收到經以太網傳送過來的數據包后,將數據包解包并提取其中的串口命令數據以及目標串口號等信息,而后重組成串口數據并發送到相應串口。控制程序處理串口設備上傳給本地主機或遠端主機的數據的方式與上述過程相反。

        串口網橋軟件結構如圖5所示:

        5,結束語

        本文討論了一個基于S3C4510B及uClinux的串口網橋設備的軟硬件設計,對S3C4510B芯片功能進行了簡要描述,并探討了基于該芯片的嵌入式Linux軟件開發模式.事實證明,采用Linux作為嵌入式操作系統并充分利用GNU提供的免費開發工具包,降低了嵌入式系統開發的經濟門檻,使更多的人能夠掌握相關技術,代表了嵌入式系統開發的一種新方向。

        參考文獻:

        [1].RS-232datasheethttp://www.dzsc.com/datasheet/RS-232_584855.html.
        [2].ARM7TDMIdatasheethttp://www.dzsc.com/datasheet/ARMDMI_139812.html.
        [3].S3C4510Bdatasheethttp://www.dzsc.com/datasheet/S3C45_589499.html.
        [4].100Mdatasheethttp://www.dzsc.com/datasheet/100M_2509927.html.
        [5].RTL8201datasheethttp://www.dzsc.com/datasheet/RTL8201_586322.html.
        [6].HY57V641620HGhttp://www.dzsc.com/datasheet/HY57VHG_390467.html.
        [7].ROMdatasheethttp://www.dzsc.com/datasheet/ROM_1188413.html.
        [8].DM9161datasheethttp://www.dzsc.com/datasheet/DM9161_264516.html.
        [9].FBGAdatasheethttp://www.dzsc.com/datasheet/FBGA_1457924.html.
        [10].RS232datasheethttp://www.dzsc.com/datasheet/RS232_585128.html.
        [11].16C554datasheethttp://www.dzsc.com/datasheet/16C554_24747.html.
        [12].Maximdatasheethttp://www.dzsc.com/datasheet/Maxim_1062568.html.
        [13].MAX202datasheethttp://www.dzsc.com/datasheet/MAX202_1089634.html.
        [14].TTLdatasheethttp://www.dzsc.com/datasheet/TTL_1174409.html.
        [15].CPLDdatasheethttp://www.dzsc.com/datasheet/CPLD_1136600.html.

        linux操作系統文章專題:linux操作系統詳解(linux不再難懂)

        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 汉源县| 汾西县| 仁寿县| 奉贤区| 固镇县| 蚌埠市| 鄂托克旗| 台南县| 温州市| 大冶市| 西昌市| 浮山县| 苏尼特左旗| 桑植县| 眉山市| 大化| 安西县| 同江市| 永春县| 比如县| 万宁市| 平舆县| 开鲁县| 长白| 沙雅县| 米易县| 自贡市| 杭锦后旗| 银川市| 三亚市| 喀喇| 来凤县| 洪泽县| 綦江县| 海伦市| 舞钢市| 兴义市| 房山区| 沛县| 高安市| 高密市|