首 页 用户登录 | ![]() |
|||
|
|||
按字母检索 | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z |
按声母检索 | A | B | C | D | E | F | G | H | J | K | L | M | N | O | P | Q | R | S | T | W | X | Y | Z | 数字 | 符号 |
|
![]() |
您的位置: 5VAR论文频道 → 论文中心 → 理工论文 → 电子通信 |
|
|||||
基于8051嵌入式系统的GPRS终端实现 | |||||
收集整理:佚名 来源:本站整理 时间:2009-01-10 23:55:14 点击数:[] ![]() |
|||||
klnit()是必要的,其他9个函数必须声明,但不一定包含任何代码。因为Keil C51在缺省情况下把函数编译为不可重入的结构,而多任务系统要求并发操作导致重入,所以要在每个C函数及其声明后标注reentrant关键字,使编译器生成的代码在运行中支持函数可重入。另外"pdata"、"data"在uC/OS-II中用做一些函数的形参,但它同时又是Keil C51的关键字,这样会导致编译错误。通常可把"pdata''改成"ppdala","data"改成"ddata"解决此问题。具体修改的代码如下: void * OSTaskStkInit(void (*task)(void *pd), void *ppdata, void *ptos, INT16U opt)reentrant 在基于8051的uC/OS-II中,移植uIP不需要对现有的TCP/IP源代码做任何修改,但是必须为网络设备(如网卡芯片、串口等)写一个驱动程序。同时,现有系统的集成部分也要进行相应的处理,例如当有数据到达或者周期性的定时器计数满等情况下,主控制系统应该调用uIP函数[刘。移植的具体步骤如下: ·在目录uip-0.9/下创建一个自己的目录,例如uip-0.9/8051/; ·把uip_arch.c文件从目录uip-0.9/unix/中复制到目录uip-0.9/8051中;它包含了用C语言实现的32位加法、校验和算法; ·把uipopt.h文件从目录uip-0.9/unix中复制到目录uip-0.9/8051中,并对其进行修改,以满足系统的需要。uipopt.h是ulP的配置文件,其中不仅包含了诸如uIP网点的IP地址和同时可连接的最大值等设置选项,而且还有系统结构和C编译器的特殊选项; ·参考例子unix/tapdev.c和uip/slipdev.c,为串口编写驱动程序; ·参考例子unix/main.c,写自己的主控制系统,以便在适当的时候可以调用ulP函数; ·编译源代码。 本文阐述了基于8051嵌入式系统的GPRS终端的实现,并详细介绍了嵌入式实时操作系统uC/OS-II基于8051的移植以及小型TCP/IP协议栈uIP的移植:该GPRS终端利用GPRS网和Internet能够与相应的GPRS终端以及相应的Internet终端进行数据传输。在GPRS终端的TCP/IP模块中引入时实操作系统不但改善了系统的性能,提高了系统的可靠性,而且增强了系统的可扩展性和产品开发的可延续性。 |
提供人:佚名 | |
【返回上一页】【打 印】【关闭窗口】 |
![]() |
5VAR论文频道 |
![]() |
5VAR论文频道 |
![]() |
关于本站 -
网站帮助 -
广告合作 -
下载声明 -
网站地图
Copyright © 2006-2033 5Var.Com. All Rights Reserved . |