Subject:
|
Re: GCC vs. IAR compiler: Could GCC be tweaked to generate code as tight as IAR?
|
Newsgroups:
|
lugnet.robotics.nxt.nxthacking
|
Date:
|
Wed, 14 Mar 2007 20:23:32 GMT
|
Viewed:
|
16984 times
|
| |
| |
In lugnet.robotics.nxt.nxthacking, John Hansen wrote:
> In lugnet.robotics.nxt.nxthacking, Rasmus Pedersen wrote:
> > Hi,
> >
> > If I compile the LEGO firmware sources with gcc, the code size increases much
> > beyond the 128 KB (which I think) the IAR compiled sources fits into. That means
> > that one have to relocate part of the compiled code into the memory areas
> > between 128KB-256KB. That is ok, but not totally optimal as the files,
> > filehandles, and file verion info is also in that region making it a puzzle.
> > Also I think it is hard to download new files if the flash is partly taken for
> > code purposes.
>
> Are you adjusting these values in d_loader.h?
>
> #define STARTOFFILETABLE (0x13FF00L)
> #define STARTOFUSERFLASH (0x11F000L)
> #define SIZEOFUSERFLASH (STARTOFFILETABLE - STARTOFUSERFLASH)
>
> I've been told by folks at LEGO that if I grow the size of the firmware by
> adding new features that I will need to modify these values. And the boundary
> needs to be divisible by 8.
More precisely, I was told to increase the STARTOFUSERFLASH value if I increased
the firmware size beyond the current value. The unmodified source code compiles
to 121324 bytes using the current evaluation version of the IAR Embedded
Workbench (4.41.1.201). The STARTOFUSERFLASH is 0x1F000 which is 126976. That
means with IAR we have about 5652 bytes to play with before it will be necessary
to increase the STARTOFUSERFLASH value.
John Hansen
|
|
Message has 1 Reply:
Message is in Reply To:
11 Messages in This Thread:
- Entire Thread on One Page:
- Nested:
All | Brief | Compact | Dots
Linear:
All | Brief | Compact
This Message and its Replies on One Page:
- Nested:
All | Brief | Compact | Dots
Linear:
All | Brief | Compact
|
|
|
|