您的位置:首页 > 其它

u-boot-2010.03在tq6410上的移植详解(八)

2010-12-21 01:02 393 查看



原创文章版权所有!如需转载,请注明出处: http://hi.baidu.com/liushuiyue1/myhome
谢谢合作!!!!!

重新编译uboot
并下载到Nand Flash
中,使用nand
指令烧写yaffs2
文件到nand
中如下图所示,至此uboot
已支持yaffs
的烧写。

八.
支持串口
xmodem

协议

U-Boot

默认支持的
loadb

命令需要配合
Linux

下的
kermit

工具来使用,
loady

命令通过串口
ymodem

协议来传输文件。
Windows

下的超级终端虽然支持
ymodem,

但是它的使用界面实在不友好。而
SecureCRT

只支持
xmodem


zmodem

。而上位机和开发板之间的文件传输又实在是一件非常重要的事,所以现在修改代码以增加对
xmodem

的支持,即增加一个命令
loadx



1

)依照
loady

的实现来编写代码,首先使用
U_BOOT_CMD

宏来增加
loadx

命令(在文件
common/cmd_load.c

文件中):

U_BOOT_CMD(

loadx, 3, 0,
do_load_serial_bin,

"load binary file over serial line (xmodem mode)",

"[ off ] [ baud ]/n"

"
- load binary file over serial line"

" with offset 'off' and baudrate 'baud'"

);

2

)依照
loady


do_load_serial_bin

函数中增加对
loadx

命令的处理分支。

else if(strcmp(argv[0],"loadx")==0) {

printf ("## Ready for binary (xmodem) download "

"to 0x%08lX at %d bps.../n",

offset,

load_baudrate);

addr = load_serial_xmodem (offset);

}

3

)由于
addr

行调用了
load_serial_xmodem

函数,依照
load_serial_ymodem

实现的一个函数。首先在文件开头增加
loadx_serial_xmodem

函数的声明,然后复制
load_serial_ymodem

函数为
load_serial_xmodem

,稍作修改:

(1
)、将局部数组ymodemBuf
改名为xmodemBuf
,并在后面使用到的地方统一修改,这只是为了与函数名称一致,可改可不改。(2
)、info.mode
的值从xyzModem_ymodem
改为xyzModem_xmodem


#if defined(CONFIG_CMD_LOADB)

static ulong load_serial_ymodem (ulong offset);

static ulong load_serial_xmodem (ulong offset);

#endif

重新编译,执行
loadx

,然后在
secureCRT


Transfer

菜单下点
Send Xmodem


xxx

已经放在了
Upload

目录里),完成对
串口
xmodem

协议的支持。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: