新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > Cortex-M3平臺上lwIP+AJAX的Web嵌入式應(yīng)用

Cortex-M3平臺上lwIP+AJAX的Web嵌入式應(yīng)用

——
作者:李少杰 時間:2013-06-26 來源:電子產(chǎn)品世界 收藏

  #define APP_BASE 0x00000000
  #define RAM_BASE 0x20000210
  MEMORY
  {
  FLASH (RX) : origin =APP_BASE, length =0x00080000 //Application stored in and executes from //internal flash
  SRAM (RWX) : origin =RAM_BASE, length =0x00017df0 //Application uses internal RAM for data
  }
  lwIP移植

  lwIP移植涉及的主要過程如下:

本文引用地址:http://2s4d.com/article/146836.htm

  (1)在/ports目錄下,增加對stellaris LM3S9D96的MAC層驅(qū)動實現(xiàn)

  stellarisif.h/stellarisif.c:實現(xiàn)與lwIP網(wǎng)絡(luò)驅(qū)動接口,此代碼從lwIP的“ethernetif.c”衍射出來,重要函數(shù)有stellarisif_init(),stellarisif_receive(),stellarisif_output(),stellarisif_interrupt(),及stellarisif_transmit();

  sys_arch.h/sys_arch.c:實現(xiàn)sys_init(),sys_arch_thread(),sys_arch_timeouts及信號量,郵箱等功能。

  perf.h/perf.c:主要實現(xiàn)perf_init()函數(shù)。

  cc.h:一些與CPU或編譯器相關(guān)的定義,如數(shù)據(jù)長度、字的高低位順序等。

  (2)在/apps增加lwIP抽象應(yīng)用層API

  RAW API進行TCP/IP編程,為提高程序可讀性及設(shè)計方便,對lwIP TCP/IP庫函數(shù)進行抽象、封裝,提供應(yīng)用層方便簡捷的API,此部分包括以下文件中實現(xiàn):

  lwiplib.h/lwiplib.c:包括核心封裝有:lwIPInit(),lwIPPrivateInit(),lwIPInterruptTask(),lwIPEthernetIntHandler(),lwIPPrivateNetworkConfigChange()。

  以上二步的源代碼,均可在TI網(wǎng)站上下載到示例源代碼文件。

  AJAX動態(tài)網(wǎng)頁設(shè)計

  基于AJAX的動態(tài)網(wǎng)頁設(shè)計可分成前臺、后臺二部分來實現(xiàn)。

  前臺包括(1)AJAX腳本設(shè)計,完整代碼見附件ajax.js;(2)HTML網(wǎng)頁設(shè)計,可借助專業(yè)的網(wǎng)頁開發(fā)工具如Dreamware8.0進行設(shè)計,完整代碼見附件index.htm。代碼關(guān)鍵地方均給出了注釋,index.htm網(wǎng)頁通過調(diào)用ajax.js中的function ajax(url)方法創(chuàng)建一個ajax對象PlantRT.xml,并進行必要的初始化:使用GET方式,關(guān)聯(lián)事件為function updateRTStatus(xml,e),頁面刷新周期5s。在function updateRTStatus(xml,e)中,通過調(diào)用ajax.js中的getXMLValue(xmlData, field)方法獲得服務(wù)器的響應(yīng)值。主頁面Index網(wǎng)頁效果如圖5所示?! ?/p>

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

linux相關(guān)文章:linux教程




關(guān)鍵詞: Cortex-M3 嵌入式 201307

評論


相關(guān)推薦

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

關(guān)閉