|T O P I C R E V I E W
|Posted - 02/02/2008 : 04:08:18
I have bought a Top 2004, placed an Atmel AT89c51 in the socket can't read the contents, tried everything, think I may have wiped memory contents as the register shows all locations to have ff, which appears to be empty. can anyone help?? Tried 3 different preprogramed chips results all the same.
once I finally get to read the contents, what program should i use to convert this into something a human being can understand. really could do with some help please????
|1 L A T E S T R E P L I E S (Newest First)
|Posted - 02/26/2008 : 10:09:25
I'm not sure, but it is possible the AT89C51 has a read-protect, such that the software can be protected from copying. This is usually in the form of a security tag or something that the original programmer sets at the end of the programming phase, thus protecting their code from unauthorised retrieval... Most versions of this security feature I've seen are one-way only, that is to say you will be unable to remove the security if it is set, except by erasing the WHOLE device including unfortunately, the code you want.
This is just a guess though, and you will have to study the datasheet for your MCU to double check if it has a security feature.
Conversion from the hex machine code into something legible may be quite difficult in some respects. If you can understand machine-language (assembly language) then you might be able to find a free 8051 'dissassembler' to convert the code for you. It is also *possible* to do this manually (but I'd not wish that on anyone!). The difficulty arises when there are string-tables embedded in the code, as the dissassembler may not be able to identify what is 'code', and what is 'data'.
If you are hoping to convert the hex data into a C language, I think you are most likely out of luck, as that is a little *too* complicated to achieve! Different C compilers will generate different machine code for the same C code, so going from assembly->C is hit and miss at best. I've never found anything that will achive it, but that's not to say google won't turn up *something*.