This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Connect to target failed for boot mode NAND : AM335x EVM

HI all,

I am trying to load a boot loader to NAND flash using CCS V6.0 and XDS200 usb emulator . I am following below steps to flash boot loader to nand flash .

Creating new project in CCS

Open the CCS with new workspace

  1. File – New – CCS Project

  2. Type project name , in Device – Family as TI ARM– and device as Am3358 EVM

  3. Connection – select Texas Instruments XDS2000u USB Emulator

  4. Go to File – New – Target Configuration File and provide the name as Am3358evm.ccxml

  5. In Advanced tab, provide the GEL file location[AM335x_15x15_EVM_v1_5.gel ]

  6. Then go to View – Target Configurations – select the project

  7. Go to Am3358evm.ccxml file and right click and select Launch selected Configuration (Connected the USB cable to PC from EVM and power to EVM).

  8. This will route it to Debug window and select the ARM in Debug window and right click and select Connect Target

    1. This will run scripts automatically which initialize PLL etc.,

  9. Once this done, go to Run – Load – select nand_flash_writer_AM335x.out

  10. Then click the button Run (below scripts/Window) – which I will get console to load any file to NAND.

This is working only if  boot configuration doesn't have NAND boot in its boot order  or NAND flash is empty . Connect to target failed with following error when NAND flash contains a valid boot loader .


CortxA8: Output: ****  AM335x EVM v1.5 Initialization is in progress ..........
CortxA8: Output: ****  AM335x ALL PLL Config for OPP == OPP100 is in progress .........
CortxA8: Output: Input Clock Read from SYSBOOT[15:14]:  24MHz
CortxA8: Output: ****  Going to Bypass...
CortxA8: Output: ****  Bypassed, changing values...
CortxA8: Output: ****  Locking ARM PLL
CortxA8: Output: ****  Core Bypassed
CortxA8: Output: ****  Now locking Core...
CortxA8: Output: ****  Core locked
CortxA8: Output: ****  DDR DPLL Bypassed
CortxA8: Output: ****  DDR DPLL Locked
CortxA8: Output: ****  PER DPLL Bypassed
CortxA8: Output: ****  PER DPLL Locked
CortxA8: Output: ****  DISP PLL Config is in progress ..........
CortxA8: Output: ****  DISP PLL Config is DONE ..........
CortxA8: Output: ****  AM335x ALL ADPLL Config for OPP == OPP100 is Done .........
CortxA8: Output: ****  AM335x DDR3 EMIF and PHY configuration is in progress.........
CortxA8: Output: EMIF PRCM is in progress .......
CortxA8: Output: EMIF PRCM Done
CortxA8: Output: DDR PHY Configuration in progress
CortxA8: Output: Waiting for VTP Ready .......
CortxA8: Output: VTP is Ready!
CortxA8: Output: DDR PHY CMD0 Register configuration is in progress .......
CortxA8: Output: DDR PHY CMD1 Register configuration is in progress .......
CortxA8: Output: DDR PHY CMD2 Register configuration is in progress .......
CortxA8: Output: DDR PHY DATA0 Register configuration is in progress .......
CortxA8: Output: DDR PHY DATA1 Register configuration is in progress .......
CortxA8: Output: Setting IO control registers.......
CortxA8: Output: EMIF Timing register configuration is in progress .......
CortxA8: Trouble Writing Memory Block at 0x4c0000e4 on Page 0 of Length 0x4: (Error -1065 @ 0x3D5A) Unable to access device memory. Verify that the memory address is in valid memory. If error persists, confirm configuration, power-cycle board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 5.1.507.0)
CortxA8: GEL: Error while executing OnTargetConnect(): Target failed to write 0x4C0000E4     at *((unsigned int *) (0x4C000000+0x0E4))=(unsigned int) 0x200006 [AM335x_15x15_EVM_v1_5.gel:261]     at DDR3_EMIF_Config() [AM335x_15x15_EVM_v1_5.gel:350]     at AM335x_EVM_v1_5_Initialization() [AM335x_15x15_EVM_v1_5.gel:335]     at OnTargetConnect() .

In the above boot modes , only 3rd boot mode is working for flashing program to NAND using Xds200 jtag if NAND flash contain a valid program.

So if  NAND flash once loaded with a valid program , I am unable to overwrite existing program using XDS200 jtag connection . I need to change boot configuration to boot from UART  for doing the same . OR I have to erase complete NAND flash .

But this is not possible always .

Can any one suggest exact issue ?

PFA:gel file

Regards
Gokul CG

AM335x_15x15_EVM_v1_5.gel