[U-Boot-Users] help in understand the address of standalone applications, ARM MCU

J.P. Casainho casainho at gmail.com
Sun May 11 21:51:43 CEST 2008


Hello :-)

On Sunday 11 May 2008 19:31:05 you wrote:
> In message <200805111736.50691.casainho at gmail.com> you wrote:
> > I am using an Olimex dev. board with a ARM9, AT91SAM9260 MCU. On my
> > makefile I
>
> Is this board supported in the public U-Boot git tree?

No I think, It come with sources on CDROM, however this board looks like 
identical of the board/atmel/at91sam9260ek/.
http://git.denx.de/?p=u-boot.git;a=tree;f=board/atmel/at91sam9260ek;h=9872dae12d7fd41dfbdd82e5ea2ad900cc47c044;hb=f3612a7b199cab3942f60d9c1392eb39d58cc699

The board is the Olimex SAM9-L9260, manual: 
http://www.olimex.com/dev/pdf/ARM/ATMEL/SAM9-L9260.pdf


> > am linking with address 0xc100000, "LDFLAGS=-Bstatic -Ttext 0xc100000" --
> > is
>
> What makes you think we would know the memory map of your board better
> than you?

Hmmm... I am a novice :-) - my first time with 32 bits and U-Boot :-) - I 
tought that in some way memory map on U-Boot would be the same for every 
boards, dependant only on the MCU.


> > this address correct? How can I have sure of that? -- I got this value
> > from makefile of "hello world" example.
>
> As the first step you have to  understand  the  memory  map  of  your
> system. We cannot know this.

So them I assume the information on manual are what I am looking for. Is there 
any way to know that looking at sources of U-Boot?


> > When I do "tftp 0xc100000 flash_led.bin" the system hangs.. while If I
> > try to
>
> Then the address is obviously wrong - seems there is no RAM there.
>
> > do for example "tftp 0x1000 flash_led.bin" the code loads ok but after
> > "go
>
> Are you sur the code is really stored to this  address?  I  seriously
> doubt  that.  0x1000  is  probably an address in flash memory on your
> system, and you do not program the flash (normally)  when  running  a
> "tftp" command.
>
> > 0x1000", the code does not work... It evens return while shouldn't
> > because of an infinite loop on the code.
>
> You are probably executing random code that happens to be at that
> location in flash.
>
> > In the manual of the dev. board I have a memory map that says the 64MB
> > RAM starts at 0x20000000 and ends on 0x23FFFFFF - If I do "tftp
> > 0x20000000
>
> Ah, see! So what makes you think 0xc100000 could work?
>
> > flash_LED.bin" system also hangs...
>
> Probably because you are overwriting the exception vectors?

Hmm... So I must know detailed memory map, and that depends on U-Boot usage, 
right? - the board manual just tells the principle and the end addresses of 
the SDRAM... - maybe the information I am looking for is in the sources of 
U-Boot...

> > I must say that with my dev. board comes an "hello world" example which
> > is an empty function :-( -- but even I don't know to what address I
> > should load it.
>
> Ask the company who provided that port of U-Boot and the example
> program?
>
> Best regards,
>
> Wolfgang Denk

Can you guide me? -- If I find the right address and use it on the -Ttext link 
time and on the tftp load and go command, my original program should work? is 
just that "simple" to have a externall application?

Thank you.




More information about the U-Boot mailing list