完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我自己做的板子,使用探索者开发版“扩展例程”中的“网络实验2 LWIP带UCOS操作系统移植”作为基础工程进行修改,结果执行到OSStart();后就进入了HardFault_Handler。
由于我自己做的板子使用的是DP83848作为PHY(那个LAN8720的Thermal Pad我实在焊不上),按照STM324xG-EVAL Board的连接方式进行连接,并且没有使用外部SRAM。我在stm32f4x7_eth_conf.h将寄存器的定义改回DP83848的配置,并且在LAN8720_Init()中更改了相应的引脚设置,在LAN8720.h中将PHY地址改为0x01,并将接口改为MII。同时,将之前stm32f4x7_eth.c、mem.c、memp.c中注释掉的数组都还原回来,并且注销掉了原子老师提供的文件中有关内存申请的函数,删除了有关FSMC、MALLOC和SRAM的代码;将sys_mbox_new函数和sys_mbox_free函数中的的mymalloc和myfree改成了malloc和free,并且启用了MicroLib。 经过以上修改后lwip_comm_init()可以正常通过,但执行到OSStart()的时候,就进入HardFault_Handler了。 希望原子老师和论坛里好心的朋友能够帮忙解决。谢谢!! |
|
相关推荐
7个回答
|
|
是不是你的任务堆栈太小了?
|
|
|
|
刚才我又试了原子的mymalloc,故障依旧,其实sys_mbox_new和sys_mbox_free暂时留空也是一样的故障。这次即使去掉Use MicroLib也不行。但main中去掉LWIP的初始化函数就可以了。
|
|
|
|
你lwip数据的处理是在哪个任务?
|
|
|
|
并未进行LWIP数据处理,目前只是想测试是否能Ping通。
|
|
|
|
lwip数据处理所在的任务,堆栈开大点。
|
|
|
|
楼主解决问题了么
|
|
|
|
找了两天的问题,终于发现就是“勾选Use MicroLib,就会造成执行OSStart()后进入HardFault”,不勾直接好了,话说楼主怎么发现的呀
|
|
|
|
只有小组成员才能发言,加入小组>>
如何使用STM32+nrf24l01架构把有线USB设备无线化?
2530 浏览 7 评论
请问能利用51单片机和nRF24L01模块实现实时语音无线传输吗?
2314 浏览 5 评论
3112 浏览 3 评论
2780 浏览 8 评论
为什么ucosii上移植lwip后系统进入了HardFault_Handler?
2740 浏览 4 评论
请教各位大咖:有没有接收频率32M左右的芯片推荐的?先感谢啦!
577浏览 1评论
832浏览 0评论
935浏览 0评论
595浏览 0评论
414浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-6 01:18 , Processed in 1.172654 second(s), Total 91, Slave 73 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号