Truncated match.
PICList
Thread
'Migration problem: C84 to C54'
1997\04\24@104426
by
Harrison Cooper
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_OUThcooperTakeThisOuT
corp.es.com
1997\04\24@110012
by
Tim Payne
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: .....timpayneKILLspam
@spam@minn.net
********************************************
1997\04\24@110232
by
Don McKenzie
|
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?
>
> hcooper
KILLspamcorp.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 .....donKILLspam
.....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_OUT
TakeThisOuTdontronics.com for more info.
1997\04\24@115135
by
David W. Duley
|
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?
hcooper
spam_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
>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
|
In message <@spam@199704241441.IAA03943KILLspam
vidiot2.corp.es.com> KILLspamPICLISTKILLspam
MITVMA.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?
>
> RemoveMEhcooperTakeThisOuT
corp.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
|
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
|
Harrison Cooper <spamBeGonePICLISTspamBeGone
MITVMA.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 - TakeThisOuTfastfwdEraseME
spam_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...