W7100学习笔记 -W7100部分固件(firmware)解析
来源:互联网 发布:安卓手机网游源码 编辑:程序博客网 时间:2024/06/03 20:09
WIZnet香港分公司可以针对客户的需要,为不同应用设计适合的固件。
通常情况下,用户使用我们的芯片要比软件协议栈容易的多。由于网络协议全硬件处理,用户只需使用我们提供的驱动程序,调用我们写好的函数,即可完成各项网络功能。
举例来说,如果用户想建议里一个TCP的链接,只需调用connect函数即可。而无需理会connect函数内部的操作。
下面是我对W7100的固件connect函数的注解。其中可以看到,connect函数内部操作其实也不难,即使用户希望自己更改固件,难度也并不大。
uint8 connect(SOCKET s, uint8 * addr, uint16 port)
{
uint8 xdata ret;
if
(
((addr[0] == 0xFF) && (addr[1] == 0xFF) && (addr[2] == 0xFF) && (addr[3] == 0xFF)) ||
((addr[0] == 0x00) && (addr[1] == 0x00) && (addr[2] == 0x00) && (addr[3] == 0x00)) ||
(port == 0x00)
)
Check if the IP address and Port number is coorect (IP cannot be 255.255.255.255, or 0.0.0.0, port cannot be 0
{
ret = 0;
}
else
{
If IP and Port both no problem, continue
ret = 1;
// set destination IP
IINCHIP_WRITE(Sn_DIPR0(s),addr[0]); set Dest IP first byte
IINCHIP_WRITE((Sn_DIPR0(s) + 1),addr[1]);
IINCHIP_WRITE((Sn_DIPR0(s) + 2),addr[2]);
IINCHIP_WRITE((Sn_DIPR0(s) + 3),addr[3]);
IINCHIP_WRITE(Sn_DPORT0(s),(uint8)((port & 0xff00) >> 8)); dest Port lower byte
IINCHIP_WRITE((Sn_DPORT0(s) + 1),(uint8)(port & 0x00ff)); dest Port higher byte
IINCHIP_WRITE(Sn_CR(s),Sn_CR_CONNECT); exe the command of tcp connect
while ( IINCHIP_READ(Sn_CR(s)) ) ; // wait for completion CR
}
return ret;
}
- W7100学习笔记 -W7100部分固件(firmware)解析
- W7100例程学习之ADC应用
- W7100A与W7100的差别
- W7100A与W7100的差别
- 用W7100,做自己的HTTP服务器
- 网口也可以烧写程序?W7100!
- 基于W7100的以太网读卡器的设计与实现
- firmware-mod-kit解压固件出错
- Linux设备模型firmware(固件)
- openwrt生成固件firmware过程
- WIZnet员工产品培训—W7100A和W7100的区别1
- WIZnet员工产品培训—W7100A和W7100的区别2
- 单片式以太网控制芯片W7100A / W7100 Debugger指南(一)
- 单片式以太网控制芯片W7100A / W7100 Debugger指南(二)
- 【FINAL】单片式以太网控制芯片W7100A / W7100 Debugger指南(三)
- [科研论文]基于W7100的以太网读卡器的设计与实现
- hxf-chinachip firmware 固件分析及源代码
- request_firmware 的用法,struct firmware,内核,固件,usb
- u-boot-2010在s3c2440开发板上的移植
- MD5 源码
- 浅析Ruby on Rails部署方案(转载)
- Yedda Twitter C# Library
- 2月14日
- W7100学习笔记 -W7100部分固件(firmware)解析
- C++程序设计实验报告(五)
- 加密.NET(2)
- [转载/翻译]优化浏览器渲染
- 20120214
- [翻译]界面提示与感知延迟【用户体验】
- python 监控进程,结束后发送邮件
- Total Commander的常用用法和设置
- CentOS6.0安装完不能登录之解决方法