Hi Richard,
Thanks for being my sounding block, I've now got the RAM code stored
in flash running from RAM at boot.
>>I assume you use GCC.
GNUARM
>>You also need to change the linker script to let
>>the linker know that the code is stored in flash but it will be
running
>>from RAM (just like the initialized variables section).
At the moment my boot app just uses hardcoded addresses to relocate
the RAM code, are you saying I should use the linker script for the
boot app and create a new section similar to the initialised
variables section i.e.
.data : AT (_etext)
{
_data = .;
*(.data)
} > RAM
--- In lpc2000@yahoogroups.com, Richard Duits <yahoo@r...> wrote:
>
> I assume you use GCC. You also need to change the linker script to
let
> the linker know that the code is stored in flash but it will be
running
> from RAM (just like the initialized variables section). When you
copied
> the code to ram, you just load the address of your main routine in
pc.
> If you use interrupts, you may change the MEMMAP register, but this
is
> not needed because the MAM will cache the bytes used by the
interrupt
> vector and it will run just as fast as in RAM. I never did this
myself,
> so I have no example code to share with you, maybe someone else?
>
> Richard Duits
>
>
> tripple_toast wrote:
>
> > Thanks for the reply.
> >
> > So all I need is a section of assembler in boot.s that copies the
> > compiled RAM code from flash to RAM.
> > I've tried the approach of altering the initialised variables
routine
> > without success ( my arm assembler knowledge is not so good ).
> >
> > Once this is copied then how does the RAM code run. Is it a
matter
> > of setting PC to a RAM start address?
> >
> > I'm ensuring that the RAM code is not using any of the ISP RAM
area
> > by loading it into 0x40000200
> >
> > Will I need to set MEMMAP to RAM, I'm not using any IRQ's?
> >
> >
> >
> > --- In lpc2000@yahoogroups.com, Richard Duits <yahoo@r...> wrote:
> > > This depends on the compiler/tools you use. With GNU you can do
> > this in
> > > the linker script and startup.s (similar to initialized
variables).
> > The
> > > Keil compiler has a function attribute that lets you run some
> > functions
> > > from ram. Don't know about other compilers.
> > >
> > > Richard Duits.
> > >
> > >
> > >
> > >
> > > tripple_toast wrote:
> > >
> > > > I have managed to store in a flash sector code that is
compiled to
> > > > run from RAM. At boot I wish to copy this code from flash to
RAM
> > and
> > > > then
> > > > run the code in RAM.
> > > >
> > > > Is this possible using the LPC213x?
> > > >
> > > > What do I need to do in the boot file of the flash code to get
> > the RAM
> > > > code running?
> > > >
> > > > Thanks.
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > SPONSORED LINKS
> > > > Microprocessor
> > > > <http://groups.yahoo.com/gads?
> >
t=ms&k=Microprocessor&w1=Microprocessor&w2=Microcontrollers&w3=Pic+mic
> > rocontrollers&w4=8051+microprocessor&c=4&s=93&.sig=tsVC-
> > J9hJ5qyXg0WPR0l6g>
> > > > Microcontrollers
> > > > <http://groups.yahoo.com/gads?
> >
t=ms&k=Microcontrollers&w1=Microprocessor&w2=Microcontrollers&w3=Pic+m
> >
icrocontrollers&w4=8051+microprocessor&c=4&s=93&.sig=DvJVNqC_pqRTm8Xq0
> > 1nxwg>
> > > > Pic microcontrollers
> > > > <http://groups.yahoo.com/gads?
> >
t=ms&k=Pic+microcontrollers&w1=Microprocessor&w2=Microcontrollers&w3=P
> >
ic+microcontrollers&w4=8051+microprocessor&c=4&s=93&.sig=TpkoX4KofDJ7c
> > 6LyBvUqVQ>
> > > >
> > > > 8051 microprocessor
> > > > <http://groups.yahoo.com/gads?
> >
t=ms&k=8051+microprocessor&w1=Microprocessor&w2=Microcontrollers&w3=Pi
> >
c+microcontrollers&w4=8051+microprocessor&c=4&s=93&.sig=1Ipf1Fjfbd_HVI
> > lekkDP-A>
> > > >
> > > >
> > > >
> > > > --------------------------------------------------------------
----
> > ------
> > > > YAHOO! GROUPS LINKS
> > > >
> > > > * Visit your group "lpc2000
> > > > <http://groups.yahoo.com/group/lpc2000>" on the web.
> > > >
> > > > * To unsubscribe from this group, send an email to:
> > > > lpc2000-unsubscribe@yahoogroups.com
> > > > <mailto:lpc2000-unsubscribe@yahoogroups.com?
> > subject=Unsubscribe>
> > > >
> > > > * Your use of Yahoo! Groups is subject to the Yahoo!
Terms of
> > > > Service <http://docs.yahoo.com/info/terms/>.
> > > >
> > > >
> > > > --------------------------------------------------------------
----
> > ------
> > > >
> >
> >
> >
> >
> > SPONSORED LINKS
> > Microprocessor
> > <http://groups.yahoo.com/gads?
t=ms&k=Microprocessor&w1=Microprocessor&w2=Microcontrollers&w3=Pic+mic
rocontrollers&w4=8051+microprocessor&c=4&s=93&.sig=tsVC-
J9hJ5qyXg0WPR0l6g>
> > Microcontrollers
> > <http://groups.yahoo.com/gads?
t=ms&k=Microcontrollers&w1=Microprocessor&w2=Microcontrollers&w3=Pic+m
icrocontrollers&w4=8051+microprocessor&c=4&s=93&.sig=DvJVNqC_pqRTm8Xq0
1nxwg>
> > Pic microcontrollers
> > <http://groups.yahoo.com/gads?
t=ms&k=Pic+microcontrollers&w1=Microprocessor&w2=Microcontrollers&w3=P
ic+microcontrollers&w4=8051+microprocessor&c=4&s=93&.sig=TpkoX4KofDJ7c
6LyBvUqVQ>
> >
> > 8051 microprocessor
> > <http://groups.yahoo.com/gads?
t=ms&k=8051+microprocessor&w1=Microprocessor&w2=Microcontrollers&w3=Pi
c+microcontrollers&w4=8051+microprocessor&c=4&s=93&.sig=1Ipf1Fjfbd_HVI
lekkDP-A>
> >
> >
> >
> > ------------------------------------------------------------------
------
> > YAHOO! GROUPS LINKS
> >
> > * Visit your group "lpc2000
> > <http://groups.yahoo.com/group/lpc2000>" on the web.
> >
> > * To unsubscribe from this group, send an email to:
> > lpc2000-unsubscribe@yahoogroups.com
> > <mailto:lpc2000-unsubscribe@yahoogroups.com?
subject=Unsubscribe>
> >
> > * Your use of Yahoo! Groups is subject to the Yahoo! Terms of
> > Service <http://docs.yahoo.com/info/terms/>.
> >
> >
> > ------------------------------------------------------------------
------
> >
>