This is the mail archive of the ecos-discuss@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Redboot for Assabet goes silent


Hi guys,

"Jesper" == Jesper Skov <jskov@redhat.com>
"Gary" == Gary Thomas <gthomas@redhat.com> 

>>>> And it did fix it for me too. Downloading over a serial works
>>>> now, but during download a NAK for each packet is returned. sx
>>>> resends it and then the packet is accepted. That makes the
>>>> download very slow, but having a slow download is much better
>>>> than having no download at all :-)
>>>
>>> Gary> I'm glad it fixed it for you. 
>>> Gary> As for the NAK problem, what is your host computer?
>>> Gary> Have you tried using Ymodem?  I've tried this with both
>>> Gary> Linux and Windows hosts and I get pretty good performance,
>>> Gary> without any extra NAKs.
>>
>> Jesper> Is there only one flavor of assabet boards? I ask because
>> Jesper> I also had a NAK-for-every-packet problem, and it was
>> Jesper> basically due to the target CPU being too slow.
>
> Gary> Yes, however they can be set up to run at different
> Gary> (software selectable) clock frequencies. Is this truly
> Gary> an Assabet, or some other SA1110 based system?

As far as I know I've got a true Assabet board (including the Neponset)
There is a sticker on the backside of the board saying that my board is
a 8A1110DEVDBD. If I look at the pictures on the ARM Linux on Assabet
page (www.cs.cmu.edu/~wearable/software/assabet.html) I've got the same
board.

Triggered by Gary's statement that he has no problems on Linux and
Windows hosts, I've done some testing. I've got a Linux host, but I
also tested using a Windows NT host with HyperTerminal. All tests
showed that the data is sent (getting loads of NAKs) and at the end
is rejected (which I did not notice at the time I wrote the piece of
text above). In other words: I can download, but the data does not
arrive :-(

First, the serial port I use is configured as:

  $ stty < /dev/ttyS0
  speed 38400 baud; line = 0;
  -brkint -imaxbel

I try to upload a file containing a romfs, so I have to upload it
in raw mode. I use minicom -o /dev/ttyS0 to make contact with the
board. Then I type the Redboot load command and then exit minicom
to enter the sx or sb command on the command line. Below you can
find the output of my tests...

----

  Redboot> load -r -v -m xMODEM -b 0x1000000 romfs.img

  $ sx -k romfs.img < /dev/ttyS0 > /dev/ttyS0
  Sending romfs.img, 103 blocks: Give your local XMODEM receive command
now.
  Xmodem sectors/kbytes sent:   8/ 1kRetry 0: Got 7c for sector ACK
  Retry 0: NAK on sector
  Retry 0: NAK on sector
  Retry 0: NAK on sector
  Retry 0: NAK on sector
  Retry 0: NAK on sector
  Retry 0: NAK on sector
  Retry 0: NAK on sector
  Retry 0: NAK on sector
  Retry 0: NAK on sector
  Retry 0: NAK on sector
  Retry 0: NAK on sector
  Retry 0: Retry Count Exceeded

  Transfer incomplete

----

  Redboot> load -r -v -m xMODEM -b 0x1000000 romfs.img

  $ sx romfs.img < /dev/ttyS0 > /dev/ttyS0
  Sending romfs.img, 103 blocks: Give your local XMODEM receive command
now.
  Xmodem sectors/kbytes sent:   1/ 0kRetry 0: Got 7c for sector ACK
  Retry 0: NAK on sector
  Retry 0: NAK on sector
  Retry 0: NAK on sector
  Retry 0: NAK on sector
  Retry 0: NAK on sector
  Retry 0: NAK on sector
  Retry 0: NAK on sector
  Retry 0: NAK on sector
  Retry 0: NAK on sector
  Retry 0: NAK on sector
  Retry 0: NAK on sector
  Retry 0: Retry Count Exceeded

  Transfer incomplete

----

  Redboot> load -r -v -m yMODEM -b 0x1000000 romfs.img

  $ sb romfs.img < /dev/ttyS0 > /dev/ttyS0
  Sending: romfs.img
  Ymodem sectors/kbytes sent:   3/ 0kRetry 0: Got 2f for sector ACK
  Retry 0: NAK on sector
  Ymodem sectors/kbytes sent:   5/ 0kRetry 0: Got 2d for sector ACK
  Retry 0: NAK on sector
  Ymodem sectors/kbytes sent:   7/ 0kRetry 0: Got 5c for sector ACK
  Retry 0: NAK on sector
  Ymodem sectors/kbytes sent:   9/ 1kRetry 0: Got 7c for sector ACK
  Retry 0: NAK on sector
  Ymodem sectors/kbytes sent:  11/ 1kRetry 0: Got 2d for sector ACK
  Retry 0: NAK on sector
  Ymodem sectors/kbytes sent:  13/ 1kRetry 0: Got 00 for sector ACK
  Retry 0: NAK on sector

  .
  .
  .

  Ymodem sectors/kbytes sent:  99/12kRetry 0: Got 7c for sector ACK
  Retry 0: NAK on sector
  Ymodem sectors/kbytes sent: 101/12kRetry 0: Got 2f for sector ACK
  Retry 0: NAK on sector
  Ymodem sectors/kbytes sent: 103/12kRetry 0: Got 2d for sector ACK
  Retry 0: NAK on sector
  Bytes Sent:  13312   BPS:268                             
   Error: Illegal command: RedBoot> Retry 0: Bad CRC
  Retry 0: Got ERROR
  00 Error: Illegal command: Retry 0: Bad CRC
  Retry 0: Got ERROR
  00RedBoot> Retry 0: Bad CRC
  Retry 0: Got ERROR
  00 Error: Illegal command: Retry 0: Bad CRC
  Retry 0: Got ERROR
  00RedBoot> Retry 0: Got ERROR
  Retry 0: Got ZNAK
   Error: Illegal command: Retry 0: Got ERROR
  Retry 0: Got ZNAK

----
 
I performed the same tests on a Windows NT machine with HyperTerminal.
Having contact with the board is no problem, but uploading using
different protocols (XMODEM/XMODEM 1K/YMODEM/YMODEM-G) gives the same
result as on the Linux host... (HyperTerminal gives me no error
messages, but tells that I can wait forever before the data is
uploaded).

Strange enough though, is that I can upload over the serial line when
I am sending over an application for debugging with gdb, so I guess
that the serial port configuration is not the problem... (unless gdb
is setting up the serial port itself).

Greetings,
Martin.


__________________________________________________
Do You Yahoo!?
Yahoo! Shopping - Thousands of Stores. Millions of Products.
http://shopping.yahoo.com/

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]