MC9S08 "dead" flash?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

MC9S08 "dead" flash?

2,103 Views
GaryOlmstead
Senior Contributor I

Just when I thought I'd seen everything, something new comes along.  Today I have two flash memory locations, 0x402E and 0x402F that always read 0xFF.  They should be 0xa1 and 0x08 (CMP #08).

The processor is an MC9S08QE128.  I'm using CW for MCUs, 11.1.  Questions:

 - Can I use CW to attempt to manually reprogram these locations to verify the problem?

 - Is there a test to see what other locations might be affected?

 - Is there a way to tell CW to avoid these locations?

0 Kudos
Reply
5 Replies

2,083 Views
GaryOlmstead
Senior Contributor I

Based on the S19 file, CodeWarrior and the P&E Multlilink Universal FX are supposed to set those locations to 0xA1 and 0x08.  They are always 0xFF.

0 Kudos
Reply

2,060 Views
vicentegomez
NXP TechSupport
NXP TechSupport

So when you load the S19 using the multilink FX and CodeWarrior, the file is loaded properly, without error but two locations are not written, it is correct?

 

Can you please check that you are setting the correct device?

if you run the loaded program on the device, the device runs?

regards

0 Kudos
Reply

2,051 Views
GaryOlmstead
Senior Contributor I

 Vincent --

The program is for the QE128, which is on the board.

The program runs, but obviously doesn't load Port A.

I wrote a tiny program just to test those memory locations.  Here is the main part of the program:


XDEF _Startup
ABSENTRY _Startup

ORG RAMStart ; Insert your data definition here
ExampleVar: DS.B 1

ORG $4028 ; was ROMStart

_Startup:
LDHX #RAMEnd+1 ; initialize the stack pointer
TXS
CLI ; enable interrupts

mainLoop:
NOP
lda PTAD
feed_watchdog
BRA mainLoop

 

It puts the "LDA PTAD" right at 0x402E and 0x402F.  No difference, they are 0xFF.

I then added some NOPs to shove the code over a bit:


ORG $4028 ; was ROMStart

_Startup:
LDHX #RAMEnd+1 ; initialize the stack pointer
TXS
CLI ; enable interrupts

mainLoop:
NOP
NOP
NOP
NOP
NOP
lda PTAD
feed_watchdog
BRA mainLoop

0x402E and 0x402F are still 0xff.  The LDA PTAD has moved to 0x4032.

 

So, I guess the chip is bad.

Is there a way to test the next chip to see if it has a similar problem?  I know the factory has ways, but is there anything I can use?

 

Gary

 

0 Kudos
Reply

2,047 Views
vicentegomez
NXP TechSupport
NXP TechSupport

Sorry, I do not know how you can test all the flash in an easy way and fast way.

 

but you can try to load data in all the flash and then perform a mass erase, but this will be slow 

I do not remember if PÊ has any option for that using the ciclone 

0 Kudos
Reply

2,095 Views
vicentegomez
NXP TechSupport
NXP TechSupport

sorry would be possible that you to explain a little bit

 

You have a program and you can not write to those addresses? 

how are you writing to those?

you can write to all the other memory areas

 

are you using flash routines?

 

regards

 

 

 

0 Kudos
Reply