This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
It's very strange about the TFTP load code!
- From: "twomol" <twomol at bj1860 dot net>
- To: "ecos-discuss" <ecos-discuss at sources dot redhat dot com>
- Date: Sat, 18 Jun 2005 23:05:41 +0800
- Subject: [ECOS] It's very strange about the TFTP load code!
All,hello!
I'm using mx1ads with redboot downloaded from freescale.com. May be I am supposed to consult freescale not here. But it's about the common tftp code.So if
any one could help ,I'll be very appreciate!
I can't use tftp to load file from host:
-----------------------------------------------------
RedBoot> load -r -b 0x50000 redboot.bin
Using default protocol (TFTP)
Can't load 'redboot.bin': illegal TFTP operation
-----------------------------------------------------------
I checked the source , "There is no function set" equal to "TFTP_EBADOP" defined in tftp_surppot.h. but I didn't find any function have code to set the feild 'err' of 'getc_info' with this value.
I found that the error messge is printed by the following code (in redboot_gec_init):
res = (funcs->open)(info, &getc_info.err);
if (res < 0) {
diag_printf("Can't load '%s': %s\n", info->filename, (funcs->error)(getc_info.err));
return res;
}
I didn't found any code in the tftp_stream_open function set the err with TFTP_EBADOP.
I use multiice-gdb-server and insight to debug this code , from insight ,I found that sometims funcs->open's value isn't
the address of tftp_stream_open, and it's not a fixed value.
After return from funcs->open, the getc_info.err become 4 (i.e.TFTP_EBADOP).
My toolchain is the one downloaded from ecoscentirc.com
I can load file use xmodem and http protocol.
Any ideas?
Much Thanks!
Regards
twomol
twomol@bj1860.net
2005-06-18