Hi,
We are trying to program using PROG212Z Programmer - Version 5.25.00.00
Getting the following verify error which is causing problems with the device display. How can we correct this error and get rid of this error?
Initializing. Initialized.
;version 1.10 10/07/2001, Copyright P&E Microcomputer Systems, www.pemicro.com [9S12dt128_128k]
;device Freescale, 9S12A128, 1x16x64k, desc=128k_Linear_16k_page
;begin_cs device=$000E0000, length=$00020000, ram=$00004000
Loading programming algorithm ... Done.
Calculating Device CRC-16 ... CRC-16=$FE82
Erasing. Module has been erased.
Checking range of S records. Checked.
Programming Address $0FFF80. Programmed.
Checking range of S records. Checked.
Verifying Address $0FFF0F. Verify error at address $0FFF0F.
Byte in module is $FE and should be $FF.
Verifying Address $0FFFFF. Verified.
Greetings,
That looks like the address of the security byte. My assumption is your object file attempts to program the security byte to be 0xFF to secure the chip. Am I correct?
To be able to enter debug and erase/program freely we have to keep the chip unsecured and to do that the security byte was stay as 0xFE. To secure the chip, you cannot write 0xFF because you cannot write a bit as '1' where there is a '0' in flash technology. Instead, what you can do program as 0xFC from 0xFE and that should secure the chip.
Optionally, you can not program that byte and use our "secured device" command and our tools will write that byte correctly for you.
Takao
Is there some commands/steps to correct this problem?
I am using the PROG12Z GUI version. Is there a command line version that can send the command to write the command to secure the chip?
Kind regards,
Reji
Greetings,
You need to modify the object file if you wish for the verification to pass.
Or you can use verify range and avoid address 0xFF0F.
For now just focus on PROG12Z GUI version to resolve this issue. Only when everything works as expected, then later you can automate the process using CPROG12Z which you should already have in the same directory of PROG12Z. Read the CPROG Documentation on how to get that set up.
Takao
So I changed the value at address $0FFF0F to $FC and now the verification passes.
But now when I try to connect to the processor again,
it says
'Can't communicate with the target processor! Target processor may be secure, unpowered, or not properly connected.'
How can I fix this issue?
Kind regards,
Reji
Greetings,
You need to use the unsecure 12 utility and unsecure the chip.
https://www.pemicro.com/downloads/download_file.cfm?download_id=16
Takao
Very good. So that unsecures the chip and I am able to connect to it again and program.
Is there a setting in Freescale CodeWarrior to compile code to make it secure or unsecure?
Greetings,
Probably best to ask Freescale/NXP and their forums about that question.
Takao