新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > Cortex-M3平台上lwIP+AJAX的Web嵌入式应用

Cortex-M3平台上lwIP+AJAX的Web嵌入式应用

——
作者:李少杰时间:2013-06-26来源:电子产品世界收藏

  #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://www.eepw.com.cn/article/146836.htm

  (1)在/ports目录下,增加对stellaris LM3S9D96的MAC层驱动实现

  stellarisif.h/stellarisif.c:实现与lwIP网络驱动接口,此代码从lwIP的“ethernetif.c”衍射出来,重要函数有stellarisif_init(),stellarisif_receive(),stellarisif_output(),stellarisif_interrupt(),及stellarisif_transmit();

  sys_arch.h/sys_arch.c:实现sys_init(),sys_arch_thread(),sys_arch_timeouts及信号量,邮箱等功能。

  perf.h/perf.c:主要实现perf_init()函数。

  cc.h:一些与CPU或编译器相关的定义,如数据长度、字的高低位顺序等。

  (2)在/apps增加lwIP抽象应用层API

  RAW API进行TCP/IP编程,为提高程序可读性及设计方便,对lwIP TCP/IP库函数进行抽象、封装,提供应用层方便简捷的API,此部分包括以下文件中实现:

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

  以上二步的源代码,均可在TI网站上下载到示例源代码文件。

  AJAX动态网页设计

  基于AJAX的动态网页设计可分成前台、后台二部分来实现。

  前台包括(1)AJAX脚本设计,完整代码见附件ajax.js;(2)HTML网页设计,可借助专业的网页开发工具如Dreamware8.0进行设计,完整代码见附件index.htm。代码关键地方均给出了注释,index.htm网页通过调用ajax.js中的function ajax(url)方法创建一个ajax对象PlantRT.xml,并进行必要的初始化:使用GET方式,关联事件为function updateRTStatus(xml,e),页面刷新周期5s。在function updateRTStatus(xml,e)中,通过调用ajax.js中的getXMLValue(xmlData, field)方法获得服务器的响应值。主页面Index网页效果如图5所示。  

 
linux操作系统文章专题:linux操作系统详解(linux不再难懂)

linux相关文章:linux教程




关键词: Cortex-M3 嵌入式 201307

评论


相关推荐

技术专区

关闭