Hi Peter,
1) I added things up and checked. There is definitely enough memory
space. Code takes about 45kB, the chip has total 92kB ROM.
45KB is slightly above 44kB I allocated in my custom linker script.
2) I added __attribute__ ((__far__)) to one of the bigger functions and
it helped.
3)
4) My bootloader implements interrupts jump table and passes irqs to
the application.
5)
I did more investigations and noticed when I added the following code and
removed the above attribute it was also working. Any idea?
static void (*f[])(void) =
{
EmptyF,
F11Inc, F12Inc, F20Inc, F21Inc, F22Inc, EmptyF,
TBOverFlow
};
interrupt (TIMERB1_VECTOR) __TimerBCC_ISR (void)
{
f[TBIV >> 1] ();
}
Thnx
Dan
From: pabi...@gmail.com [mailto:pabi...@gmail.com] On Behalf Of Peter Bigot
Sent: 27 February 2013 23:34
To: Daniel Sulik
Cc: GCC for MSP430 - http://mspgcc.sf.net
Subject: Re: [Mspgcc-users] problem building app for large memory model
msp430 gcc 4.7.0
Several possibilities:
1) I don't recall you saying you'd added things up and checked, so it's
possible that there simply isn't enough memory on the device.
2) Certain code and perhaps data must be placed in near memory for
references to work. Interrupt handlers are one example. This is a special
case of (1), and you'd have to add things up to see if it's even possible to
make things work.
3) I didn't implement a solution to the knapsack problem in the linker, so
it may be that greedy placement of data in near or far sections ends up in a
corner with no solution. For this, consult the attributes documented at
https://sourceforge.net/apps/mediawiki/mspgcc/index.php?title=Gcc47:20-Bit_D
esign#Attributes_controlling_object_placement and lay things out yourself.
4) Recall my suggestion there might be a problem with your linker script. I
just noticed your memory map puts the .vectors sector at 0xDFC0, which could
only work if you're being extremely tricky in your boot loader since the CPU
will be referencing them at 0xFFC0.
5) There's some other bug.
Unfortunately without seeing the actual code (which is out of scope for this
support forum) I don't have any other suggestions offhand.
Peter
On Wed, Feb 27, 2013 at 3:07 PM, Daniel Sulik <d...@meta-designs.com> wrote:
Yes, I am using those flags on compiling individual objects and at link time
as well.
I mostly see .any.text, .any.rodata, .any.data,
Dan
From: pabi...@gmail.com [mailto:pabi...@gmail.com] On Behalf Of Peter Bigot
Sent: 27 February 2013 21:47
To: Dan
Cc: mspgcc-users@lists.sourceforge.net
Subject: Re: [Mspgcc-users] problem building app for large memory model
msp430 gcc 4.7.0
Are you using all those flags when building the individual object files, or
only when linking? They need to be applied at compile time as well as at
link time. If they were being applied, the individual object files should
mostly not have anything in .text or .data, but instead have things in
.any.text and .any.data (or .near.data or .far.data, as appropriate). You
should be able to check that with msp430-objdump.
Peter
On Wed, Feb 27, 2013 at 2:39 PM, Dan <d...@meta-designs.com> wrote:
Hi Peter,
Yes, I thought so, neither that works. Overflowed by 10 bytes this time
only.
It builds OK without -mmemory-model=large option with the same script.
Unfortunately, I will need more than 64kB space soon and need to get it
working.
Any idea?
Thnx
Dan.
c:/mspgcc/bin/../lib/gcc/msp430/4.7.0/../../../../msp430/bin/ld.exe:
ht-r2001.elf section `.data' will not fit in region `rom'
c:/mspgcc/bin/../lib/gcc/msp430/4.7.0/../../../../msp430/bin/ld.exe: section
.vectors loaded at [0000dfc0,0000dfff] overlaps section .data loaded at
[0000defa,0000dfc9]
c:/mspgcc/bin/../lib/gcc/msp430/4.7.0/../../../../msp430/bin/ld.exe: region
`rom' overflowed by 10 bytes
----------------------------------------------------------------------------
--
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_feb
_______________________________________________
Mspgcc-users mailing list
Mspgcc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mspgcc-users
------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_feb
_______________________________________________
Mspgcc-users mailing list
Mspgcc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mspgcc-users