Unable to use LARGE MEMORY MODEL with RH GCC

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

Unable to use LARGE MEMORY MODEL with RH GCC

Devaiah Chendanda
Hi,

Thank you for the update on the new version of RH GCC.

I am currently working on MSP430F5438A and using CCSV6 with RH GCC 4.8.0(The latest version). But I am unable to write/read data to/from high memory area. It seems like the compiler is somehow not able to generate 20-bit address.

I have also defined the symbol "__LARGE_DATA_MODEL__"  , but I find no difference.

Also, supplying the flag "-mlarge" is unexpectedly disabling the interrupts!!

Could you please let me if there is a solution available for this??

Regards,
Devaiah Chendanda

------------------------------------------------------------------------------
Time is money. Stop wasting it! Get your web API in 5 minutes.
www.restlet.com/download
http://p.sf.net/sfu/restlet
_______________________________________________
Mspgcc-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mspgcc-users
Reply | Threaded
Open this post in threaded view
|

Re: Unable to use LARGE MEMORY MODEL with RH GCC

DJ Delorie

The right way to enable large model is to use -mlarge

If that causes problems, we'd need to know more about the problem to
try to diagnose it.

Note that adding -mlarge means that *all* objects and libraries must
be recompiled with -mlarge, you can't mix and match large and small
model.

------------------------------------------------------------------------------
Time is money. Stop wasting it! Get your web API in 5 minutes.
www.restlet.com/download
http://p.sf.net/sfu/restlet
_______________________________________________
Mspgcc-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mspgcc-users
Reply | Threaded
Open this post in threaded view
|

Re: Unable to use LARGE MEMORY MODEL with RH GCC

Devaiah Chendanda
Thank you for Delorie for the quick response!!

Please, find the my project settings in CCSv6 that I am currently using:

1. Under "General" Tab -> Variant: MSP430F5438A.
     In "Advance Settings(Under Genaral tab)" ->
          Compiler Version: GNU v4.8.0(Red Hat)
           Linker command file: msp430f5438a.ld
           Runtime support library: libc.a (NOTE: Compiler generates the following error when I choose the
                                                               "libc.a"  file present in "/large/libc.a" -- "cannot find -l/home/devaiahchendanda/ti/ccsv6/tools/compiler/gcc_msp430_4.8.371/msp430-elf/lib/large/libc"

2. Under "GNU Compiler --> Runtime"
        Target MCU(-mmcu) : MSP430x
         Symbols : [I have defined the following 3 symbols: ]
                           __LARGE_DATA_MODEL__
                           __LARGE_MEMORY_MODEL__
                           __MSP430F5438A__                                                                          
3. I have also tried including the PATH -- "/home/devaiahchendanda/ti/ccsv6/tools/compiler/gcc_msp430_4.8.371/msp430-elf/lib/large" in "Directories-->Include path" but this didn't help.

4. Optimization Level: None also, I have enabled "-fdata-sections" & "-ffunction-sections".

5. under "Miscellaneous" Tab I have entered "-mlarge".

6. I have not changed anything in "GNU Linker" Tab. All settings are default.

SORRY, for writing a very long mail, this is with an intention to let you know if I am missing anything here.

Thank you,

Regards,
Devaiah Chendanda


________________________________________
From: DJ Delorie <[hidden email]>
Sent: Thursday, May 29, 2014 9:34 PM
To: Devaiah Chendanda
Cc: [hidden email]
Subject: Re: [Mspgcc-users] Unable to use LARGE MEMORY MODEL with RH GCC

The right way to enable large model is to use -mlarge

If that causes problems, we'd need to know more about the problem to
try to diagnose it.

Note that adding -mlarge means that *all* objects and libraries must
be recompiled with -mlarge, you can't mix and match large and small
model.

------------------------------------------------------------------------------
Time is money. Stop wasting it! Get your web API in 5 minutes.
www.restlet.com/download
http://p.sf.net/sfu/restlet
_______________________________________________
Mspgcc-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mspgcc-users
Reply | Threaded
Open this post in threaded view
|

Re: Unable to use LARGE MEMORY MODEL with RH GCC

DJ Delorie

Sorry, I don't know anything about CCS, just about the gnu tools
themselves.  You'll have to wait for someone from TI to reply.

------------------------------------------------------------------------------
Time is money. Stop wasting it! Get your web API in 5 minutes.
www.restlet.com/download
http://p.sf.net/sfu/restlet
_______________________________________________
Mspgcc-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mspgcc-users
Reply | Threaded
Open this post in threaded view
|

Re: Unable to use LARGE MEMORY MODEL with RH GCC

Eric Decker
In reply to this post by Devaiah Chendanda
CCS is Code Composer Studio which is basically a gui front end to the gcc
toolchain.

Devaiah, there should be a way to examine the logs to see exactly what
command lines and switches are being generated to the toolchain when it
gets invoked by CCS.

You'll have to figure out how to go see those logs.



On Thu, May 29, 2014 at 11:37 PM, Devaiah Chendanda <[hidden email]>
wrote:

> Thank you for Delorie for the quick response!!
>
> Please, find the my project settings in CCSv6 that I am currently using:
>
> 1. Under "General" Tab -> Variant: MSP430F5438A.
>      In "Advance Settings(Under Genaral tab)" ->
>           Compiler Version: GNU v4.8.0(Red Hat)
>            Linker command file: msp430f5438a.ld
>            Runtime support library: libc.a (NOTE: Compiler generates the
> following error when I choose the
>                                                                "libc.a"
>  file present in "/large/libc.a" -- "cannot find
> -l/home/devaiahchendanda/ti/ccsv6/tools/compiler/gcc_msp430_4.8.371/msp430-elf/lib/large/libc"
>
> 2. Under "GNU Compiler --> Runtime"
>         Target MCU(-mmcu) : MSP430x
>          Symbols : [I have defined the following 3 symbols: ]
>                            __LARGE_DATA_MODEL__
>                            __LARGE_MEMORY_MODEL__
>                            __MSP430F5438A__
> 3. I have also tried including the PATH --
> "/home/devaiahchendanda/ti/ccsv6/tools/compiler/gcc_msp430_4.8.371/msp430-elf/lib/large"
> in "Directories-->Include path" but this didn't help.
>
> 4. Optimization Level: None also, I have enabled "-fdata-sections" &
> "-ffunction-sections".
>
> 5. under "Miscellaneous" Tab I have entered "-mlarge".
>
> 6. I have not changed anything in "GNU Linker" Tab. All settings are
> default.
>
> SORRY, for writing a very long mail, this is with an intention to let you
> know if I am missing anything here.
>
> Thank you,
>
> Regards,
> Devaiah Chendanda
>
>
> ________________________________________
> From: DJ Delorie <[hidden email]>
> Sent: Thursday, May 29, 2014 9:34 PM
> To: Devaiah Chendanda
> Cc: [hidden email]
> Subject: Re: [Mspgcc-users] Unable to use LARGE MEMORY MODEL with RH GCC
>
> The right way to enable large model is to use -mlarge
>
> If that causes problems, we'd need to know more about the problem to
> try to diagnose it.
>
> Note that adding -mlarge means that *all* objects and libraries must
> be recompiled with -mlarge, you can't mix and match large and small
> model.
>
>
> ------------------------------------------------------------------------------
> Time is money. Stop wasting it! Get your web API in 5 minutes.
> www.restlet.com/download
> http://p.sf.net/sfu/restlet
> _______________________________________________
> Mspgcc-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/mspgcc-users
>


--
Eric B. Decker
Senior (over 50 :-) Researcher

------------------------------------------------------------------------------
Time is money. Stop wasting it! Get your web API in 5 minutes.
www.restlet.com/download
http://p.sf.net/sfu/restlet
_______________________________________________
Mspgcc-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mspgcc-users
Reply | Threaded
Open this post in threaded view
|

Re: Unable to use LARGE MEMORY MODEL with RH GCC

Grant Edwards-6
On 2014-05-30, Eric Decker <[hidden email]> wrote:

> CCS is Code Composer Studio which is basically a gui front end to the
> gcc toolchain.

Is that thing still around?  It used to be so bad that the TI FAE I
knew told everybody to avoid it at all costs and referred to it as
"Code Composter".  Perhaps it's improved...


Remember: an IDE is no substitute for knowing how to use the
underlying toolchain.

--
Grant


------------------------------------------------------------------------------
Time is money. Stop wasting it! Get your web API in 5 minutes.
www.restlet.com/download
http://p.sf.net/sfu/restlet
_______________________________________________
Mspgcc-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mspgcc-users
Reply | Threaded
Open this post in threaded view
|

Re: Unable to use LARGE MEMORY MODEL with RH GCC

Dannenberg, Andreas
In reply to this post by Devaiah Chendanda
Devaiah et al.,
the current RH GCC that is available standalone (build 317) and also part of CCSv6.0.0 does not yet support automatically distributing code beyond the "64KB boundary". This is a major limitation and that's one of  the reasons why we still consider this toolchain "beta". However there is an enhancement request filed against the tools (#4562633 - Linker does not distribute code in available ROM memory regions
GCC linker cannot access memory >64k automatically) and the folks at RH as well as our own TI folks are currently working on having this addressed for the "GA" version of RH GCC for MSP430 which is planned to be released sometime in July. While we are at it there are also some improvements to the GDB Agent on the near-term radar screen.

Sorry for all the confusion this 64K issue caused, I just had a quick look into CCS release notes and a few other places and I could not see this officially documented as an issue (but I may have missed it).

Regards,
Andres Dannenberg

Applications Manager, MSP New Product Development * Ultra-Low Power MCUs
Texas Instruments, Inc. * Dallas, TX, U.S.A. * +1 (214) 567-5550


-----Original Message-----
From: Devaiah Chendanda [mailto:[hidden email]]
Sent: Friday, May 30, 2014 1:37 AM
To: [hidden email]
Subject: Re: [Mspgcc-users] Unable to use LARGE MEMORY MODEL with RH GCC

Thank you for Delorie for the quick response!!

Please, find the my project settings in CCSv6 that I am currently using:

1. Under "General" Tab -> Variant: MSP430F5438A.
     In "Advance Settings(Under Genaral tab)" ->
          Compiler Version: GNU v4.8.0(Red Hat)
           Linker command file: msp430f5438a.ld
           Runtime support library: libc.a (NOTE: Compiler generates the following error when I choose the
                                                               "libc.a"  file present in "/large/libc.a" -- "cannot find -l/home/devaiahchendanda/ti/ccsv6/tools/compiler/gcc_msp430_4.8.371/msp430-elf/lib/large/libc"

2. Under "GNU Compiler --> Runtime"
        Target MCU(-mmcu) : MSP430x
         Symbols : [I have defined the following 3 symbols: ]
                           __LARGE_DATA_MODEL__
                           __LARGE_MEMORY_MODEL__
                           __MSP430F5438A__                                                                          
3. I have also tried including the PATH -- "/home/devaiahchendanda/ti/ccsv6/tools/compiler/gcc_msp430_4.8.371/msp430-elf/lib/large" in "Directories-->Include path" but this didn't help.

4. Optimization Level: None also, I have enabled "-fdata-sections" & "-ffunction-sections".

5. under "Miscellaneous" Tab I have entered "-mlarge".

6. I have not changed anything in "GNU Linker" Tab. All settings are default.

SORRY, for writing a very long mail, this is with an intention to let you know if I am missing anything here.

Thank you,

Regards,
Devaiah Chendanda


________________________________________
From: DJ Delorie <[hidden email]>
Sent: Thursday, May 29, 2014 9:34 PM
To: Devaiah Chendanda
Cc: [hidden email]
Subject: Re: [Mspgcc-users] Unable to use LARGE MEMORY MODEL with RH GCC

The right way to enable large model is to use -mlarge

If that causes problems, we'd need to know more about the problem to try to diagnose it.

Note that adding -mlarge means that *all* objects and libraries must be recompiled with -mlarge, you can't mix and match large and small model.

------------------------------------------------------------------------------
Time is money. Stop wasting it! Get your web API in 5 minutes.
www.restlet.com/download
http://p.sf.net/sfu/restlet
_______________________________________________
Mspgcc-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mspgcc-users

------------------------------------------------------------------------------
HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
Find What Matters Most in Your Big Data with HPCC Systems
Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
Leverages Graph Analysis for Fast Processing & Easy Data Exploration
http://p.sf.net/sfu/hpccsystems
_______________________________________________
Mspgcc-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mspgcc-users
Reply | Threaded
Open this post in threaded view
|

bugs and feature requests logged against msp430 gcc (was: Re: Unable to use LARGE MEMORY MODEL with RH GCC)

Friedrich Lobenstock
Hello Mr. Dannenberg!

Dannenberg, Andreas wrote on 2014-06-10 04:11 MET:
> .. we still consider this toolchain "beta". However there is an
> enhancement request filed against the tools (#4562633 - Linker does
> not distribute code in available ROM memory regions GCC linker cannot
> access memory >64k automatically)

As a user logged in to TI.com, where can I find those bugs and feature
requests logged against msp430 gcc?

--
MfG / Regards
Friedrich Lobenstock


------------------------------------------------------------------------------
New Year. New Location. New Benefits. New Data Center in Ashburn, VA.
GigeNET is offering a free month of service with a new server in Ashburn.
Choose from 2 high performing configs, both with 100TB of bandwidth.
Higher redundancy.Lower latency.Increased capacity.Completely compliant.
http://p.sf.net/sfu/gigenet
_______________________________________________
Mspgcc-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mspgcc-users