找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3535|回复: 2
打印 上一主题 下一主题
收起左侧

使用网口嵌入lwip给stm32升级遇到的问题

[复制链接]
跳转到指定楼层
楼主
ID:98924 发表于 2015-12-9 01:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
简单描述一下问题,就是使用lwip的udp传输协议通过电脑PC给stm32设备进行升级,以便后期维护。
        可是我发现升级过程中,是存在两个状态的就是应用状态和bootloader状态,当应用程序时上位机发来升级的命令,stm32会自己重启,重启过程中进入bootloader,判断EEPROM的标志位是否确认升级,然后对flash进行解锁,等待网口发来大数据,接着往flash里写便可以了。
        遇到的问题是,在应用机上可以PING通,然后发来升级命令后,我也确认了stm32的确重启,也进入了bootloader,实际上里边有一个while死循环,但是这个时候发现ping不同了,我对网络并不是十分了解,那个脑袋大,不断检查代码,就是发现不了问题,但现象很奇怪,约有2-3分钟后,又能ping通了,然后继续下载成功了,可是这肯定哪有问题。

        

        后来请大拿查看一二后,他查看了一下两个状态的mac,因为我告诉他ip额网管都是一样的,当然他首先使用arp -d 清除路由表命令发现马上ping通,然后才查看的两个状态的mac才发现竟然不一样,终于知道原因了。
        于是,返回代码在两个程序中找到mac地址的设置,lwip的mac设置在ethernet.c里边,修改一致后问题解决。

说明一下本文出自:http://www.xiaovdiy.cn/?post=186
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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