迅维网

查看: 935|回复: 0
打印 上一主题 下一主题

【NUCLEO-F412ZG试用体验】之六:结贴之理论准备

[复制链接]
跳转到指定楼层
1#
发表于 2017-2-13 15:03:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式 来自: 山东青岛 来自 山东青岛

马上注册,获取阅读精华内容及下载权限

您需要 登录 才可以下载或查看,没有帐号?注册

x
前面几节用f4做了点简单的控制,感觉和f1系列编程方式上几乎一样,上贴也说了,这贴要研究下f4的网络和lwip这块,网络这块比较复杂,这节不打算写代码,这节只研究下理论方面的网络知识和lwip相关的一些简要东西,搭建好工程,争取下节用f4lwip跑起来,好吧。。。
先亮一下为了这贴买的网络模块,这是28j60的模块:


                               
登录/注册后看高清大图

f4由于只内置了以太控制器,需要我们外接phy才能进行网络通信,之前略微搞过一点点协议栈,感觉跑lwip软件类协议栈挺麻烦的,不如直接上w5500这种硬件协议栈的片子来的简单,但生命在于折腾,我们搞电子的,如果没了折腾的乐趣,谁还搞,对不,所以就入了28j60这个模块,慢慢研究呗,以前搞的粗,这次有了f4这个,打算细细研究下这块,这就开始,好吧。。。
lwip是瑞典计算机学院的一个职工搞的一个开源的tcp/ip协议栈,巴拉巴拉巴拉,这尼玛,这些乱七八糟的历史也没啥作用,知道它是一个协议栈就行了,有兴趣的自己去百度找找吧,这里不啰嗦了。附一个官网下载地址:http://savannah.nongnu.org/projects/lwip
首先下载如下两个压缩包:

                               
登录/注册后看高清大图
然后分别解压,进入lwip文件夹里面,看下它的目录结构

                               
登录/注册后看高清大图
这是第一级目录,doc大家都知道,就是介绍、帮助啥的。src就是lwip的全部源码,test我们用不到,是测试示例。
进入src目录下

                               
登录/注册后看高清大图
这里面api就是一些socket api啥的,core里面包含了ipv4ipv6等,我们现阶段一般只能用到ipv4netif里面包含一些arp等这些链路层的驱动之类。对了,lwip有好几种api,我们这里不上系统,为了简单,跑一个rawapi就行,好吧。。。
下面把工程建起来,从timer工程里拷一份出来,重命名为28j60,并建立代码目录结构如下:

                               
登录/注册后看高清大图
iar工程目录结构如下:

                               
登录/注册后看高清大图
每个分目录文件如下:

                               
登录/注册后看高清大图

                               
登录/注册后看高清大图

                               
登录/注册后看高清大图

                               
登录/注册后看高清大图

                               
登录/注册后看高清大图
上述文件从网上一些工程代码中拷贝的,回家之前为了研究这个,从网上下的,具体从哪个网也记不清了。。。后面有需要的我就传上来。。。
建好之后注意在工程里把头文件路径全部给设置进去,这尼玛,一大堆头文件路径要点击,一个个添加吧。。。点击编译,会发现很多错误,这些错误大部分都是头文件包含错误,用全局替换将arch/替换为空,会好很多,然后有一些例如adc.htsensro.h之类的没用,全都给注释掉就行,直到最终出现:

                               
登录/注册后看高清大图
这错误原因是由于整个代码是从f103系列的cpu上移下来的,而f1f4对引脚配置并不一样,所以这里我们先注释掉这些引脚配置。下帖我们说说如何修改。其实搞嵌入式一些大项目或者驱动开发一样,都是这样一点点改,一点点移植过来的,这里我们先注释掉,直到编译结果为:

                               
登录/注册后看高清大图


您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表
附近
店铺
微信扫码查看附近店铺
维修
报价
扫码查看手机版报价
信号元
件查询
点位图 AI维修
助手



芯片搜索

快速回复