Reply by Wade A Smith April 7, 20062006-04-07
> Date: Wed, 05 Apr 2006 12:34:48 -0400
> From: "Mark L. Cukier"
> Subject: Re: 9S12D64 and P&E Micro's Cyclone Pro
>
> Wade:
>
> The EEPROM requires a seperate algorithm, called
> "Freescale_MC9S12DJ64_1x16x512_1k_EEPROM.12P". As with all P&E
> algorithms, this is available as a free download (registration is
> required) from our website.
>
> The topic you are asking about (programming both FLASH and EEPROM in
> one
> step) has been outlined in our online forums here:
>
> http://www.pemicro.com/forums/index.php?showtopic=1092
>
> Regards,
> Mark
> P&E

I was asked to post this note from my co-worker:

My company recently purchased a Cyclone Pro from P&E Micro for the
purpose of loading a program into a Freescale MC9S12D64 microcontroller
in a production environment. We want to use the Stand-Alone Programmer
capabilities of the Cyclone Pro to load the D64 microcontroller on our
production boards. Our D64 program utilizes Flash and EEPROM memory.

After several days of intense effort we succeeded only in loading the
flash memory part of our program into the Cyclone Pro with the
interactive configuration program. We did successfully load the flash of
our D64 microcontroller from the Cyclone Pro using the switches. Our
efforts with respect to EEPROM memory have failed utterly.

We have studied the manuals. We have also downloaded and studied all the
additional information we could find on the PE Micro website. We even
called the support telephone number to no avail enter the extension of
the person you already know or fill out the email form and we may email
you in a few days.

>From the Yahoo 68HC12 group forum, after publishing our problem, we were
referred to a particular message and reply in the PE Micro forum, which
referred to the document pro_config.doc. We downloaded the document
and the program to which it referred. We then followed the directions in
the document and attempted to load our program into the Cyclone Pro.
We used the new downloaded algorithms to load the program using the
Interactive Mode and then the SAP Configuration. They worked, but we
could ONLY load Flash or EEPROM. We set up a MSDOS batch file, SAP.BAT,
to run the CSAPBDM12Z.exe program with all the extensive parameters which
was supposed to load two files and their commands into the Cyclone Pro
and allow a one-button-push solution. We initially commented out the
EEPROM portion. The program read in the test.cfg file and started to
accept it, but aborted with the error message Preprocessing error line
16 of script. Error 47 during script. It appears that CSAPBDM12Z.exe
does not like the P&E Micro-supplied 12P file in the command line, :CM
C:\PEMicro\Algorithms\HC12_HCS12\freescale_MC9S12D64_1x16x32k_64k_Linear_
16k_page.12P. We even tried reducing the path and file name to the DOS
8.3 format and shrinking the path name. No matter what we tried, it
rejected the config file at the same place, even though it liked it well
enough through the GUI.

Does anyone know how to solve our problem?

> Wade A Smith wrote:
>
> >Any one out there know more than the pathetic PEMicro's
> documentation
> >says?
> >
> >We have not been able to find any way to program EEPROM on the
> 9S12D64
> >using the Cyclone Pro. In fact there is no mention in the
> documentation
> >(nor examples) on "How To" work with EEPROM. Our program depends
> heavily
> >on values in EEPROM to start and run. But we havent even been able
> to
> >get the Cyclone Pro to recognize the EEPROM.
> >
> >We use the PEMicro LOG2PHY.EXE and it spits out the EEPROM data.
> We try
> >to run the EEPROM by itself and of course it rejects that.
> >
> >We have been trying to find out how the Flash is organized in
> Freescale
> >documentation (since the LOG2PHY.EXE arranges things in a very
> screwy
> >manner), but we have been unsuccessful. Anyone know of a document
> that
> >helps in this area?
> >
> >Program LOG2PHY
> >8000-B2xx F0000-F32xx
> >5000-65xx F9000-FA5xx
> >F000-FFFF FF000-FFFFF
> >
> >Any documentation on what is the mapping to the physical locations?
> We
> >didnt find it in the s12fts64kv1.pdf.
> >Where does EEPROM (simulated in Flash) fit?
> >
> >Any way to get all that program into one file for the
> >StandAloneProgramming by the company that will build/test the
> boards?
> >
> >wade
> >
> >
> >
> >> Terms of Service.
>
>
>
> _____
>
>
>
>
>
>
>
>
________________________________________________________________________
>
________________________________________________________________________
>
> Message: 8
> Date: Wed, 5 Apr 2006 17:59:50 -0400
> From: "Mark Wyman"
> Subject: RE: serial EEPROM byte erase
>
> Oh, I'll take that back. I thought they has ones with single-byte
> pages, but
> apparently not.
>
>
>
> _____
>
> From: 6... [mailto:6...] On
> Behalf Of
> Mark Wyman
> Sent: Wednesday, April 05, 2006 5:56 PM
> To: 6...
> Subject: RE: [68HC12] serial EEPROM byte erase
>
>
>
> *gasp* Look here:
>
> http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE
> >
0>
> &nodeId=80>
> &nodeId=80
>
>
>
> I'm sure they have something.
>
>
>
> -Mark
>
>
>
> _____
>
> From: 6... [mailto:6...] On
> Behalf Of Dr
> Stewart Prince
> Sent: Wednesday, April 05, 2006 4:54 PM
> To: 6...
> Subject: Re: [68HC12] serial EEPROM byte erase
>
>
>
> Hi,
> Does anyone know of a serial EEPROM (SCI, SPI) that can be byte
> erased
> and programmed? We're using the d60a, which is byte eraseable, and
> want
> to port our code over to a new derivative, but they are all 4 byte
> min.
> eraseable.
> S. Prince
> CSUN
>
> >
> >
>
>
>
>
> SPONSORED LINKS
>
>
> Fast
> >
tro
> > &k=Fast+track&w1=Fast+track&w2=Microcontro
>
llers&w3=Technical+support&w4=Intel+microprocessors&c=4&s=88&.sig=e25-7i8
tBu
> cE1eBf011Z9w> track
>
> Microcontrollers
> >
cro
> > &k=Microcontrollers&w1=Fast+track&w2=Micro
>
controllers&w3=Technical+support&w4=Intel+microprocessors&c=4&s=88&.sig=b
Fu_
> puq1yUlwG8a0ni-jA>
>
> Technical
> >
icr
> > &k=Technical+support&w1=Fast+track&w2=Micr
>
ocontrollers&w3=Technical+support&w4=Intel+microprocessors&c=4&s=88&.sig=
3ag
> MLHUjB-tTW3k83uwUjA> support
>
>
> Intel
> >
w2=
> > &k=Intel+microprocessors&w1=Fast+track&w2=
>
Microcontrollers&w3=Technical+support&w4=Intel+microprocessors&c=4&s=88&.
sig
> =v-n-hyvV_R1inJCf7ENHxA> microprocessors
>
>
>
>
>
>
>
> _____
>
> > Terms of Service.
>
>
>
> _____
>
>
>
>
>
>
>
>
> _____
>
> > Terms of Service.
>
>
>
> _____
>
>
>
>
>
>
>
>
________________________________________________________________________
>
________________________________________________________________________
>
> Message: 9
> Date: Thu, 6 Apr 2006 09:46:00 +1000
> From: "Jonathan Masters"
> Subject: RE: serial EEPROM byte erase
>
> -----Original Message-----
> From: 6... [mailto:6...] On
> Behalf
> Of Dr Stewart Prince
> Sent: Thursday, 6 April 2006 6:54 AM
> To: 6...
> Subject: Re: [68HC12] serial EEPROM byte erase
>
> Hi,
> Does anyone know of a serial EEPROM (SCI, SPI) that can be byte
> erased
> and programmed? We're using the d60a, which is byte eraseable, and
> want
>
> to port our code over to a new derivative, but they are all 4 byte
> min.
> eraseable.
> S. Prince
> CSUN
>
> >
> >
> Stewart,
>
> How about taking the address of the byte you wish to erase, get the
> "block" address by masking off the two lowest bits. Read the block
> address into a byte array. Put your new byte into the byte array as
> given by the two lowest bits of the address, and write all four
> bytes
> back:
>
> writeEEbyte(BYTE *address, BYTE data)
> {
> BYTE *block;
> BYTE local;
> BYTE i;
> WORD d;
>
> block = address & ~0x0003;
> // buffer the existing EE data
> for (i=0; i<4; i++)
> local[i] = *block++;
> // put erase of block here
> local[(int)(address & 0x0003)] = data;
> d = (local[0] << 8) | local[1];
> // write word d back to low word in block here
> d = (local[2] << 8) | local[3];
> // write word d back to high word in block here
> }
>
> I use EEPROM to store word parameters and this technique works OK.
> It is
> very inefficient in terms of the number of erases that each
> location
> gets just to write one byte. In my code, higher level functions
> ensure
> that the process only occurs when four bytes need writing however.
>
> Jonathan Masters.
>
>
>
>
> SPONSORED LINKS
>
> st
>
>
ntrollers&w3=Technical+support&w4=Intel+microprocessors&c=4&s=88&.sig=e2
> 5-7i8tBucE1eBf011Z9w> track
> Microcontrollers
>
>
icrocontrollers&w3=Technical+support&w4=Intel+microprocessors&c=4&s=88&.
> sig=bFu_qpuq1yUlwG8a0ni-jA>
> Technical
>
>
Microcontrollers&w3=Technical+support&w4=Intel+microprocessors&c=4&s=88&
> .sig=3agMLHUjB-tTW3k83uwUjA> support
>
> Intel
>
>
&w2=Microcontrollers&w3=Technical+support&w4=Intel+microprocessors&c=4&s
> =88&.sig=v-n-hyvV_R1inJCf7ENHxA> microprocessors
>
>
>
> _____
>
> > Terms of Service.
>
> _____
>
>
>
>
>
>
>
>
________________________________________________________________________
>
________________________________________________________________________
>
> Message: 10
> Date: Thu, 06 Apr 2006 09:09:37 +0300
> From: Doron Fael
> Subject: Re: SRAM memory in 9s12xdp512 QFP-144.
>
> Hi,
>
> The S12XDP512 external memory connection is pretty simple and
> reliable, and
> does not require any external glue-logic:
> (The difference from the HCS12 family in that respect is day and
> night)
>
> - The CPU A(x+1) - A1 address lines connect to the RAM Ax - A0
> address pins.
> - The CPU Data bus D7 - D0 connect to the RAM D7 - D0 pins.
> - One of the CPU chip-selects lines connects to the RAM CS\ line.
> - The CPU RE\ connects to the RAM OE\ input.
> - The CPU WE\ connects to the RAM WE\ input.
>
> That's about it.
>
> This allows you to perform 8 bit accesses to the external RAM, when
> the
> accesses are made to odd byte addresses only.
> Performing 16-bit accesses to the external RAM is not possible and
> will
> only perform the LSB byte access.
>
> If you need to perform 16-bit accesses, and to be able to access
> both odd
> and even addresses, you will need to use an external 16-bit RAM.
>
> Hope this helps,
> Doron
> Nohau
> HC12 In-Circuit Emulators
> www.nohau.com/emul12pc.html
>
> At 13:30 05/04/2006 -0700, you wrote:
>
> >Hi,
> >
> >We wish to use an 8-bit RAM device externally. What needs to be
> done to wire
> >this up, and what needs to be done so that we can do 16-bit access
> to this
> >device?
> >
> >I'm guesssing that its' not possible? Even though the top half of
> the data
> >bus can be disabled, the MCU does'nt sequence 16-bit accesses?
> >
> >Thanks
> >--
> >
>
>
>
>
>
>
>
________________________________________________________________________
>
________________________________________________________________________
>
>
>
>

>
Reply by "Mark L. Cukier" April 5, 20062006-04-05
Wade:

The EEPROM requires a seperate algorithm, called
"Freescale_MC9S12DJ64_1x16x512_1k_EEPROM.12P". As with all P&E
algorithms, this is available as a free download (registration is
required) from our website.

The topic you are asking about (programming both FLASH and EEPROM in one
step) has been outlined in our online forums here:

http://www.pemicro.com/forums/index.php?showtopic92

Regards,
Mark
P&E

Wade A Smith wrote:

>Any one out there know more than the pathetic PEMicro's documentation
>says?
>
>We have not been able to find any way to program EEPROM on the 9S12D64
>using the Cyclone Pro. In fact there is no mention in the documentation
>(nor examples) on "How To" work with EEPROM. Our program depends heavily
>on values in EEPROM to start and run. But we havent even been able to
>get the Cyclone Pro to recognize the EEPROM.
>
>We use the PEMicro LOG2PHY.EXE and it spits out the EEPROM data. We try
>to run the EEPROM by itself and of course it rejects that.
>
>We have been trying to find out how the Flash is organized in Freescale
>documentation (since the LOG2PHY.EXE arranges things in a very screwy
>manner), but we have been unsuccessful. Anyone know of a document that
>helps in this area?
>
>Program LOG2PHY
>8000-B2xx F0000-F32xx
>5000-65xx F9000-FA5xx
>F000-FFFF FF000-FFFFF
>
>Any documentation on what is the mapping to the physical locations? We
>didnt find it in the s12fts64kv1.pdf.
>Where does EEPROM (simulated in Flash) fit?
>
>Any way to get all that program into one file for the
>StandAloneProgramming by the company that will build/test the boards?
>
>wade
Reply by Wade A Smith April 5, 20062006-04-05
Any one out there know more than the pathetic PEMicro's documentation
says?

We have not been able to find any way to program EEPROM on the 9S12D64
using the Cyclone Pro. In fact there is no mention in the documentation
(nor examples) on "How To" work with EEPROM. Our program depends heavily
on values in EEPROM to start and run. But we havent even been able to
get the Cyclone Pro to recognize the EEPROM.

We use the PEMicro LOG2PHY.EXE and it spits out the EEPROM data. We try
to run the EEPROM by itself and of course it rejects that.

We have been trying to find out how the Flash is organized in Freescale
documentation (since the LOG2PHY.EXE arranges things in a very screwy
manner), but we have been unsuccessful. Anyone know of a document that
helps in this area?

Program LOG2PHY
8000-B2xx F0000-F32xx
5000-65xx F9000-FA5xx
F000-FFFF FF000-FFFFF

Any documentation on what is the mapping to the physical locations? We
didnt find it in the s12fts64kv1.pdf.
Where does EEPROM (simulated in Flash) fit?

Any way to get all that program into one file for the
StandAloneProgramming by the company that will build/test the boards?

wade