<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關(guān) 閉

          新聞中心

          EEPW首頁 > 安全與國防 > 設(shè)計應(yīng)用 > 基于ARM的視頻安全監(jiān)控終端的設(shè)計與實現(xiàn)

          基于ARM的視頻安全監(jiān)控終端的設(shè)計與實現(xiàn)

          作者: 時間:2010-04-29 來源:網(wǎng)絡(luò) 收藏

          本設(shè)計采用CS8900A擴展網(wǎng)絡(luò)接口,它是CIRRUS LOGIC公司生產(chǎn)的16位,通過內(nèi)部寄存器的設(shè)置來適應(yīng)不同的應(yīng)用環(huán)境。S3C2410通過地址、數(shù)據(jù)、控制線以及片選信號線對CS8900A網(wǎng)絡(luò)芯片進行控制和通信。CS8900A與S3C2410的連接如圖3所示,CS8900A由S3C2410的nGCS3信號選通,CS8900A的INTRQ0端用來產(chǎn)生中斷信號,與S3C2410的16位數(shù)據(jù)總線相連,地址線使用了A[24:0]。

            

            CS8900A以太網(wǎng)控制芯片通過DMA通道進行數(shù)據(jù)的傳輸。首先設(shè)置好傳輸控制和傳輸?shù)刂芳拇嫫鞯膮?shù),依次從指定的數(shù)據(jù)存儲區(qū)域讀取數(shù)據(jù),送入內(nèi)部發(fā)送緩沖器中,用MAC對數(shù)據(jù)進行封裝發(fā)送。一組數(shù)據(jù)發(fā)送完后,請求DMA中斷,由S3C2410進行處理。

            RS-232接口與PC機串行總線相連,通過PC機對嵌入式系統(tǒng)進行相關(guān)信息顯示和控制。而JTAG接口主要是對系統(tǒng)進行調(diào)試,還可將程序燒寫到Flash中。

            系統(tǒng)的軟件設(shè)計

            的軟件設(shè)計主要完成兩方面的工作:

           ?。?)在硬件上搭建一個軟件平臺,搭建嵌入式Linux軟件開發(fā)平臺需要完成UBOOT移植、嵌入式Linux操作系統(tǒng)內(nèi)核移植以及嵌入式Linux操作系統(tǒng)的設(shè)備驅(qū)動程序的開發(fā)等工作。

           ?。?)在軟件平臺的基礎(chǔ)上,開發(fā)系統(tǒng)的應(yīng)用程序。借助交叉編譯工具,開發(fā)上運行的采集、壓縮、傳輸程序。

            構(gòu)建基于S3C2410的Linux平臺

            Linux具有許多優(yōu)點,如開放源碼;功能強大的內(nèi)核,支持多用戶、多線程、多進程、實時性好、功能強大穩(wěn)定;大小功能可定制;支持多種體系結(jié)構(gòu)。

            構(gòu)建嵌入式Linux開發(fā)平臺需要先構(gòu)建交叉編譯環(huán)境,如圖4所示。一套完整的交叉編譯環(huán)境包括主機和目標(biāo)機。在開發(fā)中主機是一臺裝有紅帽公司的FedoreCore 2操作系統(tǒng)的PC機,目標(biāo)機是基于S3C2410的。選用的交叉編譯器是GCC3.3.4 for 版,嵌入式Linux內(nèi)核源代碼包版本號為2.6.8RC。

            

            2.6.8RC版的Linux內(nèi)核源代碼包中包含了所有的功能。系統(tǒng)中只用到了其中的一部分。因此,編譯內(nèi)核之前首先要配置內(nèi)核,裁減掉冗余的功能,經(jīng)過定制的內(nèi)核才符合系統(tǒng)設(shè)計。具體步驟如下:

           



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();