CCS C Software and Maintenance Offers
FAQFAQ   FAQForum Help   FAQOfficial CCS Support   SearchSearch  RegisterRegister 

ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

CCS does not monitor this forum on a regular basis.

Please do not post bug reports on this forum. Send them to support@ccsinfo.com

Porting 16C63 to 16C66

 
Post new topic   Reply to topic    CCS Forum Index -> General CCS C Discussion
View previous topic :: View next topic  
Author Message
Mother
Guest







Porting 16C63 to 16C66
PostPosted: Tue Apr 08, 2003 2:07 am     Reply with quote

I'm trying to port some code from the 16C63 to the 16C66, under MPLAB 5.00.00 with PCM 3.023. The code I have works on the 63 but, when compiled for the 66 it fails to run, despite having no changes other than the #device directive.

So far I've determined that the problem seems to be with serial I/O interrupts, as other parts of the code seem to be working. I've given the generated code in these areas a cursory examination, and it seems to be okay.

My next step is a comparison of the two assembly listings, but before I embark on that, does anybody know of any bugs that might account for the behaviour I'm seeing?
___________________________
This message was ported from CCS's old forum
Original Post ID: 13484
regan
Guest







Re: Porting 16C63 to 16C66
PostPosted: Tue Apr 08, 2003 5:15 am     Reply with quote

One important difference between the 63 and 66 chips is the memory mapping. The address ranges F0-FF,170-17F and 1F0-1FF are mapped to 70-7F on the 66. If you are currently using any RAM between F0 to FF, then you may experience problems. The other possibility is that the problem manifests itself because the compiler has had to adjust the allocation of RAM, in order to avoid these commonly addressed areas. Check your SYM file to see how the compiler has shifted the RAM around.


Regan.
___________________________
This message was ported from CCS's old forum
Original Post ID: 13487
Mother
Guest







Re: Porting 16C63 to 16C66
PostPosted: Tue Apr 08, 2003 5:57 am     Reply with quote

I haven't explicitly reserved any RAM areas, and I assume the compiler knows the architecture of the target processor. Most of the common RAM seems to be used for temporary storage.

I've only looked at the common RAM areas so far, but I'll check the entire symbol table as you suggest. Maybe I've overrun an array somewhere and its now adjacent to something more important than before.

Thanks for your help - you've given me some ideas to pursue. I'll post the solution (if and) when I find it!
___________________________
This message was ported from CCS's old forum
Original Post ID: 13489
Mother
Guest







Re: Porting 16C63 to 16C66
PostPosted: Mon Apr 14, 2003 8:05 am     Reply with quote

As I suspected, an array access that was out of bounds. How dull.
___________________________
This message was ported from CCS's old forum
Original Post ID: 13656
Display posts from previous:   
Post new topic   Reply to topic    CCS Forum Index -> General CCS C Discussion All times are GMT - 6 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group