uboot 1.1.6 移植8900网卡+tftp

u-boot本身有cs8900网卡驱动程式,所以需要修改的地方不多。由于数据通过总线传送,所以要注意地址空间的设置和总线的设置。
1)
修改/include/configs/smdk2410.h文件:
#define CONFIG_ETHADDR    08:00:3e:26:0a:5b
#define CONFIG_IPADDR        192.168.1.18
#define CONFIG_SERVERIP        192.168.1.19
CONFIG_IPADDR     
宏是你研发板的IP地址。tftp client
CONFIG_SERVERIP   
宏是你安装tftp server的系统的IP
确定网卡的基地址,我的研发板CS8900接在nGCS3上,而且是A24引脚为高时使能CS8900AIO模式,所以代码为:
#define CONFIG_DRIVER_CS8900    1    /* we have a CS8900 on-board */
#define CS8900_BASE        0x19000300
#define CS8900_BUS16        1 /* the Linux driver does accesses as shorts */
2) BWSCON
寄存器的设置,BANKCON3寄存器的设置
   
由于网卡占用的是nGCS3之上地址,所以需要设置/board/smdk2410/lowlevel.S文件中相应寄存器的值:
#define B3_BWSCON         (DW16 + WAIT + UBLB)
#define B3_Tacs             0x0    /* 0clk */
#define B3_Tcos             0x3    /* 4clk */
#define B3_Tacc             0x7    /* 14clk */
#define B3_Tcoh             0x1    /* 1clk */
#define B3_Tah             0x0    /* 0clk */
#define B3_Tacp             0x3 /* 6clk */
#define B3_PMC             0x0    /* normal */
3)
设置完毕后能重新编译。
4) tftp
测试:

 

以上改完了就能实现tftp功能.

下面说说我的心得.

1  网线可以是路由器出来的, 不一定要是直接到pc的网口. 以上192.168.1.19 是pc的地址.

2  xp端的tftp软件可以用 tftp32, 就一个执行文件,绿色的,不需要安装, 可以自己去弄,  这个也是别人介绍我用的.

3  连接上以后如果想重新烧录nand的bootloader断,请参考如下

是先用tftp命令把uboot.bin传入4g内存索引中的地址0x30000000,然后用nand write 写入从0x30000000开始的资料到nand地址0x0 到0x178400(这个大小可变,根据你的bin文件大小).

  这个方法我试过烧录一个只有nand支持功能的bin文件上去, 成功.   重新开机后,串口调试界面只有提示符, 输入tftp指令,提示错误指令. 呵呵.. 说明用tftp功能烧录bootloader成功.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值