OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5946|回复: 10

ATK-ENC28J60模块LWIP有关问题说明

[复制链接]

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2015-9-11 15:33:31 | 显示全部楼层 |阅读模式
1、为什么ENC28J60模块的Mini板LWIP例程选择的芯片型号是STM32F103ZET6?
    答:因为Mini板的LWIP例程是在战舰开发板上改的,由于工作失误忘记将芯片型号改为RCT6,这里向大家道歉,新版的Mini板的LWIP例程已经将芯片型号改为RCT6,注意:如果大家自行将芯片型号改为RCT6的话编译时肯能会提示RAM或ROM不足,如果是RAM不足的话请将宏MEM1_MAX_SIZE减小,直至能够正常编译,这里我给个建议值,将宏MEM1_MAX_SIZE改为30*1024,如果提示ROM不足的话(Webserver例程会提示ROM不足)请看3。

2、你们的Mini板LWIP例程用到了外部SRAM吗?
   答:我们所有开发板(F4探索者,F103战舰,Mini开发板,精英开发板)的LWIP例程都默认添加了有关外部SRAM的代码,但是这里只是添加了相关代码,LWIP所有例程中并未使用到外部SRAM,那为何要这么做呢?因为不排除有些客户会想用外部的SRAM来做网络开发,因此我们在所有的LWIP例程中都添加了有关外部SRAM的代码,包括Mini板的LWIP例程中也是的。这里大家可以屏蔽掉main函数中的有关SRAM初始化函数FSMC_SRAM_Init()和外部内存池初始化函数my_mem_init(SRAMEX),如下图:(最新的Mini板LWIP例程均已经删除了这两行代码



3、编译Mini板LWIP例程中的WebServer实验时提示ROM不足怎么办?
      大家在将芯片型号改为RCT6以后编译两个WebServer实验的时候会出现提示ROM不足的错误,这个时候该怎么办?我们可以将芯片型号选择为STM32F103RD,经过查阅手册我们可以知道RCT6内部flash大小为256k,RDT6的内部flash大小为384K,因此就可以编译下去,编译完成以后我们可以看一下WebServer实验占用falsh情况,如下图为无操作系统的WebServer实验编译完以后的情况:


  从上图中可以看出Code大约97K,RO-data大约227k,这两个加起来就远超过了256k,即使选择-O2优化也有300多k,但是Mini板上用的RCT6芯片的啊!RCT6只有256K,那怎么办啊?代码超了!这里我们不用管!把芯片型号选择为STM32F103RD,然后编译完成直接给Mini板下载,代码可以正常运行,因为只是实验所以可以这么搞,如果是做产品的话千万不能这么搞,一定要换大容量的芯片,PS:别问我为什么,因为我也不造,我只是试过可以,希望懂的大神可以解释一下
  最后多说一句,如果大家要学UCOSIII、EMWIN和LWIP等等这种比较复杂,比较大的第三方组件的话最好不要在Mini板上来玩,因为你得处处提防ram和rom的问题,一不小心就踩雷区了,而且问题也查不出来,有时候一整天都花费在了调整RAM上,这是自己的亲身经历,从学习的角度上来讲得不偿失,再者,大家都是第一次学习这些复杂的第三方组件,一开始肯定没有那么深厚的优化代码的能力,所以建议最好在资源相对来说富裕一点的MCU上来学习这些东西,等学的差不多了,理解加深了再回过头来想办法优化这些东西让其可以在资源相对较少的MCU上运行。(这里真的是一句哦,大家注意看只有一个句号的哦,我很诚实的,说一句就一句!!绝不多说!!)
 下面附上最新版的Mini板ENC28J60模块的LWIP例程和最新版的教程。


MiniSTM32 LWIP实验例程V1.2.rar

13.66 MB, 下载次数: 2588

STM32F1 LWIP开发手册(ENC28J60)V1.2.pdf

5.97 MB, 下载次数: 1941

开往春天的手扶拖拉机
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

5

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
79
金钱
79
注册时间
2015-9-10
在线时间
11 小时
发表于 2015-9-11 18:05:29 | 显示全部楼层
速度点个赞!感谢分享
回复 支持 反对

使用道具 举报

12

主题

37

帖子

0

精华

初级会员

Rank: 2

积分
111
金钱
111
注册时间
2015-1-6
在线时间
1 小时
发表于 2015-9-11 18:58:03 | 显示全部楼层
大神 我昨天问了 今天就看到相关的内容 谢谢
回复 支持 反对

使用道具 举报

12

主题

37

帖子

0

精华

初级会员

Rank: 2

积分
111
金钱
111
注册时间
2015-1-6
在线时间
1 小时
发表于 2015-9-11 19:00:00 | 显示全部楼层
不过我是使用的STM32F103VET6  这里也需要修改吗  我就是用的 网络实验3 RAW_UDP实验 现在是把整个移值看了一次 但是还是没能运行成功
回复 支持 反对

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
 楼主| 发表于 2015-9-11 20:40:22 | 显示全部楼层
回复【4楼】woaimi520:
---------------------------------
VET6的话最好也把芯片型号改了,然后就是ENC28J60的底层驱动IO改一下,其他的基本上不用改,内存管理也不用改
开往春天的手扶拖拉机
回复 支持 反对

使用道具 举报

12

主题

37

帖子

0

精华

初级会员

Rank: 2

积分
111
金钱
111
注册时间
2015-1-6
在线时间
1 小时
发表于 2015-9-15 12:26:08 | 显示全部楼层
回复【5楼】zuozhongkai:
---------------------------------
额 好的 谢大神 不过我现在程序一直卡在 判断时钟稳定那里,版主大神 我看完了原子哥的视频讲解还有PPT  但是还是有几点没明白,我知道LWIP 它是要创建一个 网口的结构体 一个PBUF的结构体来存数据。但是这些信息放进结构体后  我的理解是 LWIP只能从这里面取信息。不知道对不对,如果是这样的话 那创建一个UDP块的话 那这个UDP块里的信息就是用来处理传输层封包和解封包用的了把。  还有一个疑问就是 MAC地址 是需要写入ENC28J60网口芯片的吗?STM32就不用来处理MAC层了吧? 问题有点多杂  基础不太好 谢谢版主
回复 支持 反对

使用道具 举报

12

主题

37

帖子

0

精华

初级会员

Rank: 2

积分
111
金钱
111
注册时间
2015-1-6
在线时间
1 小时
发表于 2015-9-16 11:52:17 | 显示全部楼层
回复【5楼】zuozhongkai:
---------------------------------
版主  按你说的 修改 芯片信号和GPIO口 现在基本没问题 但是又有个新的问题 就是 会自己进入一次外部中断函数  不知道这个是怎么产生的
回复 支持 反对

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
 楼主| 发表于 2015-9-16 12:27:00 | 显示全部楼层
回复【7楼】woaimi520:
---------------------------------
那就在进入中断服务函数的时候打印出ENC28J60的状态寄存器,看看是哪个中断
开往春天的手扶拖拉机
回复 支持 反对

使用道具 举报

12

主题

37

帖子

0

精华

初级会员

Rank: 2

积分
111
金钱
111
注册时间
2015-1-6
在线时间
1 小时
发表于 2015-9-16 16:19:01 | 显示全部楼层
回复【8楼】zuozhongkai:
---------------------------------
你好 版主大大  我刚调试了 status=ENC28J60_Read(EIR)  这一句读出来 status 为0X08 我现在网线都没插 但是还是进去了 不知道是什么原因
回复 支持 反对

使用道具 举报

13

主题

296

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2066
金钱
2066
注册时间
2012-5-26
在线时间
291 小时
发表于 2015-12-16 08:59:10 | 显示全部楼层
谢谢版主。
LWIP使用的内存比uip还是大很多。
有一个项目准备使用STM32F107VCT6,要上FreeRTOS+LWIP+USB HOST+MODBUS TCP+CAN,现在等板子回来,很担心ROM和RAM不足呀
活着才是王道!健康是一切的前提!
回复 支持 反对

使用道具 举报

69

主题

978

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3761
金钱
3761
注册时间
2015-4-26
在线时间
761 小时
发表于 2016-6-12 17:31:43 | 显示全部楼层
这个pdf资料光盘里怎么没有呢。看dm9000 的资料,手头只有enc28j60没把我搞死。建议吧这个pdf放到网盘里,如果有是我没看到那就当我没说
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-24 20:48

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表