OMAP3 boot ROM UART download utility

992 views
Skip to first unread message

Dirk Behme

unread,
Apr 13, 2008, 5:45:32 AM4/13/08
to beagl...@googlegroups.com
Hi,

using the protocol description in sprufd6.pdf

http://focus.ti.com/dsp/docs/dspsupporttechdocsc.tsp?sectionId=3&tabId=409&familyId=1526&abstractName=sprufd6

(section 1.4.4) and DaVinci serial download utility as a starting
point, I just tried to create an OMAP3 boot ROM UART download utility.
And, well, failed ;)

Two files (target and host) for easy review and complete project in
attachment.

The host tool should wait for the ASIC ID of OMAP3 (which it gets) and
then it sends 0xF0030002 (peripheral boot), image size (example image
has 136 bytes) and then the 136 bytes image.

It is my understanding that the target image is loaded into internal
SRAM to 0x40200000 and immediately when size bytes (here 136) of image
are downloaded the processor jumps to 0x40200000 executing the code there.

Assuming this, I thougt example code can just write "Hello OMAP3" to
UART3 THR register in infinite loop. Then attaching with terminal
program should give infinite hello message. But I get nothing :(

Any ideas?

Many thanks

Dirk


omap3_serial_test.txt
omap3_sload.txt
omap3_serial.tar.bz2

Nishanth Menon

unread,
Apr 13, 2008, 10:05:12 AM4/13/08
to beagl...@googlegroups.com
Dirk,

Dirk Behme said the following on 04/13/2008 04:45 AM:

i have a part patch (attached which i have been trying with).w.r.t
x-loader.. But the result is same as you: No Luck yet!!

mine is based on
http://openlabrador.org/pub/bootloader/serial-boot.tar.gz - rather
simple perl script ;)

I have not had time to playaround yet.. but essentially the same logic..

however, i am trying to get x-loader talking over SRAM to UART.. not
much luck yet.. (I got myself a new router and been getting it
customized :D)..

So probably later today a better working patch? I am suspecting clock,
pin mux and the usual bottlenecks..

Regards,
NM

x-loader.download.patch

Dirk Behme

unread,
Apr 20, 2008, 1:56:30 PM4/20/08
to Nishanth Menon, beagl...@googlegroups.com
Nishanth,

I tried what you proposed in [1], still without luck.

Do you like to have look to attachment? Maybe you see what I'm missing ;)

Cheers

Dirk

[1] http://www.beagleboard.org/irclogs/index.php?date=2008-04-13#T15:09:36

omap3_target.S

Nishanth Menon

unread,
Apr 23, 2008, 3:06:19 AM4/23/08
to Dirk Behme, beagl...@googlegroups.com
Dirk,

On Sun, Apr 20, 2008 at 1:34 PM, Nishanth Menon
<menon.n...@gmail.com> wrote:
> Dirk Behme said the following on 04/20/2008 12:56 PM:


> >
> > I tried what you proposed in [1], still without luck.
> >
> > Do you like to have look to attachment? Maybe you see what I'm missing ;)

> Yes. will do that on monday. kind of tied up today with house chores and
> beagle is away for upgrades.. :(..

got my board finally and made some time to look at this.. I got the
LEDs to glow.. but I cant get them to blink (they wont go off now)
:(.. Setting either GPIO-149 or 150 seem to glow both USR0 and USR1
LEDs together :(.. probably I am missing something else.. been
scratching my head for last couple of hours without much use..
probably I gotta hibernate now and look at it afresh later..

By the way, I did get USB peripheral download working with a tiny
variant of the testusb example file. - it detects on windows, but not
much luck without a filter driver.. Linux did work in a breeze without
a kernel driver :) - the required data was all in the public TRM :)

Regards,
Nishanth Menon

omap3_serial_test.S
omap_peripheral_usb.c

Gerald Coley

unread,
Apr 23, 2008, 7:18:03 AM4/23/08
to beagl...@googlegroups.com, Dirk Behme
The USER LEDS are shorted on the Beagle board and they cannot be
controlled individually. You need to control both GPIO_149 and GPIO_150
to control the LEDs.

Gerald

Nishanth Menon

unread,
Apr 23, 2008, 2:38:56 PM4/23/08
to beagl...@googlegroups.com, Dirk Behme
Gerald,

On Wed, Apr 23, 2008 at 6:18 AM, Gerald Coley <gco...@netportusa.com> wrote:
>
> The USER LEDS are shorted on the Beagle board and they cannot be
> controlled individually. You need to control both GPIO_149 and GPIO_150
> to control the LEDs.

Thanks. yep. it works now.

Dirk,
Looking at the problem on a full stomach helped ;)

Attached code gives blinky blinky LEDs frequency of 1Hz. Kinda round
about way to test 32Khz clock though ;).. did not add print code
though..

Regards,
Nishanth Menon

omap3_serial_test.S

Dirk Behme

unread,
Apr 23, 2008, 3:22:38 PM4/23/08
to Nishanth Menon, beagl...@googlegroups.com
Nishanth Menon wrote:
> Gerald,
>
> On Wed, Apr 23, 2008 at 6:18 AM, Gerald Coley <gco...@netportusa.com> wrote:
>
>> The USER LEDS are shorted on the Beagle board and they cannot be
>> controlled individually. You need to control both GPIO_149 and GPIO_150
>> to control the LEDs.
>
> Thanks. yep. it works now.

YES! Great!

> Dirk,
> Looking at the problem on a full stomach helped ;)
>
> Attached code gives blinky blinky LEDs frequency of 1Hz. Kinda round
> about way to test 32Khz clock though ;).. did not add print code
> though..

It works for me, too! But only using USB download

http://groups.google.com/group/beagleboard/browse_thread/thread/2b9e99886bb7a747

Using serial tool

http://groups.google.com/group/beagleboard/browse_thread/thread/80ad3da0eb2aa555

fails. Have to look into this. Haven't tried

http://www.omapzoom.org/pub/bootloader/serial-boot.tar.gz

though.

Next steps:

- I will add Nishanth's (c), repackage the stuff and then send it to
this list in a new thread we can link to from wiki page. With this,
people can get everything with one download.

- Now that we have a download/debug (LEDs) tooling, we should start to
discuss how download/flash target code should look like. Will start an
new thread for this, too.

Many thanks for this code

Dirk

Nishanth Menon

unread,
Apr 23, 2008, 3:35:00 PM4/23/08
to beagl...@googlegroups.com
On Wed, Apr 23, 2008 at 2:22 PM, Dirk Behme <dirk....@googlemail.com> wrote:
>
> It works for me, too! But only using USB download
Cool...

>
> - I will add Nishanth's (c), repackage the stuff and then send it to
> this list in a new thread we can link to from wiki page. With this,
> people can get everything with one download.
Done.. attached. (I did change the original name of Dirk'sGames to
omap3_peripheral ;)

>
> - Now that we have a download/debug (LEDs) tooling, we should start to
> discuss how download/flash target code should look like. Will start an
> new thread for this, too.

Aaah.. an area at least for the moment I cannot enter.
Regards,
Nishanth Menon

omap3_peripheral_test.tar.bz2

Syed Mohammed, Khasim

unread,
Apr 24, 2008, 5:51:58 AM4/24/08
to beagl...@googlegroups.com
Just resumed work after some fever and FLU - Badly HIT :(
 
This is really great work, sorry Nishanth was not able to test your images before. Will check this out and add them on code.google.com.
 
Regards,
Khasim

 

Dirk Behme

unread,
Apr 26, 2008, 2:22:47 AM4/26/08
to beagl...@googlegroups.com
Nishanth Menon wrote:
> mine is based on
> http://openlabrador.org/pub/bootloader/serial-boot.tar.gz - rather
> simple perl script ;)

Testing this I get

-- cut --
> ./serial-boot.pl -p /dev/ttyUSB0 -s omap3_target.bin -d 1
BYTES=348 file_bytes=5c010000 prefix_bytes=020003f0 string
bytes=020003f05c010000
----Please reset the Board NOW (timeout=30 sec)----
1 2 3 4 5 46 07 8 T9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
49 50 51 52 53 54 55 56 57 58 Board Detected
.
TIOCSERGETLSR(21593) ioctl failed: The argument is invalid at
./serial-boot.pl line 374
waiting for draining 40
TIOCSERGETLSR(21593) ioctl failed: The argument is invalid at
./serial-boot.pl line 374
waiting for draining 39
...
TIOCSERGETLSR(21593) ioctl failed: The argument is invalid at
./serial-boot.pl line 374
waiting for draining 1
> Unable To send File Size at ./serial-boot.pl line 127.
-- cut --

Dirk

Reply all
Reply to author
Forward
0 new messages