<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于A(yíng)RM7系列處理器的高性能數據采集系統開(kāi)發(fā)探索方案

基于A(yíng)RM7系列處理器的高性能數據采集系統開(kāi)發(fā)探索方案

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

4軟件設計部分

軟件部分要分別編寫(xiě)S3C4510B部分的程序和CPLD控制程序。前者可分為μC/OSII的移植和各個(gè)應用程序的編寫(xiě),后者用VHDL語(yǔ)言實(shí)現。

對于S3C4510B部分,根據整個(gè)裝置實(shí)現的功能和對他的要求進(jìn)行任務(wù)分割,并根據實(shí)際需要為各個(gè)任務(wù)分配優(yōu)先級。大致可分為如下幾個(gè)任務(wù):初始化CPLD控制參數;對FI FO的讀取;與上位機的TCP/IP通訊;與上位機的串口通訊。對應每個(gè)任務(wù),需要編寫(xiě)相應的應用程序,軟件設計部分的關(guān)鍵技術(shù)有:

(1)μC/OSII內核向S3C4510B中的移植,要根據的特點(diǎn)合理地修改μC/OS II的3個(gè)與相關(guān)的文件:OS_CPUH,OS_CPU_AASM,OS_CPU_C.C。主要是將文件中的匯編指令,改為的匯編指令,并根據CPU的特點(diǎn)對文件中寄存器的初值進(jìn)行改寫(xiě)。

(2)內存配置問(wèn)題。對于存儲器容量的設計,要綜合考慮μC/OSII內核代碼和應用程序代碼的大小。每個(gè)任務(wù)是獨立運行的,必須給每個(gè)任務(wù)提供單獨的??臻g(RAM),RAM總量的計算公式為:

RAM總量=應用程序的RAM需求+內核數據區的RAM需求+各任務(wù)棧需求之總和+最多中斷嵌套所需堆棧

(3)TCP/IP協(xié)議在μC/OSII中的實(shí)現。為了滿(mǎn)足嵌入式設備與Internet網(wǎng)絡(luò )直接交換信息的要求,在μC/OSII中又移植了LwIP協(xié)議棧。

LwIP是瑞士計算機科學(xué)院(Swedish InSTitute of Computer Science)的Adam Dunkels等的一套用于嵌入式的開(kāi)放源代碼TCP/IP協(xié)議棧。LwIP的含義是Light Weight(輕型)IP協(xié)議。LwIP可以移植到操作系統上,也可以在無(wú)操作系統的情況下獨立運行。LwIP TC P/IP實(shí)現的重點(diǎn)是在保持TCP協(xié)議主要功能的基礎上減少對RAM的占用,一般他只需要幾十k的RAM和40 k左右的ROM就可以運行,這使LwIP協(xié)議棧適合在低端嵌入式系統中使用。

LwIP的特性有:支持多網(wǎng)絡(luò )接口下的IP轉發(fā);支持ICMP協(xié)議;包括實(shí)驗性擴展的的UDP(用戶(hù)數據 報協(xié)議);包括阻塞控制、RTT估算、快速恢復和快速轉發(fā)的TCP(傳輸控制協(xié)議);提供專(zhuān)門(mén)的內部回調接口(raw API)用于提高應用程序性能。

LwIP可以很容易地在μC/OSII的調度下,為系統增加網(wǎng)絡(luò )通信和網(wǎng)絡(luò )管理功能。LwIP協(xié)議棧在設計時(shí)就考慮到了將來(lái)的移植問(wèn)題,他把所有與硬件,OS,編譯器相關(guān)的部份獨立出來(lái),放在/src/arch目錄下。因此LwIP在μC/OSII上的實(shí)現就是修改這個(gè)目錄下的文件,其他的文件一般不應該修改。在驅動(dòng)中主要是根據S3C4510B內的以太網(wǎng)控制特殊功能寄存器,編寫(xiě)網(wǎng)絡(luò )接口的處發(fā)送包、接收包函數,初始化以及用于以太網(wǎng)控制器的外部中斷服務(wù)程序。

5結語(yǔ)

采用基于的S3C4510B嵌入式微,可以使系統小型化,便于提以及與各種外設連接擴展,同時(shí)降低了成本。μC/OSII作為一個(gè)源代碼公開(kāi)的操作系統,在具體應用種穩定可靠。本系統采用+μC/OSII設計,具有精度高、運行穩定、實(shí)時(shí)性好、抗干擾能力強、性?xún)r(jià)比高的特點(diǎn),可以在各種工業(yè)場(chǎng)合中廣泛應用,達到了設計的初衷。


上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

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

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>