" - load binary file over serial line"
" with offset 'off' and baudrate 'baud'\n"
);
其次,在do_load_serial_bin函数中增加对loadx命令的处理分支。也是依照loady来实现:
481 /* 支持xmodem, */
482 if (strcmp(argv[0],"loadx")==0) {
483 printf ("## Ready for binary (xmodem) download "
484 "to 0x%08lX at %d bps...\n",
485 offset,
486 load_baudrate);
487
488 addr = load_serial_xmodem (offset);
489
490 } else if (strcmp(argv[0],"loady")==0) {
491 printf ("## Ready for binary (ymodem) download "
492 "to 0x%08lX at %d bps...\n",
……
第481~490行就是为loadx命令增加的代码。
在第288行调用load_serial_xmodem函数,它是依照load_serial_ymodem实现的一个新函数:
36 #if (CONFIG_COMMANDS & CFG_CMD_LOADB)
37 /* 支持xmodem, */
38 static ulong load_serial_xmodem (ulong offset);
39 static ulong load_serial_ymodem (ulong offset);
40 #endif
……
995 /* 支持xmodem, */
996 static ulong load_serial_xmodem (ulong offset)
997 {
……
1003 char xmodemBuf[1024];/* 原来是ymodemBuf,这只是为了与函数名称一致 */
……
1008 info.mode = xyzModem_xmodem;/* 原来是xyzModem_ymodem,对应ymodem */
……
首先在文件开头增加load_serial_xmodem函数的声明,然后复制load_serial_ymodem函数为load_serial_xmodem,稍作修改:
① 将局部数组ymodemBuf改名为xmodemBuf,并在后面使用到的地方统一修改。这只是为了与函数名称一致。
② info.mode的值从xyzModem_ymodem改为xyzModem_xmodem。文件系统转换
重新编译、烧写u-boot.bin后,就可以使用loadx命令下载文件了。
3. 支持网卡芯片CS8900
使用串口来传输文件的速率太低,现在增加对网卡芯片CS8900的支持。
本书使用开发板的网卡芯片CS8900的连接方式与smdk2410完全一样,所以现在的
U-Boot中已经支持CS8900了,它的驱动程序为drivers/cs8900.c。只要在U-Boot控制界面中稍加配置就可以使用网络功能。使
用网络之前,先设置开发板IP地址、MAC地址,服务器IP地址,比如可以在U-Boot中执行以下命令:
setenv ipaddr 192.168.1.17
setenv ethaddr 08:00:3e:26:0a:5b
setenv serverip 192.168.1.11
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-66092-23.html
快去操谢作死家的女人去