Searching \ for 'Migration problem: C84 to C54' in subject line. ()
Make payments with PayPal - it's fast, free and secure! Help us get a faster server
FAQ page: www.piclist.com/techref/index.htm?key=c84+c54
Search entire site for: 'Migration problem: C84 to C54'.

Truncated match.
PICList Thread
'Migration problem: C84 to C54'
1997\04\24@104426 by Harrison Cooper

flavicon
face
I tend to do development work with a '84 since you don't have to keep
erasing and waiting, etc.  I have done this in the past with the final
target being a C54. The latest project I got it working fine with the
C84 and then changed the processor to C54, compiled and burned a window
part (C54), but the thing wouldn't work...tried also with a target of
a C71, again...would not work. Am I missing something here? I would think
that as long as you stayed within the memory bounds, etc...it should
target and burn and run in any of these parts.   I suppose I could shrug
it off and use a C84 part, but its more expensive, and being a good engineer
I wanna found out why this is happening. Any thoughts?

spam_OUThcooperTakeThisOuTspamcorp.es.com

1997\04\24@110012 by Tim Payne

flavicon
face
I'm about to buy the PIC-MDS System PIC developement system from
Sirius MicroSystems and was wondering if anyone had any comments
on the system or Sirius MicroSystems.  Good or Bad...
Thanks in advance....

-Tim

***********      Tim Payne     *************
        Ham Radio Station - N9ABK
       Internet: .....timpayneKILLspamspam@spam@minn.net
********************************************

1997\04\24@110232 by Don McKenzie

flavicon
face
Harrison Cooper wrote:
>
> I tend to do development work with a '84 since you don't have to keep
> erasing and waiting, etc.  I have done this in the past with the final
> target being a C54. The latest project I got it working fine with the
> C84 and then changed the processor to C54, compiled and burned a window
> part (C54), but the thing wouldn't work...tried also with a target of
> a C71, again...would not work. Am I missing something here? I would think
> that as long as you stayed within the memory bounds, etc...it should
> target and burn and run in any of these parts.   I suppose I could shrug
> it off and use a C84 part, but its more expensive, and being a good engineer
> I wanna found out why this is happening. Any thoughts?
>
> hcooperspamKILLspamcorp.es.com

The 2 level verses 8 level stack will knock you over every time it it is
exceeded. Perhaps this is the problem. I guess it depends on what you
mean by etc. There are other nasties, however why not forget the 54 and
go for a 61? These are closer to the 84 and I think you will find, will
be less problems for future development.

Don McKenzie  .....donKILLspamspam.....dontronics.com   http://www.dontronics.com

PICSTART and Newfound PIC Programmers Firmware Upgrades.
SLI, the serial LCD that auto detects baud rates from 100 to 125K bps.
SimmStick(tm) A PIC proto PCB the size of a 30 pin Simm Memory Module.
Send a blank message to EraseMEhelpspam_OUTspamTakeThisOuTdontronics.com for more info.

1997\04\24@115135 by David W. Duley

picon face
In a message dated 97-04-24 10:47:47 EDT, you write:

<<
I tend to do development work with a '84 since you don't have to keep
erasing and waiting, etc.  I have done this in the past with the final
target being a C54. The latest project I got it working fine with the
C84 and then changed the processor to C54, compiled and burned a window
part (C54), but the thing wouldn't work...tried also with a target of
a C71, again...would not work. Am I missing something here? I would think
that as long as you stayed within the memory bounds, etc...it should
target and burn and run in any of these parts.   I suppose I could shrug
it off and use a C84 part, but its more expensive, and being a good engineer
I wanna found out why this is happening. Any thoughts?

hcooperspamspam_OUTcorp.es.com
 >>
Hello!
Have you changed the restart vectors for the C54?  The vectors are at
different locations.  The C54's vector is at 0x1ff  and the C84's
vectors(plural) are at 0x00 and 0x04 for the respective reset and interupt
vector.  Also there are a few internal differences. (interupts and A4 on the
C84)  You will also need to reassemble the source code with the C54 as the
target processor.

Dave Duley
V.P. DreiTek Inc.

1997\04\24@120413 by Andy Kunz
flavicon
face
>target being a C54. The latest project I got it working fine with the
>C84 and then changed the processor to C54, compiled and burned a window
>part (C54), but the thing wouldn't work...tried also with a target of
<snip>

"Doesn't work" might be fine for Microsoft to blame somebody else, but not
descriptive enough here.

Check the electrical specs on your parts and the operation of your circuit.
The '5x has 0=.15Vcc, 1=.35Vcc.  Most if not all newer ones have 0=.15Vcc,
1=.85Vcc.  That leaves a much bigger gray area between them.

Andy

==================================================================
Andy Kunz - Montana Design - 409 S 6th St - Phillipsburg, NJ 08865
         Hardware & Software for Industry & R/C Hobbies
       "Go fast, turn right, and keep the wet side down!"
==================================================================

1997\04\24@131502 by mike

flavicon
picon face
In message  <@spam@199704241441.IAA03943KILLspamspamvidiot2.corp.es.com> KILLspamPICLISTKILLspamspamMITVMA.MIT.EDU
writes:
> I tend to do development work with a '84 since you don't have to keep
> erasing and waiting, etc.  I have done this in the past with the final
> target being a C54. The latest project I got it working fine with the
> C84 and then changed the processor to C54, compiled and burned a window
> part (C54), but the thing wouldn't work...tried also with a target of
> a C71, again...would not work. Am I missing something here? I would think
> that as long as you stayed within the memory bounds, etc...it should
> target and burn and run in any of these parts.   I suppose I could shrug
> it off and use a C84 part, but its more expensive, and being a good engineer
> I wanna found out why this is happening. Any thoughts?
>
> RemoveMEhcooperTakeThisOuTspamcorp.es.com
>
Harrison,

I don't know what you're doing in your code, but I seem to remember
that the adc on a C71 needs to be switched off before the port will
operate properly. (I may be thinking of the C73 though).

Regards,


Mike Watson

1997\04\24@132309 by myke predko

flavicon
face
Harrison Cooper wrote:
>I tend to do development work with a '84 since you don't have to keep
>erasing and waiting, etc.  I have done this in the past with the final
>target being a C54. The latest project I got it working fine with the
>C84 and then changed the processor to C54, compiled and burned a window
>part (C54), but the thing wouldn't work...tried also with a target of
>a C71, again...would not work. Am I missing something here? I would think
>that as long as you stayed within the memory bounds, etc...it should
>target and burn and run in any of these parts.   I suppose I could shrug
>it off and use a C84 part, but its more expensive, and being a good engineer
>I wanna found out why this is happening. Any thoughts?

As was pointed out, you cannot go directly from an '84 to a '54 without
changing:
1.  The Reset Vector
2.  The Depth of the Stack Calls (Maximum of 2 in the '54 as opposed to 8 in
the '84)
3.  Bank 1 Register accesses (there is no "RP0" bit in the '54) have to be
changed to "tris" and "option" instructions.
4.  File Register relocation (in the '84 file Registers start at 0x00C and
in the '54 file Registers start at 0x007) and smaller size.

Putting the application in the '71 probably didn't work because RA0-RA3 boot
up as Analog Inputs (This has to be changed before they can be used for
anything else).

Don MacKenzie suggested putting the application on the '61, which should be
possible without any change to the code.

If you have a price sensitive application I would suggest the 554, which you
will have to relocate your file registers (They start at address 0x020), but
the parts cost the same as the '54.

Relocating file register addresses can be done pretty easily - Define the
file registers using a "CBLOCK" statement and change the "CBLOCK" starting
address based on the PIC the code is going to be burned into.

Good Luck,

myke

"My ancestors didn't spend millions of years clawing their way to the top of
the food chain, just so I could become a vegetarian"

1997\04\24@132704 by Andrew Warren

face
flavicon
face
Harrison Cooper <spamBeGonePICLISTspamBeGonespamMITVMA.MIT.EDU> wrote:

> I got it working fine with the C84 and then changed the processor
> to C54, compiled and burned a window part (C54), but the thing
> wouldn't work...

   Harrison:

   There are a number of differences between the '54 and the '84:

   1.  The '54's reset vector is at 01FF; the '84's is at 0000.

   2.  The '54 has a 2-level stack; the '84 has an 8-level stack.

   3.  On the '54, subroutine entry poiints must be located between
       addresses [0000- 00FF]; there's no such restriction on the
       '84.

   4.  On the '54, computed jumps ("ADDWF PC", etc,) can only jump
       to locations on Page 0 (0000 -00FF); on the '84, they can be
       used to jump anywhere in teh memory space.

   5.  On the '54, registers 07 through 1F are General-Purpose File
       Registers; on the '84, the General-Purpose File Registers
       range from 0C through 2F (or 4F if you're using an 'F84).

   6.  The '54 has no weak pullups on port B, no interrupts, and no
       onboard data EEPROM (of course).

   7.  The FSR, STATUS, and OPTION registers are different.

   8.  The 16C84 has more code space (of course).

   The above is probably not complete; it's just a list of the
   items I could think of off the top of my head.

> tried also with a target of a C71, again...would not work.

   The 16C71 is much more similar to the '84 than the '54 is...
   Butthere are still a couple of differences.  The most important
   one is that the 16C71's ADCON1 register (which controls the A/D
   Port Configuration) defaults pins RA0, RA1, RA2, and RA3 to
   ANALOG inputs.

   -Andy

=== Andrew Warren - TakeThisOuTfastfwdEraseMEspamspam_OUTix.netcom.com
=== Fast Forward Engineering, Vista, California
=== http://www.geocities.com/SiliconValley/2499

More... (looser matching)
- Last day of these posts
- In 1997 , 1998 only
- Today
- New search...