ARM程序優(yōu)化及其在嵌入式TCP/IP協(xié)議實(shí)現(xiàn)中的應(yīng)用
面向ARM的程序優(yōu)化在嵌入式TCP/IP協(xié)議實(shí)現(xiàn)中的應(yīng)用
筆者采用ATMEL公司的AT91RM9200微處理器,配合以太網(wǎng)物理層驅(qū)動(dòng)芯片(DM9161)構(gòu)建面向網(wǎng)絡(luò)的嵌入式系統(tǒng)硬件平臺(tái),如圖2所示。在此平臺(tái)上,實(shí)現(xiàn)基于ARM微處理器的嵌入式TCP/IP協(xié)議處理。
基于ARM的嵌入式系統(tǒng)直接面向以太網(wǎng)數(shù)據(jù),典型的以太網(wǎng)數(shù)據(jù)封裝格式如圖3所示。根據(jù)以上的優(yōu)化方法,在變量定義時(shí)需要考慮最佳的存儲(chǔ)器布局,使得各種類型的變量能以32位的空間位基準(zhǔn)對(duì)齊,對(duì)于功能函數(shù)中參加運(yùn)算的數(shù)據(jù)應(yīng)盡量采用32位的數(shù)據(jù)進(jìn)行處理。
嵌入式TCP/IP協(xié)議的實(shí)現(xiàn)通常采用Linux中的TCP/IP網(wǎng)絡(luò)結(jié)構(gòu)層次。TCP/IP協(xié)議實(shí)現(xiàn)網(wǎng)絡(luò)層和控制層的ARP/RARP、IP、ICMP、 TCP、UDP等協(xié)議,直接為HTTP、SMTP、FTP、TELNET等這樣的應(yīng)用層協(xié)議提供支持。每個(gè)系統(tǒng)都需要具體定義應(yīng)用層程序和協(xié)議軟件之間的接口。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)tcp/ip相關(guān)文章:tcp/ip是什么
評(píng)論