bfin-uclinux-ldr times out with BF527-EZLITE board

I am currently running a BF527-EZLITE rev 2.2 board with a 0.2 rev cpu.  Trying to serial load u-boot gives the following timeout during autobaud detection:

work@slackvm0:~/bfin-2012$

work@slackvm0:~/bfin-2012$

work@slackvm0:~/bfin-2012$ bfin-uclinux-ldr -V

ldr-utils-svn-3936: /usr/src/packages/BUILD/blackfin-toolchain-2012R1/ldr-utils/ldr.c compiled Jun 21 2012

$Id: ldr.c 5077 2010-12-26 16:58:15Z vapier $

work@slackvm0:~/bfin-2012$

work@slackvm0:~/bfin-2012$ bfin-uclinux-ldr -l u-boot-bf527-ezkit-uart-2010R1-RC2.ldr /dev/ttyS0

Loading LDR u-boot-bf527-ezkit-uart-2010R1-RC2.ldr ... OK!

Opening /dev/ttyS0 ... OK!

Configuring terminal I/O ... OK!

Trying to send autobaud ... OK!

Trying to read autobaud ... bfin-uclinux-ldr: received signal 14: timeout while sending; aborting

work@slackvm0:~/bfin-2012$

Using LdrViewer rev 1.2 works OK.

It appears that bfin-uclinux-ldr defaults to 115200 bps when sending the autobaud detection char 0x40.  That's seems too fast for the BF527 internal loader to lock onto.  Lowering the default baud to 57200 using the attached patch to the ldr-utils from blackfin-toolchain-2012R1-RC2.src corrected the problem.

Additionally, in order for LdrViewer and the blkfin ldr to work for the rev 2.2 EZLITE board, SW10 (pos1-8) must be set as:

OFF-ON-OFF-ON-OFF-OFF-ON-OFF

Frank

ldr-bf527.patch.zip
  • Hi Frank,

    Thanks for letting me know about this, however I'm not too keen to lower the baud rate default since it does work on most boards.

    I'll try loading on a few random boards, and if there's a few that do fail, then I'll lower the default.

    Instead of changing the code, is there there a reason you didn't try setting the baudrate manually on the command line?

    see the load option help for details:

    > bfin-ldr -l --help
    Usage: ldr load [options] <arguments>
    
    
    Options: -[fvqhVb:CpD:]
      -b, --baud            <baud>          * Set baud rate (default 115200)
      -C, --ctsrts                          * Enable hardware flow control
      -p, --prompt                          * Prompt for data flow
      -D, --delay           <usecs>         * Interblock delay (1 second)
      -f, --force                           * Ignore problems
      -v, --verbose                         * Make a lot of noise
      -q, --quiet                           * Only show errors
          --debug                           * Enable debugging
      -h, --help                            * Print this help and exit
      -V, --version                         * Print version and exit
    ...
    

    Thanks again,

    Stu

  • Hi Stu,

    Thanks for the insight -  I didn't drill down to see the options available with under the load command.  I concur that with the baud setting changeable at the command line, the initial default should be left as-is.

    Frank