移植uboot(支持DM9000)

支持DM9000:
根據net下make修改配置文件/include/configs/smdk2440.h:
去掉8900相關宏定義,添加:
#define CONFIG_DRIVER_DM9000
#define CONFIG_DM9000_BASE 0x20000000
#define DM9000_IO CONFIG_DM9000_BASE
#define DM9000_DATA (CONFIG_DM9000_BASE + 4)
如何確定這幾個值?查看soc手冊確定CONFIG_DM9000_BASE


還要設置內存控制器,設置位寬,時序.lowlevel_init.c裏面設置內存控制器的值,根據二期
移植DM9000的分析結果,或使用默認值。


測試結果:
Net:No ethernet found
因爲初始好的還是cs8900,要在board_eth_init()函數裏面初始化DM9000,而不是CS8900,
把board_eth_init()修改爲:
int board_eth_init(bd_t *bis)
{
int re = 0;
#ifdef CONFIG_CS8900
rc = cs8900_initialize(0,CONFIG_CS8900_BASE);
#endif
#ifdef CONFIG_DRIVER_DM9000
rc = dm9000_initialize(bis);//Dm9000x.c提供的初始化函數
#endif
return rc;
}


設置ip,ethaddr:  00:32:c3:2a:43:f4 測試ping通.(不要執行save命令,不知參數保存在哪裏)
ping通了,輸出:host 192.168.0.3 is alive  
(如果打開了tftp工具好像是ping不同的)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章