I made a test board according the mpc8306som, now , I want to program the flash(M29W640GT70NA), but find the CodeWarrior 8.8 flash programmer hasn't M29W640GT device,only has M29W640DB. Using M29W640DB device ,the flash erasing doesn't work,the error message is "can't get correct device ID", and the LCS0 doesn't have any active waveform. the hardware around LCS0 i believe is correct,because the LCS0 has active waveform in power on flow .
How to handle this problem?
Any suggestion is helpful, thanks!
Solved! Go to Solution.
Hello Li Rui,
I modified something in flash programmer configuration file, please refer to the attachment.
Do you mean you want to use S29GL064N to replace M29W640GT on your target?
Do you use similar DDR2 with MPC8306SOM demo board? Please try whether you could debug the RAM version sample project on the target successfully. Or do Memory tests in Hardware diagnostics panel.
Have a great day,
Yiping
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hello Li Rui,
1. First please follow "EPPC New Project Wizard" to create a bare board project for for MPC8308SOM, then connect to the target from Debug->Connect, if the connection is failed, please enable CCS log from Edit->Debug Version Settings->Debugger->Remote Debugging->Edit Connection->Enable Logging, then attach the CCS log.
2. If the step 1 is done successfully, please follow the attached ppt to do flash programming.
If your problem remains, please feel free to let us know.
Have a great day,
Yiping
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
I test the connection via usbtap at the beginning , I can connect successfully,and can change the GPIO status through CodeWarrior. I enable the CCS log,and find the message
CS: | :ccs_close; ccs_error = 0 | |
CCS: 0000 | : | ccs_get_messages |
CCS: | :coreh = [serverh:0;cc_index:0;chain_pos:0] | |
CCS: | :message: (size = 23) | |
CCS: | : 24C9CF02 1B17DF02 513CDF02 84305008 | |
CCS: | : 84305008 B4E912 | |
CCS: | :ccs_get_messages; ccs_error = 7 | |
CCS: | :Error message: |
Invalid handle
thanks!
ps: the message come out when I try to erase the flash.
Hello Li Rui,
Would you please attach the whole CCS log? It is difficult to figure out the exact place.
In addition, please check whether you followed the ppt to do flash programming? Especially flash programmer configuration.
Please kindly provide the detailed information, I consider whether it is necessary to give you some basic low level commands to read FLASH ID to decide whether it is hardware problem or not.
Have a great day,
Yiping
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hello Li Rui,
In the flash programmer configuration file, there is a problem, in Program/Verify panel please check "Apply Address Offset" and specify the exact address of u-boot(between ff800000 to ffffffff). But this is not the cause of your above problem.
I provide you some basic sequence commands to read the device ID.
Please connect to the target from Debug->Connect, and open "Command Window" from View->Command Window and use the following commands.(According to your configuration file, the flash organization is 4M*16*1, please make sure this is correct.)
# Set device to Read state
change p:ff800000 f0f0 16bit
# Get Mfg and Device ID values
change p:ff800aaa aaaa 16bit
change p:ff800554 5555 16bit
change p:ff800aaa 9090 16bit
# Display Mfg ID value at offset 0
# Display Dev ID value at offset 2
display p:ff800000..ff800004 16bit
# Reset device to Read state
change p:ff800000 f0f0 16bit
If the device ID cannot be read successfully with the above commands, probably it is needed to consider about the hardware problem, for example the "hardware protection".
Have a great day,
Yiping
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hello.
There are good news and bad news ,good news is I changed the FLASH with S29GL064N, The command line can return right flash ID ,the bad news is the flash programmer still can not work. I find the status of flash programmer is involved with the selection "Verify Target Memory Writes". If the option was not selected,the return message of erase operation is "Can't get flash ID", if selected,the message is "Error: Couldn't write flash driver to target. " the error detail is "Can not read target memory at location: 0x00000000. Please make sure that the chip selects are properly configured. The CWPP response code is: 0x0." .
thank you so much!
Hello Li Rui,
I modified something in flash programmer configuration file, please refer to the attachment.
Do you mean you want to use S29GL064N to replace M29W640GT on your target?
Do you use similar DDR2 with MPC8306SOM demo board? Please try whether you could debug the RAM version sample project on the target successfully. Or do Memory tests in Hardware diagnostics panel.
Have a great day,
Yiping
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hello Wang.
There were some problems with DDR hardware , when I fix it,and pass the memory test, The flash operation can work well.
thanks you very much!
Did you follow the steps in CodeWarrior PA V8.8\PowerPC_EABI_Tools\FlashProgrammer\Documentation\AddFlashDevs.pdf to add your device?
I wasn't add the device,it maybe a problem, I am not sure whether M29W640DB device work on M29W640GT flash.
thanks.
You said "the LCS0 has active waveform in power on flow" - do you really have valid hard reset configuration programmed into this flash? If your flash is empty, than an attempt to fetch reset configuration you observing will lead to incorrect "all ones" configuration, which makes debugger connection not possible.
your are right,the flash is empty, but i can connect the board with USBTAP,and initialize the RCW using 8306SOM_HRCW_jtag.txt. the RCW is validated by watching the value of involved Registers in CodeWarrior.
thanks.