Go to Post Two robots run in to a bar, the third one had a better driver - Wayne Doenges [more]
Home
Go Back   Chief Delphi > Technical > Programming
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Closed Thread
Thread Tools Rate Thread Display Modes
  #1   Spotlight this post!  
Unread 16-01-2004, 08:59
Larry Barello Larry Barello is offline
http://www.barello.net
#0492 (Titan Robotics Club)
Team Role: Mentor
 
Join Date: Jan 2002
Location: Bellevue, WA
Posts: 85
Larry Barello has a spectacular aura aboutLarry Barello has a spectacular aura about
Explain this link error?

I have a generalized buffered serial I/O module. The problem is that the linker barfs if I declare more than ~200 bytes of memory in the module.

Looking at the linker map output, I see that the particular module data is loaded after the stack (0x700) which indeed leaves about 200 bytes free. The weird thing is that all the rest of ram stops before 0x300, so there is a 0x300 byte hole in my memory.

Any hints as to why and how I can move my module lower so I can declare my buffers?

Side question: any reason why I couldn't move the stack to 0x700? It makes it a tad smaller... Final question: given the tools we have is there anyway to determine how much stack is being used? I know printf uses at least 50 bytes.
  #2   Spotlight this post!  
Unread 16-01-2004, 11:06
Jeremy_Mc's Avatar
Jeremy_Mc Jeremy_Mc is offline
GitHubber
no team
Team Role: Mentor
 
Join Date: Feb 2002
Rookie Year: 2002
Location: Orlando, FL
Posts: 496
Jeremy_Mc will become famous soon enoughJeremy_Mc will become famous soon enough
Re: Explain this link error?

Quote:
Originally Posted by Larry Barello
I have a generalized buffered serial I/O module. The problem is that the linker barfs if I declare more than ~200 bytes of memory in the module.

Looking at the linker map output, I see that the particular module data is loaded after the stack (0x700) which indeed leaves about 200 bytes free. The weird thing is that all the rest of ram stops before 0x300, so there is a 0x300 byte hole in my memory.

Any hints as to why and how I can move my module lower so I can declare my buffers?

Side question: any reason why I couldn't move the stack to 0x700? It makes it a tad smaller... Final question: given the tools we have is there anyway to determine how much stack is being used? I know printf uses at least 50 bytes.
I'm not well-versed in the way of the stack, so I can't help you there...

but I do believe MPLAB has a tool to view the stack/memory. Check the Help File for where it's at.
__________________
GitHub - Collaborate on code, documentation, etc. - http://github.com
Closed Thread


Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Basic Run Error BBFIRSTCHICK Programming 10 02-04-2003 22:43
EMERGENCY! EPROM FULL error?!? CHSguard72 Programming 2 05-03-2003 20:51
To CHIEF DELPHI, link permission archiver 2001 1 24-06-2002 03:04
Basic Run Error Ulibrium Programming 12 21-02-2002 01:02
programming error agenova Programming 1 20-02-2002 13:00


All times are GMT -5. The time now is 08:43.

The Chief Delphi Forums are sponsored by Innovation First International, Inc.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi