新聞中心

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

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

        ——
        作者:李少杰 時(shí)間:2013-06-26 來(lái)源:電子產(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移植涉及的主要過(guò)程如下:

        本文引用地址:http://www.104case.com/article/146836.htm

          (1)在/ports目錄下,增加對(duì)stellaris LM3S9D96的MAC層驅(qū)動(dòng)實(shí)現(xiàn)

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

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

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

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

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

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

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

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

          AJAX動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)

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

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

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

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




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

        評(píng)論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 尚志市| 荥经县| 洞头县| 芦山县| 江城| 巩义市| 诸城市| 天全县| 临漳县| 明水县| 庆城县| 长海县| 梅河口市| 通城县| 从化市| 双柏县| 廉江市| 重庆市| 常宁市| 来宾市| 新泰市| 界首市| 泊头市| 蒲城县| 抚州市| 文安县| 巴东县| 方正县| 聂荣县| 广灵县| 资兴市| 山丹县| 嫩江县| 四川省| 藁城市| 定远县| 阿城市| 临江市| 宁阳县| 玉林市| 广州市|