Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

[ARM] PIC24FJ128GA310 not enough memory

Status
Not open for further replies.

Rikr09

Member level 3
Joined
Feb 14, 2013
Messages
59
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,286
Activity points
1,745
Hello Edaboard friends, i am developing a firmware with the PIC24FJ128GA310 but i have not memory enough, there is an error which says that is over 41832 PC units. I used the optimization code of the XC16 compiler on the PRO version (30 days test) and the normal version, but both, on execution time damage some variables and so on the firmware be damage.

I dont know what to do, change the micro is not a option beacuse we have a great production of board with this micro. I hope you can help me.

Thanks!
 

Without seeing your code it's hard to guess, anyway I would give a blind hint, recommend you to check if it is possible to replace functions from standard libraries by your own ones.
 

Without seeing your code it's hard to guess, anyway I would give a blind hint, recommend you to check if it is possible to replace functions from standard libraries by your own ones.

Ok, thanks for your answer i will check this. Is difficult to upload my code because is so large.
 

there is an error which says that is over 41832 PC units
If "PC units" means memory words there won't be an error because FJ128 has 44k memory words.

but both, on execution time damage some variables and so on the firmware be damage
Please try to repeat in understandable words.

Seeing an error in code execution suggests that it could be compiled, so there can't be a compilation error.
If you have just arbitrary errors in program operation, it must not be related to high flash utilization at all, are you jumping in conclusions?
 

As others have said, you have told us very little for us to assist you.
However a couple of points:
- if you are saying there is not enough FLASH (program) memory and using the optimiser does not help, then you would not have been able to load it into the device in the first place.
- If you are saying the program (in FLASH memory) is changing then you either have a broken device or you have programmed code in yourself to perform 'run time self programming' (RTSP) in which case there is a bug in your code
- therefore I *assume* the problem is that you are incorrectly altering variables stored in RAM. There are a number of common causes for this such as pointers going wild, incorrect parameters begin passed to functions, index variables exceeding the size of the array they are indexing etc..
If you have a production board already then did you have working code that you are altering? If so then it could well be the new fault is in the part of the code that you have added.
You could try taking away code sections and see if the problem remains. That might help you isolate the code section with the error.
However this is all just a guess without better information and source code.
Susan
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top