您好!
使用以太网引导加载程序升级固件时遇到一些问题。
首先、我使用 JTAG 在内存位置0x0处刷写 boot_emac_flash、在内存位置0x4000处刷写 boot_demo_emac_flash、并尝试使用以太网在位置0x4000处写入同一文件。
我在 LM Flash 程序员中再次遇到相同的错误(无法启动 BOOTP 服务器)。 然后我尝试切换到另一个实用程序 eflash.c、该实用程序在第459行的 BOOTP_server.c 中出现错误、该行用于为 BOOTP 服务器创建套接字。为了更改此 eFLASH 文件、我在 cygwin 中使用 make 实用程序对其进行了编译。
然后、我将 eflash.c 中的 BOOTP 服务器端口更改为50000 (即一些随机端口) BOOTP 客户端模式更改为50002、将 tftp 服务器端口更改为50004、并且我成功地将魔术包发送到 UDP 端口9、 板载 LED 停止闪烁、即代码成功分支到引导加载程序。 但升级确实发生了(因为在引导加载程序中、配置的 UDP 端口为67.68和69 RESP)。
因此、我再次将引导加载程序代码中的端口更改为50000、50002和50004 RESP。 然后再次运行 eflash 实用程序。 但是,eflash 实用程序再次出现错误:无法创建 BOOTP 服务器套接字。
这是否意味着 BOOT_EMAC _FLASH 中配置的端口与 eFLASH 实用程序冲突?
此外,DHCP 服务器一直处于打开状态。 这会是个问题吗?
另外,我尝试执行 netstat -a,发现:(192.168.1.150是我的笔记本电脑 IP,192.168.1.5是 DHCP 服务器分配的主板 IP。)
UDP 0.0.0.0:58952 *:*
UDP 0.0.0.0:62859 *:*
UDP 127.0.0.1:1900 *:*
UDP 127.0.0.1:49664 *:*
UDP 127.0.0.1:59022 *:*
UDP 192.168.1.150:9 *:*
UDP 192.168.1.150:67 *:*
UDP 192.168.1.150:67 *:*
UDP 192.168.1.150:69 *:*
UDP 192.168.1.150:69 *:*
UDP 192.168.1.150:137 *:*
UDP 192.168.1.150:138 *:*
UDP 192.168.1.150:1900 *:*
UDP 192.168.1.150:40000 *:*
UDP 192.168.1.150:40004 *:*
UDP 192.168.1.150:40006 *:*
UDP 192.168.1.150:50000 *:*
UDP 192.168.1.150:50003 *:*
UDP 192.168.1.150:59820 *:*
UDP 192.168.2.96:137 *:*
UDP 192.168.2.96:138 *:*
UDP 192.168.2.96:1900 *:*
UDP 192.168.2.96:59721 *:*
此致、
奥 poorv