求助:设置IP然后重启,系统无法正常工作了

发布于 2020-06-24 12:44:39
目前用的原子407开发板做一个样板程序,带有以太网功能,板子IP每次上电的时候需要根据外部地址跳线来设定。

如果我再应用程序中读取地址然后使用set_if修改本机IP,或者在ethernetif.c中初始化IP的时候使用了判断例如
if(rt_pin_read(PIN_ADDR)==0){
ipaddr.addr = inet_addr("192.168.0.30");
gw.addr = inet_addr("255.255.0.0");
netmask.addr = inet_addr("192.168.0.1");
}
else {
ipaddr.addr = inet_addr("192.168.0.36");
gw.addr = inet_addr("255.255.0.0");
netmask.addr = inet_addr("192.168.0.1");
}


那么初次启动的时候,一切都很正常。但是一旦在MSH中使用reboot命令或者按板子上的reset按钮,再次启动系统时系统就不正常了,网口灯也不亮,MSH控制台上按任意键都是现实乱码,所有功能都失效了。

此时没法使用仿真查看,也没法使用控制台命令查看系统状态,不知道怎么查咯。

求助高人解决

查看更多

关注者
0
被浏览
369
3 个回答
aozima
aozima 2020-06-24
拒绝白嫖,拒绝键盘侠!
你的boot引脚被人控制了吗?
或把整片FLASH读回来,看是否被篡改掉了。

黄侃
黄侃 2020-06-24
aozima 发表于 2020-6-24 13:33
你的boot引脚被人控制了吗?
或把整片FLASH读回来,看是否被篡改掉了。


原子的板子确实RESET管脚为1的时候,会将boot0置1。
但是reboot的时候管脚会有电平变化吗?

而且只要我用固定的IP,RESET和Reboot都没事儿呢
黄侃
黄侃 2020-06-24
后续测试了一下,只要开着finsh连串口,重启就有这个问题,应该跟改不改IP没关系。

看一下原子开发板原理图,还是跟CH430连着boot0的电路有关。此贴终结。

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览