u-boot-2010.03在tq6410上的移植详解(八)
2010-12-21 01:02
393 查看
谢谢合作!!!!!
重新编译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'" ); |
)依照
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); } |
)由于
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
协议的支持。
相关文章推荐
- u-boot-2010.03在tq6410上的移植详解(一)
- u-boot-2010.03在tq6410上的移植详解(二)
- u-boot-2010.03在tq6410上的移植详解(一)
- u-boot-2010.03在tq6410上的移植详解(三)
- u-boot-2010.03在tq6410上的移植详解(五)
- u-boot-2010.03在tq6410上的移植详解(四)
- u-boot-2010.03在tq6410上的移植详解(六)
- u-boot-2010.03在tq6410上的移植详解(七)
- u-boot-2010.03在tq6410上的移植详解(一)
- u-boot-2010.03在tq6410上的移植详解
- u-boot-2010.03在LT2440上的移植详解 (三)
- u-boot-2010.03在LT2440上的移植详解 (四)
- u-boot-2010.03在LT2440上的移植详解 (五)
- u-boot-2010.03在LT2440上的移植详解 (六)
- u-boot-2010.03在LT2440上的移植详解 (七)
- u-boot-2010.03 移植到OK6410问题
- u-boot-2010.03在LT2440上的移植详解 (八)
- 基于Ok6410开发板u-boot-2010.03的移植
- u-boot-2010.03在LT2440上的移植详解 (九)
- u-boot-2010.03在LT2440上的移植详解 (十)