完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
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 ) STM32F1 LWIP开发手册(ENC28J60)V1.2.pdf (5.97 MB ) |
|
相关推荐
9个回答
|
|
大神 我昨天问了 今天就看到相关的内容 谢谢
|
|
|
|
不过我是使用的STM32F103VET6 这里也需要修改吗 我就是用的 网络实验3 RAW_UDP实验 现在是把整个移值看了一次 但是还是没能运行成功
|
|
|
|
VET6的话最好也把芯片型号改了,然后就是ENC28J60的底层驱动IO改一下,其他的基本上不用改,内存管理也不用改
|
|
|
|
额 好的 谢大神 不过我现在程序一直卡在 判断时钟稳定那里,版主大神 我看完了原子哥的视频讲解还有PPT 但是还是有几点没明白,我知道LWIP 它是要创建一个 网口的结构体 一个PBUF的结构体来存数据。但是这些信息放进结构体后 我的理解是 LWIP只能从这里面取信息。不知道对不对,如果是这样的话 那创建一个UDP块的话 那这个UDP块里的信息就是用来处理传输层封包和解封包用的了把。 还有一个疑问就是 MAC地址 是需要写入ENC28J60网口芯片的吗?STM32就不用来处理MAC层了吧? 问题有点多杂 基础不太好 谢谢版主
|
|
|
|
版主 按你说的 修改 芯片信号和GPIO口 现在基本没问题 但是又有个新的问题 就是 会自己进入一次外部中断函数 不知道这个是怎么产生的
|
|
|
|
那就在进入中断服务函数的时候打印出ENC28J60的状态寄存器,看看是哪个中断
|
|
|
|
你好 版主大大 我刚调试了 status=ENC28J60_Read(EIR) 这一句读出来 status 为0X08 我现在网线都没插 但是还是进去了 不知道是什么原因
|
|
|
|
谢谢版主。
LWIP使用的内存比uip还是大很多。 有一个项目准备使用STM32F107VCT6,要上FreeRTOS+LWIP+USB HOST+MODBUS TCP+CAN,现在等板子回来,很担心ROM和RAM不足呀 |
|
|
|
这个pdf资料光盘里怎么没有呢。看dm9000 的资料,手头只有enc28j60没把我搞死。建议吧这个pdf放到网盘里,如果有是我没看到那就当我没说
|
|
|
|
只有小组成员才能发言,加入小组>>
如何使用STM32+nrf24l01架构把有线USB设备无线化?
2549 浏览 7 评论
请问能利用51单片机和nRF24L01模块实现实时语音无线传输吗?
2333 浏览 5 评论
3165 浏览 3 评论
2806 浏览 8 评论
为什么ucosii上移植lwip后系统进入了HardFault_Handler?
2763 浏览 4 评论
请教各位大咖:有没有接收频率32M左右的芯片推荐的?先感谢啦!
612浏览 1评论
859浏览 0评论
974浏览 0评论
626浏览 0评论
453浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 23:08 , Processed in 1.283585 second(s), Total 65, Slave 58 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号