OpenEdv-开源电子网

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

在做战舰 ENC28J60 LWIP的例程时程序到dhcp_start(&lwip_netif)就跳入hardfault_handler

[复制链接]

3

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
132
金钱
132
注册时间
2014-3-20
在线时间
34 小时
发表于 2016-4-20 10:06:29 | 显示全部楼层 |阅读模式
10金钱
例程时mini板上的ENC28J60的LWIP的库函数例程,用的是SPI1,我改成寄存器版的换成SPI2;程序打印出了enc28j60的版本信息和全双工通信,到了dhcp_start()这个函数就跳入hardfault_handler了,求教我下一步改如何去分析解决问题。

一开始经过初始化ENC28J60

一开始经过初始化ENC28J60

到dhcp_start()这个函数就跳入hardfault_handler

到dhcp_start()这个函数就跳入hardfault_handler

进去dhcp_start()函数,发现到了dhcp_discover()这个函数就进入hardfault_handler了

进去dhcp_start()函数,发现到了dhcp_discover()这个函数就进入hardfault_handler了

继续进入dhcp_discover,发现到了ip_output_if()就进入hardfault_handler了

继续进入dhcp_discover,发现到了ip_output_if()就进入hardfault_handler了

最佳答案

查看完整内容[请看2#楼]

终于找到原因了,后面发现在ENC28J60_Packet_Send()和ENC28J60_Packet_Receive()函数中的INTX_DISABLE();和INTX_ENABLE();开关中断的函数,这两个函数在sys.c中, 寄存器版本的sys.c和库函数版本的sys.c开关中断语句不同,把库函数的那几句换到寄存器的就没出现hardfault了,这两个版本的开关中断语句如下图,请教下有什么不同:
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
132
金钱
132
注册时间
2014-3-20
在线时间
34 小时
 楼主| 发表于 2016-4-20 10:06:30 | 显示全部楼层
终于找到原因了,后面发现在ENC28J60_Packet_Send()和ENC28J60_Packet_Receive()函数中的INTX_DISABLE();和INTX_ENABLE();开关中断的函数,这两个函数在sys.c中,
寄存器版本的sys.c和库函数版本的sys.c开关中断语句不同,把库函数的那几句换到寄存器的就没出现hardfault了,这两个版本的开关中断语句如下图,请教下有什么不同:
寄存器sys.c开关中断.png
库函数sys.c开中断.png
回复

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2016-4-20 10:13:41 | 显示全部楼层
仔细检查一下你 移植的时候的数据发送和接收是不是 正常的
回复

使用道具 举报

3

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
132
金钱
132
注册时间
2014-3-20
在线时间
34 小时
 楼主| 发表于 2016-4-20 10:15:29 | 显示全部楼层
请问怎么检查的?
回复

使用道具 举报

3

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
132
金钱
132
注册时间
2014-3-20
在线时间
34 小时
 楼主| 发表于 2016-4-21 10:31:24 | 显示全部楼层
奇怪,用库函数,SPI1,SPI2,SPI3都可以 ,换成寄存器就是上面的现象,两个版本不同的地方就是SPI初始化和外部中断不同,哎为什么这样子捏!
回复

使用道具 举报

3

主题

10

帖子

0

精华

新手上路

积分
43
金钱
43
注册时间
2017-7-24
在线时间
11 小时
发表于 2017-8-2 09:10:15 | 显示全部楼层
楼主,我也遇到这个问题,按您说的改了怎么还是不行?你是怎么解决的
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-4-18 17:59

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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