EmbeddedRelated.com
Forums
The 2024 Embedded Online Conference

F5438 memory issue

Started by richdinoso March 31, 2010
I'm using the msp430f5438 and IAR EW. The 5438 has 16k of RAM, but when I use more than 6k, I get stuck on a function called __data20_memzero. The program never gets to main. If I reduce memory consumption to below 6k approx, everything works fine. My linker file correctly maps the 16k of RAM:
-Z(DATA)DATA16_I,DATA16_Z,DATA16_N,DATA16_HEAP+_DATA16_HEAP_SIZE00-5BFF
-Z(DATA)DATA20_I,DATA20_Z,DATA20_N,DATA20_HEAP+_DATA20_HEAP_SIZE
-Z(DATA)CSTACK+_STACK_SIZE#
I would really like to use more than 6k on this chip. Any help would be appreciated. Thank you.

Beginning Microcontrollers with the MSP430

I meant __data16_memzero not __data20_memzero.

--- In m..., "richdinoso" wrote:
>
> I'm using the msp430f5438 and IAR EW. The 5438 has 16k of RAM, but when I use more than 6k, I get stuck on a function called __data20_memzero. The program never gets to main. If I reduce memory consumption to below 6k approx, everything works fine. My linker file correctly maps the 16k of RAM:
> -Z(DATA)DATA16_I,DATA16_Z,DATA16_N,DATA16_HEAP+_DATA16_HEAP_SIZE00-5BFF
> -Z(DATA)DATA20_I,DATA20_Z,DATA20_N,DATA20_HEAP+_DATA20_HEAP_SIZE
> -Z(DATA)CSTACK+_STACK_SIZE#
> I would really like to use more than 6k on this chip. Any help would be appreciated. Thank you.
>

Not sure what the problem is. But it sounds like the c-start-up code did not disable the Watch-dog and caused a reset in the middle of zeroing your RAM.

--- In m..., "richdinoso" wrote:
>
> I'm using the msp430f5438 and IAR EW. The 5438 has 16k of RAM, but when I use more than 6k, I get stuck on a function called __data20_memzero. The program never gets to main. If I reduce memory consumption to below 6k approx, everything works fine. My linker file correctly maps the 16k of RAM:
> -Z(DATA)DATA16_I,DATA16_Z,DATA16_N,DATA16_HEAP+_DATA16_HEAP_SIZE00-5BFF
> -Z(DATA)DATA20_I,DATA20_Z,DATA20_N,DATA20_HEAP+_DATA20_HEAP_SIZE
> -Z(DATA)CSTACK+_STACK_SIZE#
> I would really like to use more than 6k on this chip. Any help would be appreciated. Thank you.
>

On 2010-04-01 00:42, old_cow_yellow wrote:
> Not sure what the problem is. But it sounds like the c-start-up code did
> not disable the Watch-dog and caused a reset in the middle of zeroing
> your RAM.

That sounds about right, the IAR cstartup does not disable the watchdog.
We follow the TI recommendation that this should be done in the
__low_level_init routine that the application provides.

Alternatively, you can modify cstartup and add it to your application,
there are instructions in it on how to disable the watchdog.

-- Anders Lindgren, IAR Systems
--
Disclaimer: Opinions expressed in this posting are strictly my own and
not necessarily those of my employer.

still the same... watchdog is probably timing out... you need to disable it before main..

either by a custom cstartup or by the __low_level_  function..
--- On Wed, 3/31/10, richdinoso wrote:

From: richdinoso
Subject: [msp430] Re: F5438 memory issue
To: m...
Date: Wednesday, March 31, 2010, 6:30 PM

 





I meant __data16_memzero not __data20_memzero.

--- In msp430@yahoogroups. com, "richdinoso" wrote:

>

> I'm using the msp430f5438 and IAR EW. The 5438 has 16k of RAM, but when I use more than 6k, I get stuck on a function called __data20_memzero. The program never gets to main. If I reduce memory consumption to below 6k approx, everything works fine. My linker file correctly maps the 16k of RAM:

> -Z(DATA)DATA16_ I,DATA16_ Z,DATA16_ N,DATA16_ HEAP+_DATA16_ HEAP_SIZE= 1C00-5BFF

> -Z(DATA)DATA20_ I,DATA20_ Z,DATA20_ N,DATA20_ HEAP+_DATA20_ HEAP_SIZE

> -Z(DATA)CSTACK+ _STACK_SIZE#

>

>

> I would really like to use more than 6k on this chip. Any help would be appreciated. Thank you.

>













The 2024 Embedded Online Conference