本笔记适用于uIP1
移植平台介绍:MSP430F149+cs8900a+IAR 1、阅读 The uIP Embedded TCP/IP Stack The uIP 1
0 Reference Manual
2、建立一个文件夹,起名 myport,将 uip-1
0 下的 uIP 和 lib 两个文件夹拷贝过去,然后再在 myport 下建立 app 文件夹
3、将 unix 子文件夹下的 clock-arch
c、clock-arch
h 拷贝到 myport 下,这个文件实现协议栈所用的时钟,由 430 的定时器完成,有三个函数: clock_time_t clock_time(void) { return ticks; } void clock_init(void) { 定时器的初始化工作 } __interrupt void timer_interrupt(void)/*定时器中断函数*/ { ++ticks; }
4、将 unix 子文件夹下的 uip-conf
h 拷贝到myport 下,这个文件实现协议栈所用的配置,按照需要修改之
5、写 cs8900a 的驱动函数,这里采用8 位、查询模式,替换 tapdev
c 或 slipdev
6、将 unix 子文件夹下的 main
c 函数拷贝到myport 下,这个是主调度流程,按照需要修改
7、建立自己的工程,将以上文件包含
8、调试,改错
其中,uip 的缓冲区是以字节数组的形式产生,为了保证它的起始地址是偶数,必须指定地址
UDP 的初始化如下 void myudp_init(void) { uip_ipaddr_t ipaddr;//定义 IP 类型变量 uip_ipaddr(ipaddr, 210,29,104,88); //远程 IP 为 210