--- In l..., "mike_schwarzer"
wrote: >
> Hi Frank,
>
> > Hi Mike,
> > If you look under the linker category in the project options
> > dialog you will find linker configuration file edit box.
> > There should be a .icf file listed in the editbox that tells the
> > linker about the memory map of the particular device your using.
>
> Clear :-)
> Here I have also defined the SDRam Region
> > Then you can place the project code in one region and the loader
> > code in another region using the "#pragma section" directive.
> > The IAR documentation describes this pretty well.
> > Good Luck.
> >
> > Frank
> >
> Thanks a Lot, the '#pragma section' directive was my missing
link.
> I have searched the IAR Docu a 100... Times, but was not able to
> find it, but now as i know the right name ...
> Thanks.
>
> mfg
> mike
> Hi Mike,
Glad to help The document where this information is found is the "IAR
C/C++ Development Guide Compiling and linking for Advanced RISC Machines
Ltd's ARM Cores" It can be viewed from the help menu "C/C++
Development Guide" in the event you need more information in the future.
> Hi Mike,
> If you look under the linker category in the project options
> dialog you will find linker configuration file edit box.
> There should be a .icf file listed in the editbox that tells the
> linker about the memory map of the particular device your using.
Clear :-)
Here I have also defined the SDRam Region
> Then you can place the project code in one region and
the loader
> code in another region using the "#pragma section" directive.
> The IAR documentation describes this pretty well.
> Good Luck.
>
> Frank
> Thanks a Lot, the '#pragma section' directive was my missing
link.
I have searched the IAR Docu a 100... Times, but was not able to
find it, but now as i know the right name ...
Thanks.
mfg
mike
Reply by carnac100●March 8, 20102010-03-08
--- In l..., "mike_schwarzer" wrote: >
> Hi to Everyone,
>
> I would need some hints, information, templates in using IAP with LPC2478.
>
> I have written a Application using IAR Workbench, using LPC2478, TFT,
> external RAM, .... I'm also using IAP Functions to store some Data in the
Processor Flash.
>
> Now I like to use IAP to update my Application.
> As far as i have found out, there seems to bee to possibilities:
> 1. Building 2 Projects, One for Updating und one as application
> 2. Defining a specific Adress Range (Flash Sectors) for the Update
Function.
>
> My question is now, how to setup such specific Adress Ranges in IAR
> Workbench.
> Has someone such Setup Template, knows the exact Command Syntax for IAR or has
some Idea where i can find such Informations.
>
> mfg
> Mike
>
Hi Mike,
If you look under the linker category in the project options dialog you will
find linker configuration file edit box. There should be a .icf file listed in
the editbox that tells the linker about the memory map of the particular device
your using. Click the edit button and the dialog box that pops up will let you
set the start and end addresses for the FLASH. You can have one .icf file for
the main project and another for the loader project. Just set the start of flash
of one project to the end of FLASH from the other project so you won't have
overlap. You will also need to decide which project has the default exception
handlers and how the two projects will interact.
You can also edit the linker configuration file manually and setup multiple
regions in the FLASH for one project. Then you can place the project code in
one region and the loader code in another region using the "#pragma section"
directive. The IAR documentation describes this pretty well.
Good Luck.
Frank
Reply by mike_schwarzer●March 8, 20102010-03-08
Hi M.J.,
> I misunderstood. Never mind, I think my bad english was the reason
(I'm not an nativ english speaker).
> Try the following:
> void fnFunction( void) @ "ICODE"
> {
> } Exactly that was my first try :-).
But for whatever reason, that dont works with code.
With Varibles the '@' is working fine, I use ist in
my project to put a lot of data in the external SDRam.
But as soon as code is involved, i can write the '@'
directive in (I think meanwhile) any form, with just
2 Results:
1. Complete Ignoring
2. Compiler Error
.....
So I think for Code there must be some other Command
mfg
Mike
Reply by mjbcswitzerland●March 8, 20102010-03-08
Hi Mike
I misunderstood.
Try the following:
void fnFunction( void) @ "ICODE"
{
}
where ICODE is declared in the linker script with -Z(CODE)ICODE plus the
area.
This used to be valid for IAR4 but IAR5 works rather differently - maybe a block
or region with that name would control it(?)
Regards
Mark
--- In l..., "mike_schwarzer" wrote: >
> If possible I would like to put some of my Functions
at a spezific
> Adress in Chip Flash
> (like the @ "SomeWehre" Directive for Variables).
> In Case of Update these Functions take over and do the Update, as there
> Adresses
> are known, they can protect themself during Update and then restart the
> Processor.
>
> My trouble is, I dont know how to tell the IAR Workbench/Linker which
> Function shall
> be at such a Adress.
> I would like to have something like
>
> void UpDate(void) @ 0x0007 8000 - 0X0007 8FFF // Sektor 22 of LPC2478
>
> mfg
>
> Mike
>
Reply by mike_schwarzer●March 8, 20102010-03-08
Hi M.J.
> Check out the uTasker project for LPC2xxx - it
includes firmware upload support for the LPC24xx via Ethernet (FTP or HTTP post),
optionally encrypted. >
> - http://www.utasker.com/docs/uTasker/uTaskerBoot_003.PDF
> - setups for GCC, Rowley, IAR, Keil Thanks for your Replay,
But that was not exactly for what I'm searching.
If possible I would like to put some of my Functions at a spezific
Adress in Chip Flash
(like the @ "SomeWehre" Directive for Variables).
In Case of Update these Functions take over and do the Update, as there
Adresses
are known, they can protect themself during Update and then restart the
Processor.
My trouble is, I dont know how to tell the IAR Workbench/Linker which
Function shall
be at such a Adress.
I would like to have something like
http://www.uTasker.com
--- In l..., "mike_schwarzer" wrote: >
> Hi to Everyone,
>
> I would need some hints, information, templates in using IAP with LPC2478.
>
> I have written a Application using IAR Workbench, using LPC2478, TFT,
> external RAM, .... I'm also using IAP Functions to store some Data in the
Processor Flash.
>
> Now I like to use IAP to update my Application.
> As far as i have found out, there seems to bee to possibilities:
> 1. Building 2 Projects, One for Updating und one as application
> 2. Defining a specific Adress Range (Flash Sectors) for the Update
Function.
>
> My question is now, how to setup such specific Adress Ranges in IAR
> Workbench.
> Has someone such Setup Template, knows the exact Command Syntax for IAR or has
some Idea where i can find such Informations.
>
> mfg
> Mike
>
Reply by mike_schwarzer●March 8, 20102010-03-08
Hi to Everyone,
I would need some hints, information, templates in using IAP with LPC2478.
I have written a Application using IAR Workbench, using LPC2478, TFT,
external RAM, .... I'm also using IAP Functions to store some Data in the
Processor Flash.
Now I like to use IAP to update my Application.
As far as i have found out, there seems to bee to possibilities:
1. Building 2 Projects, One for Updating und one as application
2. Defining a specific Adress Range (Flash Sectors) for the Update Function.
My question is now, how to setup such specific Adress Ranges in IAR
Workbench.
Has someone such Setup Template, knows the exact Command Syntax for IAR or has
some Idea where i can find such Informations.