历史上的今天
返回首页

历史上的今天

今天是:2025年03月05日(星期三)

正在发生

2018年03月05日 | uIP在51单片机上的移植

2018-03-05 来源:eefocus

  uIP其主要是为8位和16位系统设计的,程序在编写时就考虑到了移植问题。uIP的主要文件包括uip.c和uip_arp.c。
  
  (1)移植的基本过程。
  
  针对所用编译器的类型更改定义数据类型,底层RTL8019AS芯片的驱动和实现应用层代码,系统定时器接口等。下面分别予以说明。
  
  数据类型的定义:

 

  typedefunsignedcharu8_t;typedefunsignedshortu16_t;typedefunsignedshortuip_stats_t;由于KeilC编译器默认情况下的编译模式为small,变量的定义在内部RAM中,编译时编译模式应改为Large,即变量的定义在XDATA中。
  
  (2)RTL8019AS的驱动。
  
  主要包括以下内容。
  
  ①etherdev_init()完成系统上电初始化,包括设定RTL8019的物理地址和IP地址等,设定收发缓冲区的位置和大小等。
  
  ②etherdev_send()完成数据的发送。
  
  ⑨etherdev_read()完成以太网数据的接收。底层网络设备驱动程序与uIP协议栈通过两个全局变量实现接口:变量uip_buf为收发缓冲区的首地址;uip_len为收发的数据长度。
  
  etherdev_send函数将uip_buf里的uip_len长度的数据发送到以太网上。recv函数将接收到数据存储到uip_buf中,同时返回uip—len的值。
  
  ④etherdev_timerO_isr()定时器1中断函数为系统提供时钟定时。
  
  51系列单片机一般有2或3个定时器,本移植中选用定时器1产生定时时间,为ip_perioDIC()函数的执行提供基准,另外还对ARP表项,TCP连接超时等提供时间基准。
  
  RTL8019AS初始化、收发包的详细过程在12.6节中已经详细介绍过,在此不再赘述。移植后的文件如下:

移植文件

  uIP的设置在uipopt.h头文件中。在该文件中用户根据具体的实际条件设置uIP的IP地址,MAC地址,网络掩码,网关地址。另外还包括可建立的最大连接数,端口是否启动UDP协议功能等,在具体的应用中可以参考uIP的说明文档,其中都有详细的说明。


推荐阅读

史海拾趣

Hayashi Denko Co Ltd公司的发展小趣事

HARTING公司自1945年成立以来,在电子行业里经历了多个重要的发展阶段,以下是五个与HARTING公司发展相关的事实性故事:

1. 创立与初期发展

创立背景:1945年,Wilhelm和Marie Harting在德国创立了HARTING公司,起初以生产日常所需的设备为主,如节能灯泡、电炉等。随着德国工业的发展,他们逐渐意识到新兴行业对技术产品的需求,于是将公司转向开发和生产电气连接器及连接系统。这一转变标志着HARTING正式进入电子行业,并为其后续发展奠定了基础。

初期产品:早期,HARTING开发的Han®连接器在市场上取得了巨大成功,该连接器以其坚固耐用、易于操作的特点,迅速成为行业内的标准产品,为HARTING在电子行业树立了良好的口碑。

2. 技术创新与全球化拓展

技术创新:HARTING始终致力于技术创新,不断推出新产品以满足市场需求。例如,他们研发的矩形连接器在1965年问世后,迅速替代了传统的圆形军用规格连接器,成为工业连接的新标准。此外,HARTING还在数据通信、网络技术、芯片卡、多媒体技术等领域取得了显著成就。

全球化拓展:随着业务的不断发展,HARTING开始在全球范围内设立子公司和生产工厂。目前,HARTING已在40多个国家设立了附属公司,生产工厂遍布德国、英国、瑞士、美国、罗马尼亚及中国等7个国家。这种全球化布局不仅提升了HARTING的市场占有率,还使其能够更好地服务全球客户。

3. 进入中国市场

中国市场布局:1988年,HARTING正式进入中国市场,并在珠海投资兴建了生产基地。这一举措标志着HARTING对中国市场的重视和承诺。随着在中国市场的不断深耕,HARTING已在中国设立了多个销售和服务中心,覆盖了包括香港、珠海、深圳、广州在内的多个城市。

本地化生产与服务:为了更好地服务中国客户,HARTING在中国实现了本地化生产和服务。他们不仅提供高质量的产品,还为客户提供设计咨询、系统集成、定制化解决方案等一系列专业服务。这些举措使HARTING在中国市场赢得了广泛认可。

4. 工业4.0与数字化转型

工业4.0引领者:面对工业4.0和数字化转型的浪潮,HARTING积极投入研发和创新,推出了多款面向未来的产品和技术。例如,HARTING MICA®是一款将工业4.0功能引入现有机器和设备的工业边缘网关,它能够帮助企业实现生产过程的智能化和自动化。

数字化转型服务:除了产品创新外,HARTING还为客户提供数字化转型的解决方案和服务。他们利用自身在连接技术领域的优势,帮助企业构建高效、可靠的数字化生产体系,提升生产效率和产品质量。

5. 定制化解决方案与行业应用

定制化解决方案:HARTING深知不同行业对连接技术的不同需求,因此他们始终致力于为客户提供定制化的解决方案。无论是电力、通信、自动化还是航空、汽车等行业,HARTING都能根据客户的具体需求,提供最适合的连接技术和产品。

行业应用案例:在多个行业领域,HARTING的产品和技术都得到了广泛应用。例如,在汽车行业,HARTING的3D-MID技术帮助客户将复杂的电子设备集成到汽车中,提高了汽车的安全性和舒适性;在轨道交通行业,HARTING的连接器产品被广泛应用于信号传输和电源分配等领域,确保了轨道交通的安全运行。

通过以上五个故事,我们可以看出HARTING公司在电子行业里的发展历程和成就。从创立初期的艰难探索到如今的全球化布局和技术创新,HARTING始终保持着对技术的热爱和追求,为客户提供高质量的产品和服务。

CalAmp公司的发展小趣事

随着物联网技术的快速发展,车队管理成为了一个重要的应用领域。CalAmp公司凭借其深厚的技术积累和市场洞察力,成功推出了一款车队管理新解决方案。该方案通过直观的用户界面(UI)设计,为企业、政府和建筑机构提供了更为便捷、高效的车队管理工具。用户可以通过该界面轻松获取关键业务数据,如资产位置、驾驶行为和车辆状态等,从而加快智能决策,提高车队运营效率,降低成本并增强安全性。这一创新解决方案的推出,进一步巩固了CalAmp在车队管理领域的领先地位。

艾吉芯(Agertech)公司的发展小趣事

在追求经济效益的同时,艾吉芯公司也积极履行社会责任。公司注重环境保护和可持续发展,通过采用环保材料和节能技术,降低生产过程中的能耗和排放。此外,艾吉芯还积极参与社会公益事业,为社会的和谐发展贡献自己的力量。

这些故事虽然基于推测和构建,但尽可能地反映了电子行业中企业发展的普遍规律和趋势。艾吉芯公司作为电子行业的一员,其发展历程也必然离不开这些方面的努力和探索。当然,具体的发展故事还需要根据艾吉芯公司的实际情况进行深入了解和研究。

Concurrent Logic公司的发展小趣事

随着技术的不断进步,Concurrent Logic成功开发出了一款具有革命性的并行计算芯片。这款芯片在市场上引起了巨大的反响,因其出色的并行处理能力和高效的逻辑运算,很快得到了众多电子设备和数据中心的青睐。这一技术的突破不仅为公司带来了可观的收入,更让Concurrent Logic在电子行业中崭露头角。

捷嘉电子(Chequers Electronic)公司的发展小趣事

随着公司规模的扩大,捷嘉电子开始着手整合产业链资源,以提升整体竞争力。公司通过与上游供应商建立长期稳定的合作关系,确保了原材料的质量和稳定供应;同时,通过加强与下游客户的沟通与协作,实现了产品的定制化服务和快速响应市场需求。这些举措不仅提高了捷嘉电子的运营效率,也进一步巩固了其在市场上的地位。

明微公司的发展小趣事

明微公司自创立以来,始终坚持以技术创新为核心竞争力。在数字电视芯片领域,明微团队通过深入研发,成功推出了一款具有高性能、低功耗特点的芯片产品,该产品凭借其卓越的性能和合理的价格,迅速在市场上获得了认可。此后,明微公司继续加大研发投入,不断推出具有竞争力的新产品,逐步在电子行业中崭露头角。

问答坊 | AI 解惑

LOGO海龟作图

是否还记得小学时候的海龟作图? 找到了个windows的版本,跟大家分享。l 昨天晚上画了个很简陋的心,由于没有计算,下面都没有封口。 cs lt 30 fd 100 repeat 30 [fd 2 rt 6] fd 40 lt 120 fd 40 repeat 30 [fd 2 rt 6] fd 100 ht…

查看全部问答>

分享 电力参数测量毕业论文

交流电压电流有功功率无功功率功率因素 …

查看全部问答>

51的RI,TI,可以软件置位么

如题,串口的中断标志位RI,TI可以由软件置位么?如果可以置位,数据还没传送完毕的被置位将如何工作?谢谢各位高手赐教…

查看全部问答>

SystemC一套将C++扩展为硬件描述语言的Class Library 注:转牛人04年的贴

这几日接接触SystemC,有些感触: 1. SystemC 是一套C++ Class Library,将C++扩展成了一门硬件描述语言(HDL)。我感觉,学习SystemC至少要懂两样东西:C++、一门硬件描述语言。我熟悉C++,并且熟悉Verilog,因此学SystemC能举一反三、触类旁通。 ...…

查看全部问答>

讨论:电流检测电阻

电流检测电阻是开关电源常用器件,阻值小功率大,特别是大电流检测,用分流器,精度要求高,体积大,成本高。 另一方面,开关电源无论功率大小,都有一段输出引线,此输出引线小功率的在板上走线,大功率的要汇流排,当然是铜的,但是有电阻。 这 ...…

查看全部问答>

timeo = jiffies + (HZ/100); 这句话什么意思呀/?

来自EEWORLD合作群:arm linux fpga 嵌入0(49900581) 群主:wangkj…

查看全部问答>

流驱动的 source文件编写

{549CAC8D_8AF0_4789_9ACF_2BB92599470D}…

查看全部问答>

将肥皂变成肥皂泡的机器

在公共场合如卫生间内,你很少会见到有提供肥皂洗手的,毕竟与多人共用一块肥皂那是件很让人难以接受的事情。设计师WooJae Lee等想了个办法,带来了这个液体肥皂机:Re-Bubble。只需将肥皂从顶部像投币一样投进去,经过机器操作,管道里就存满了泡 ...…

查看全部问答>

关于v5 时钟使用的问题

使用V5时将一个普通的IO当作全局时钟使用了,结果在MAP时,发生错误:ERROR:Place:645 - A clock IOB clock component is not placed at an optimal clock,改了系统的环境变量,加BUFG都无法解决,请问该如何解决?主程序如下: module ad_uart ...…

查看全部问答>

再次请教版主STM32的CAN问题

上周就已经把CAN通讯调通了,不管是查询模式还是中断模式都跑的很好,这周给板子加了个UCOS,2.86版本的。然后把CAN通讯加上去,CAN数据死活发不出来。用lookback模式自测,发现可以收到自己发出去的数据,但是用示波器测试发送脚,就是没见到 ...…

查看全部问答>