基于公司产品研发的需求,我在团队的位置为以太网开发,负责产品的远程关断功能。该功能使用的主要芯片是STM32F107外加标准MII的PHY模块。现在我也不太明白当前PHY模块的控制流程,而移植的过程只了解相关皮毛。
我2014年7月份告别大学,在实习期没有学习过STM32的开发,本科单片机只学过51,而且自我感觉学习也不太深入,成绩也不够好。现今学习stm32的开发,感觉有些困难。之前学习过战舰的STM32F103的开发板,上面的例程有很多。我只学习了一些基本功能,知道如何建立一个新工程,然后写过一下简单的程序,比如操作GPIO来控制led的亮灭、操作usart进行数据的收发。接到以太网开发的任务,难免感到有些吃力。
通过这几天学习,我大致了解开发以太网的过程。移植协议栈,然后操作函数与主机交流。以太网嵌入式开发的协议栈,按我目前的认知,就是UIP和LWIP的移植。uip移植在stm32f103的开发板上有相关的例程,但是我没有看的太明白,而且也没有深入去学习例程上面对底层函数的操作。而切uip的最大速度为10M/s,而产品的要求是100M/s,所以我需要移植的协议栈为LWIP。
看过LWIP的协议栈源码,我没有能够看懂的其原理。我为此买了一本书,《嵌入式开发实战指南,基于lwip与rots的联合移植》。这几天看过这本书的内容,前面主要是介绍,内容不算太丰富。中间介绍是关于程序标准格式,最后才有LWIP移植的内容。关于LWIP的内容,书本