EmbDev.net

Forum: µC & Digital Electronics at89c51cc03 problems


von Francisco R. (Company: individual) (rodriguinhos)


Rate this post
useful
not useful
Hi,
I need to read the flash contents in a"at89c51cc03" .
So i installed the components (adaptor rs232 ,cristal etc.).
Opening the flip I can read and write the microchip. However if i try to 
read
one microchip that I have in other application allwais give "timeout".
It´s possible the user bootloader is programed to jump the can 
bootloader?
and how can I access the flash in this mode?
Thanks
Rodrigues

von Holger T. (holgert)


Rate this post
useful
not useful
What version of chip do you have?
 * at89c51cc03u - uart bootloader type
 * at89c51cc03c - can bootloader type

What do you mean with:
> Opening the flip I can read and write the microchip.
> However if i try to read
> one microchip that I have in other application allwais give "timeout".

Are you able to read the chip or not?
Beside the flash, are you able to read the signature of the chip?

: Edited by User
von Francisco R. (Company: individual) (rodriguinhos)


Rate this post
useful
not useful
Hi
The chip is "Atmel  89c51cc03ua-um".
Yes,I be  able to read and write, in a equal virgin chip.
The problem is when i try to read the chip, that i removed from an 
application of mine,it gives always "Timeout".
Thanks for your replay.
Rodrigues

von Holger T. (holgert)


Rate this post
useful
not useful
May be something like this is set: BLJB != 0. In that case application 
bootloader is used. You can bypass it by applying Hardware Condition 
(RESET=high, PSEN=low, EA=high, RESET=low) . See Hardware Boot Process 
in datasheet.

von Francisco R. (Company: individual) (rodriguinhos)


Rate this post
useful
not useful
Hi,
I apply  reset hardware condition,(RESET=high, PSEN=low, EA=high, 
RESET=low)
however  the result is always the same(Timeout error).
Remember the chip is programmed, and i can´t read the signature.
Thanks
Rodrigues

von Holger T. (holgert)


Rate this post
useful
not useful
Strange...

Just to be sure:
  * The chip (you can't read) contains a program and does work in 
target?
  * You try to read that chip outside the target hardware?
  * When running the customer program in target hardware, is UART used 
in that application? Otherwise, may be that chips UART is faulty.

Next:
  * I would try to reduce UART baud rate, e.g. 9600
  * use a logic analyzer an monitor ..CC03 pins Rx, Tx, EA, Reset, PSEN
  * Try to find and use a parallel programmer.

Best success!
Regards.

: Edited by User
von Francisco R. (Company: individual) (rodriguinhos)


Rate this post
useful
not useful
Hi,
First of all thank you for your help.
Yes,the chip (I can't read) contains a program and it work in
target.The problem is that was a short-circuit and damaged the input 
P0.0 (pin24).For that reason the target don´t make only one function.
Yes I read the chip outside (and inside) the target hardware, and the 
result is the same,(Timeout error).
The customer program in target hardware, not use UART (pin 6 and 7 not 
used)
but uses can network,P4.0 and P4.1 (pin 14,15).
I don´t bilieve the UART is faulty, maybe the user bootloader have some 
instruction to jump for network can bootloader,if is that possible,I 
don´t realy know.
I will try with a logic analyzer to see all signals, and then(if I have 
no results),I wil try parallel programmer.
Do you know someone?
Thaks
Rodrigues

von Holger T. (holgert)


Attached files:

Rate this post
useful
not useful
Francisco R. wrote:
> maybe the user bootloader have some
> instruction to jump for network can bootloader,

In that case, you are already executing code in user flash FM0 and 
"network can bootloader" is part of user application. Applying Hardware 
Condition (see above) should prevent to reach that place.

Francisco R. wrote:
> try parallel programmer.
> Do you know someone?

No, I've never used a parallel programmer for it and was not engaged 
with it.

: Edited by User
von Francisco R. (Company: individual) (rodriguinhos)


Rate this post
useful
not useful
HI,
OK, I will continue try.
I wish you a great year 2024

von Francisco R. (Company: individual) (rodriguinhos)


Rate this post
useful
not useful
HI,again.
 I'm back to say that I still can't communicate with the 
chip,(programmed).
So in summary if I put a new (empty)chip in circuit,I can communicate 
with it and make everything(read,writh,etc.) then I just change the chip 
(put the programmed),and it gives (timeout error)even after reset 
,(theoretically it should communicate since the conditions are the 
same).
I analyzed the signals (with logic analyzer)and the diference is:
in a new chip we have first a tx signal(rx in chip),and after we have 
the answer in rx(tx in chip), in other chip (the programmed),we have the 
same signal but the chip does not respond.
I think we have two reasons for it: or the bootloader(FM1) is programed 
to jump immediately fo FM0,(i don´t know if it is possible),or they 
burned the inputs (rx and tx)on purpose since it was not used in 
application.
If that's the case,does not make sense,they could put block bit´s to 
level 2,
don´t you think?
Thanks
Rodrigues

Please log in before posting. Registration is free and takes only a minute.
Existing account
Do you have a Google/GoogleMail account? No registration required!
Log in with Google account
No account? Register here.