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
-
File – New – CCS Project
-
Type project name , in Device – Family as TI ARM– and device as Am3358 EVM
-
Connection – select Texas Instruments XDS2000u USB Emulator
-
Go to File – New – Target Configuration File and provide the name as Am3358evm.ccxml
-
In Advanced tab, provide the GEL file location[AM335x_15x15_EVM_v1_5.gel ]
-
Then go to View – Target Configurations – select the project
-
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).
-
This will route it to Debug window and select the ARM in Debug window and right click and select Connect Target
-
This will run scripts automatically which initialize PLL etc.,
-
-
Once this done, go to Run – Load – select nand_flash_writer_AM335x.out
-
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