Hi,
I've just gotten a ts-7250 and I'm trying to learn about embedded
programming using the O'Reilly "Programming Embedded Systems" Book. In
the book the authors actually use a Viper-lite board, but it's very
similar to the TS-7250.
Anyway, I've written a simple C program to flash the LED's, but I'm
having some confusion with how it gets loaded on the board, specifically
with what is going on with the memory.
I compile the program using gcc fine, then run the linker with a linker
script following the procedure in the book. I started off trying to use
E000_0000 as the base of the RAM address as referenced in the ts-7250
manual, but redboot would complain when I tried to load the resulting
program that there was no memory at that address??
Then I realized that redboot prints the RAM location as 0x0-0x02000000
when it starts up, so I tried 0 in the linker script, but that didn't
work either.
Finally, I tried to use the command "load -v -b %{FREEMEMLO} -m xmodem"
and that loaded the program stating the following:
Address offset =
0x40053000
Entry point: 0x00053100, address range:
0x00053000-0x0005318c
xyzModem - CRC mode, 11(SOH)/0(STX)/0(CAN) packets, 2 retries
I then changed the linker script to use 53000 as the base of the RAM and
it works fine, but I'm not sure I understand why it works.
Where does 40053000 come from as the address offset? There is nothing
mentioned of a 0x4000000 in the ts-7250 manual.
And what does the ts-7250 manual mean by the definition of:
0x0001_0000 - 0x0000_FFFF SDRAM region ???
Thanks for any teachings,
--larry
------------------------------------
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/ts-7000/
<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/ts-7000/join
(Yahoo! ID required)
<*> To change settings via email:
<*> To unsubscribe from this group, send an email to:
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
|