.data section in external ram

Go To Last Post
4 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

How do I place everything in external ram?

I use this in the makefile:
EXTMEMOPTS = -Wl,--section-start,.data=0x802200,--defsym=__heap_end=0x80ffff

but still get this in my map file:

Memory Configuration

Name Origin Length Attributes
text 0x00000000 0x00020000 xr
data 0x00800060 0x0000ffa0 rw !x
eeprom 0x00810000 0x00010000 rw !x
*default* 0x00000000 0xffffffff

I am having an issue using atmega1280, gcc, avrstudio, when I have an array[3200] for a fifo input buffer on a serial port. I send packets of 200 bytes, when I get to the 16th packet it locks up and I get a watchdog reset. But if I reduce the size to 3000 I don't get the problem, and when I increase the size to 7200, I still get the problem at the 16th packet. I am pretty sure the code is correct for the fifo buffering, as I have used it with many projects, I have a feelin it is a memory issue.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

With the array set at 3000 I am having problems with another variable array that is located after.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Looks to me as if you have a comma after --section-start

That's supposed to be an '=' isn't it?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I used mfile to create that line.

I now uncommented the line
EXTMEMOPTS = -Wl,-Tdata=0x802200,--defsym=__heap_end=0x80ffff

-changed from 1100 to 2200 because of more internal memory.