随着W7100的全新推出,其固件的开发也在不断更新和完善,从而满足不同客户的需求。
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;
}
分享到:
相关推荐
蒲公英X1旁路盒子 X1-2111固件安装包和刷固件步骤 蒲公英X1旁路盒子 X1-2111固件安装包和刷固件步骤
ath10k-firmware, ath10k的固件文件,mac80211 802.11交流设备的驱动程序 ath10k-firmware这些是ath10k的最新固件文件,用于 QCA988x 。QCA6174.QCA99XX和类似的mac80211驱动程序。 下载ath10k映像的官方位置来自...
PIXHAWK Firmware-1.9.0-beta3 最新版固件 2019.04.24
树莓派4B的更新固件,github下载的,实在是太慢了,下了一天一夜,现在上传,给大家使用. 它的readme.md: This repository contains pre-compiled binaries of the current Raspberry Pi kernel and modules, ...
思科RV180W千兆VPN路由器稳定版ROM更新,亲测用到现在都很好,也是在国外网站找了好久才找到的,希望对人有帮助。
Repetier-Firmware, 基于Arduino的RepRap 3D 打印机固件 repetier固件- 快速和用户友好的固件安装请在 http://www.repetier.com/firmware/v092 使用你的配置工具,以方便快速的配置。 你可以从在线配置器中得到你...
上海诺基亚贝尔G-140W系列最稳定版本固件中国移动版本3FE46343AFIA89,支持型号G-140W-CS、G-140W-C、G-140W-ME、G-140W-MF、G-140W-MD等, 固件升级路径:http://192.168.1.1/upgrade.cgi
bfa-firmware-3.0.0.0-1.el6.noarch.rpm是centos工具包。
linux-firmware-20210208.tar.gz linux firmware 20210208版本
电信cisco NAV10-WF-ADVSEC升级成cisco的固件,请对比后使用。
I'm not a student, less free time :)Hoverboard-Firmware-Hack-Gen2 具有两个主板而不是传感器板的Hoverboard的Hoverboard Hack固件第2代(请参见图片)。 此存储库包含带有两个主板的通用Hoverboard的开源固件。...
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装
胖AP固件,之前的JAB版本5G频段已经比较完美,这个新的还需要继续测试,目前看没有问题。由于资料比较少,国内对思科的AP可能争议比较大,唯一的优点似乎是和思科的命令行比较搭配。
通常存储于硬件设备中的EEPROM或FLASH芯片中,一般可由用户通过特定的刷新程序进行升级的程序。一般来说,担任着一个硬件产品最基础最底层工作的软件才可以称之为固件。
腾达Tenda w311r H1-3.3.6d最新固件 英文版 Introduce please pay attention to the firmware version before upgrade the firmware version begin with H1 can't upgrade to the firmware verson begin with H3 or...
kernel-firmware-2.6.32-754.11.1.el6.noarch.rpm
大华的java笔试题Dahua-Firmware-Mod-Kit 解压并重新打包大华网络摄像机固件升级镜像。 这是什么? 提取“”大华固件升级镜像的脚本,可以获取。 以及一个脚本,用于从先前提取(并且可能已修改)的固件升级映像构建...
linux-firmware-2014-06-04-7f388b4885cf64d6b7833612052d20d4197af96f.tar.bz2
步骤2 cd linux-firmware-amdgpu/amdgpu 步骤3 cp -a . /lib/firmware/amdgpu/ cp -a . /lib/firmware/amdgpu/ 全部完成。 希望您的问题现在得到解决。 当前可用的固件 banksbanks_k_2_smc bonaire carrizo fiji...
华硕RT-10编程器固件