OK6410A 开发板 (三) 2 u-boot-2018.09 ethernet 解析

  • u-boot-2018.09(源码基于https://download.csdn.net/download/Golden_Chen/11998917) 现状
1. 检查当前局域网可用ip
$ nmap -sP 10.10.11.*
2. 设置 u-boot ip 相关变量
setenv gatewayip 10.10.11.254
setenv ipaddr 10.10.11.120
setenv serverip 10.10.11.57
setenv netmask 255.255.255.0
3. ping 局域网主机
OK6410 # ping 10.10.11.57
Unknown command 'ping' - try 'help'
4.配置 CMD_PING , 再编译烧写,再设置 u-boot ip 相关变量
5.ping 局域网主机
OK6410 # ping 10.10.11.57
No ethernet found.
ping failed; host 10.10.11.57 is not alive
  • 修改点
1.
在 board/samsung/smdk6410/smdk6410.c 中 添加
int board_eth_init(bd_t *bis)
{
    
    
	return   dm9000_initialize(bis);
}
2.
配置 CONFIG_NET_RANDOM_ETHADDR
  • 网络配置好的状态
In:    serial
Out:   lcd
Err:   serial
dm9000
Warning: dm9000 (eth0) using random MAC address - 4e:71:07:ae:b3:0f

Hit any key to stop autoboot:  0 


OK6410 # ping 10.10.11.57
dm9000 i/o: 0x18000300, id: 0x90000a46 
DM9000: running in 16 bit mode
MAC: aa:76:44:eb:4c:9b
operating at 100M full duplex mode
Using dm9000 device
host 10.10.11.57 is alive

DM9000 驱动


include/configs/smdk6410.h

/* this must be included AFTER the definition of CONFIG_COMMANDS (if any) */        
#define CONFIG_DRIVER_DM9000                                                        
#define CONFIG_DM9000_BASE (0x18000300) /*XM0CSN1*/                                 
#define DM9000_IO (CONFIG_DM9000_BASE)                                              
#define DM9000_DATA (CONFIG_DM9000_BASE+0x4) /*ADDR2*/                              
                                                                                    
#define CONFIG_ETHADDR      00:40:5c:26:0a:5b                                       
#define CONFIG_NETMASK      255.255.255.0                                           
#define CONFIG_IPADDR       192.168.1.20                                            
#define CONFIG_SERVERIP     192.168.1.10                                            
#define CONFIG_GATEWAYIP    192.168.1.1

猜你喜欢

转载自blog.csdn.net/u011011827/article/details/114660551