Looks like the interrupt handlers, which have to be in low memory, are too
big.

Peter

On Thu, Feb 28, 2013 at 10:47 AM, Daniel Sulik <d...@meta-designs.com> wrote:

> 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_Design#Attributes_controlling_object_placementand
>  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

Reply via email to