Use XDS560 to burn the image in NorFlash, and the error result is as follows:
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.
Hi Karan,
The tool is USB560 v2 System Trace Blackhawk,Burn by running the following dss.bat script.
Configuration file is launch.js as follows:
disableGelLoad = 0;
// Set to 1 to use the firmware with Firewalls.
if (disableGelLoad == 0)
{
//Path to GEL files
//set CCS path
gelFilePath = "C:\ti\ccs1000\ccs\ccs_base\emulation\pg1p1_hs_gel\J721E_DRA829_TDA4VMM";
}
//<!!!!!! EDIT THIS !!!!!>
//package FileHandling;
// Import the DSS packages into our namespace to save on typing
importPackage(Packages.com.ti.debug.engine.scripting)
importPackage(Packages.com.ti.ccstudio.scripting.environment)
importPackage(Packages.java.lang)
importPackage(Packages.java.io);
importPackage(Packages.java.lang);
//importPackage(java.io.File);
// Import this class to handle errors
//importPackage(Packages.java.io);
// Import the Scanner class to read text files
importPackage(Packages.java.util);
function updateScriptVars()
{
debugServer.setConfig("config/NoGel_blackhawk_560.ccxml");
//Open a debug session
dsMCU1_0 = debugServer.openSession( ".*MCU_Cortex_R5_0" );
}
function printVars()
{
updateScriptVars();
}
function connectTargets()
{
/* Set timeout of 20 seconds */
script.setScriptTimeout(200000);
updateScriptVars();
print("Connecting to MCU Cortex_R5_0!");
// Connect the MCU R5F
dsMCU1_0.target.connect();
// Reset the R5F to be in clean state.
dsMCU1_0.target.reset();
dsMCU1_0.target.halt();
//dsMCU1_0.expression.evaluate("J7ES_LPDDR4_4266MTs_Config()");
}
function flashOspi()
{
var configFileObj = new File("Configuration_SE.txt");
print("Starting Flashing !");
if (configFileObj.exists())
{
var scanner = new Scanner(configFileObj);
var ospiOffset;
var ospiFile;
while (scanner.hasNextLine())
{
var data = scanner.nextLine();
var parts = data.split(" ");
ospiOffset = parseInt(parts[0], 16)
ospiFile = parts[1];
var file = new File(ospiFile);
fileSize = file.length();
dsMCU1_0.memory.writeWord(0x0, 0x80000000, ospiOffset);
dsMCU1_0.memory.writeWord(0x0, 0x80000004, fileSize);
//dsMCU1_0.memory.writeWord(0x0, 0x40F8042c, 0x40);
dsMCU1_0.memory.loadRaw(0, 0x90000000, ospiFile, 32, false);
print("Flashing "+ospiFile+" of size " + fileSize + " at offset " + ospiOffset);
// Connect the MCU R5F
dsMCU1_0.target.connect();
dsMCU1_0.memory.readWord(0x0, 0x40F80018);
print("Running the OSPI load program from R5!");
// Load the board configuration init file.
dsMCU1_0.target.reset();
//print("after reset for SBL before load the programmer!\r\n");
dsMCU1_0.memory.loadProgram("bin/uart_j721e_evm_flash_programmer_release.xer5f");
//print("finish laod the uart binary!\r\n");
// Halt the R5F and re-run.
dsMCU1_0.target.halt();
//print("after halt!\r\n");
dsMCU1_0.target.reset();
//print("after reset2!\r\n");
dsMCU1_0.target.restart();
//print("after restart!\r\n");
// Run Synchronously for the executable to finish
dsMCU1_0.target.run();
//print("after run!\r\n");
// Reset the R5F to be in clean state.
dsMCU1_0.target.reset();
//print("after reset3!\r\n");
}
scanner.close();
}
else
{
print("File Does not exist!");
}
}
function disconnectTargets()
{
updateScriptVars();
// Reset the R5F to be in clean state.
dsMCU1_0.target.reset();
}
function doEverything()
{
printVars();
connectTargets();
disconnectTargets();
flashOspi();
print("Burning is complete, happy to go !!!");
}
var ds;
var debugServer;
var script;
// Check to see if running from within CCSv4 Scripting Console
var withinCCS = (ds !== undefined);
// Create scripting environment and get debug server if running standalone
if (!withinCCS)
{
// Import the DSS packages into our namespace to save on typing
importPackage(Packages.com.ti.debug.engine.scripting);
importPackage(Packages.com.ti.ccstudio.scripting.environment);
importPackage(Packages.java.lang);
importPackage(Packages.java.io);
importPackage(Packages.java.lang);
// Create our scripting environment object - which is the main entry point into any script and
// the factory for creating other Scriptable ervers and Sessions
script = ScriptingEnvironment.instance();
// Get the Debug Server and start a Debug Session
debugServer = script.getServer("DebugServer.1");
}
else // otherwise leverage existing scripting environment and debug server
{
debugServer = ds;
script = env;
}
doEverything();
Hi,
Can you try using uniflash tool to reflash contents to the NOR flash?
Instructions:
Regards,
Karan
Hi,
HS board has been programmed Ti key.In SE mode, an abnormal image is burned in the storage space of MCU1_0 and Jtag is locked. How to open jtag and burn again?
Another aspect, Can the HS board be developed and debugged under FS? How to use it?
Regards
Hi,
Can you please provide update on this thread? Are you able to unlock the jtag and flash the OSPI on this device?
Regards,
Brijesh