AnsweredAssumed Answered

Flash programmer "Can not read target memory" error on NOR Flash Program and Verify

Question asked by Sina Sattari on Dec 30, 2015
Latest reply on Jan 5, 2016 by Sina Sattari

I'm working on a custom board based upon LS1021A-TWR board. I'm having problem programming the rcw_1000.bin file to the NOR flash.

The design is kept very close to LS1021A-TWR board with a few changes:

  • NOR Flash is changed to a S29GL512N (64Mx16x1)
  • DRR memory is switched to a DIMM type DDR3L

I'm using CodeWarrior Development Studio for QorIQ LS series - ARM V7 ISA Version: 10.0.7 Build Id:150825 along with CodeWarrior TAP (Ethernet).


Here is what I have so far working:

1. I can build a bareboard project using the CodeWarrior Bareboard Project Wizard, get connected to the target device and debug the project. This allows me to see all the registers and use the Debugger Shell.

2. In the Debugger Shell, I can manually read the NOR Flash manufacturer ID and device ID, using Listing 17 commands in AN4349 Adding Device(s) to the CodeWarrior™ Flash Programmer for ARM™ V7 which gives me the following results:

Debugger Shell

CodeWarrior Debugger Shell v1.0

%>source /home/qoriqsdk/Desktop/ReadID.tcl

cmdwin::change p:60000000 f0f0 16bit

cmdwin::change p:60000aaa aaaa 16bit

cmdwin::change p:60000554 5555 16bit

cmdwin::change p:60000aaa 9090 16bit

cmdwin::display p:60000000..60000004 16bit

    60000000  0x0001 0x227E 0x0000   .. "~ .. 

cmdwin::change p:60000000 f0f0 16bit

Which are correct manufacturer ID and device ID based upon S29GL512N datasheet (LINK)

So I know the read/write functionality to the NOR flash is working.


I can also use the Target Tasks to import LS102xATWR_NOR_FLASH task and successfully run erase and blank check tasks on the NOR flash, but the program/verify task fails:


Here is the detail settings for the Erase/Program/Verify action:



And the error that I get in the flash programmer console is shown here:


Flash Programmer Console

fl::target -lc "Power1021Bare-core0_RAM_LS1021ATWR_Download"

fl::target -b 0x10000000 0x20000

fl::target -v off -l off

cmdwin::fl::device -d "JS28F00AM29EWHA" -o "64Mx16x1" -a 0x60000000 0x67ffffff

cmdwin::fl::device -sd all

cmdwin::fl::device -se 0

cmdwin::fl::erase list

Beginning Operation ...   


Performing target initialization ...   

Downloading Flash Device Driver ...  

Reading flash ID ...

Erasing Sector 0x60000000 to 0x6001FFFF  

Erasing ...

Erase Command Succeeded   

cmdwin::fl::device -sd all

cmdwin::fl::device -se 0

cmdwin::fl::blankcheck list

Beginning Operation ...   


Downloading Flash Utility Driver ...  

Performing Blank Check from 0x60000000 to 0x6001FFFF ...   

Blank Checking ...

Blank Check Succeeded   

Blank Check Completed Successfully  

cmdwin::fl::image -f "/home/qoriqsdk/QorIQ-SDK-V1.9-20151210-yocto/build_ls1021atwr/tmp/deploy/images/ls1021atwr/rcw/ls1021atwr/RSR_PPS_70/rcw_1000.bin" -t "Binary/Raw Format" -re off -oe on -o 0x60000000

cmdwin::fl::erase image

Beginning Operation ...   


Downloading Flash Device Driver ...  

Reading flash ID ...

Error:  Failed reading return status.  Can not read target memory at location: 0x000000001000000C.Please make sure that the chip selects are properly configured.

The CWPP response code is: CCSProtocolPlugin : CCS: Scan timeout.

Error:  Getting flash ID failed

Error: Failed reading return status.Can not read target memory at location: 0x000000001000000C.

Please make sure that the chip selects are properly configured.

The CWPP response code is: CCSProtocolPlugin : CCS: Scan timeout.


I'm not sure how to resolve this issue. Any help would be greatly appreciated.