From: Jerry Van Baren <gerald.vanbaren@smiths-aerospace.com>
To: u-boot@lists.denx.de
Subject: [U-Boot-Users] Re: Installing U-Boot on target via USB/serial using U-Boot commands
Date: Mon, 26 Sep 2005 09:24:39 -0400 [thread overview]
Message-ID: <4337F697.10105@smiths-aerospace.com> (raw)
In-Reply-To: <4C4D1CD545F07B4EBEBE788A696F8B800E6D33@SBS.teletask.local>
Koen De Clercq (TELETASK) wrote:
> With the AT91RM92000 from ATMEL chip, there is an integrated uploader in
> the cpu that can work with USB, that's all I' know about it for now.
> One thing I sure: A USB cable is certainly the cheapest!
>
> Best regards,
>
> Koen
http://www.atmel.com/dyn/resources/prod_documents/doc1768.pdf
<blockquote>
7. Boot Program
7.1 Overview
[snip]
If no valid ARM vector sequence is found, the boot Uploader is started.
It initializes the Debug Unit serial port (DBGU) and the USB Device
Port. It then waits for any transaction and downloads a piece of code
into the internal SRAM via a Device Firmware Upgrade (DFU) protocol for
USB and XMODEM protocol for the DBGU. After the end of the download, it
branches to the application entry point at the first address of the SRAM.
</blockquote>
It looks like this is a very simple loader. It writes to SRAM _only_
and then jumps to that program (JTAG loaders typically allow you to
write to flash, manipulate registers, and jump anywhere, single step,
etc.). Theoretically you could load u-boot this way, but nobody has
volunteered that they have done it so you would likely be blazing a new
path.
*DISCLAIMER* all of the following is generalities and speculation.
Actual implementation is non-trivial. If I sound like I know something
about this, it is only because I've been in the "burn & learn" cycle
more than once ;-).
My advice would be to write a simple "burn flash" routine (it can be
done in a couple dozen lines of assembly - don't get elaborate) ORGed at
the start of SRAM and prepend it to the u-boot image. Your USB loader
(I'm guessing the target side looks like a simple usb-UART) would load
the burner utility and the u-boot image as a single lump and jump to the
burner utility. The burner utility would program the u-boot image from
SRAM into flash. Reset the board and you are off & running.
If your first attempt doesn't work, you are in the "burn & learn" cycle.
This can be successful if your image is close to working and you have
a fair amount of experience, or it can be an infinite time suck. If the
latter is the case, a JTAG debugger is invaluable.
Having said all that, this is pretty much off topic for u-boot. Only
after you get u-boot loaded into the target (and at least showing some
signs of life) would this become on topic for this list.
gvb
next prev parent reply other threads:[~2005-09-26 13:24 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-09-26 12:34 [U-Boot-Users] Re: Installing U-Boot on target via USB/serial using U-Boot commands Koen De Clercq
2005-09-26 13:24 ` Jerry Van Baren [this message]
2005-09-26 16:17 ` Joe Grisso
2005-09-26 16:45 ` Jerry Van Baren
2005-09-26 17:21 ` Andrey P. Vasilyev
2005-09-27 8:25 ` Mathieu Deschamps
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4337F697.10105@smiths-aerospace.com \
--to=gerald.vanbaren@smiths-aerospace.com \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox