index e5b903936054ceee3bcdbda8de3e148344913bb2..4e84f08f257426ba82420a2872937fb3293621ea 100644 (file)
var script_binaries = nandwriter_dir+"/binaries/";
var targetConfig = "";
var writeAll = false;
+var writerImages = "";
var big_endian = false;
var targetFlag = "unknown";
var targetConfig = "unknown";
var emul560 = false;
var xds200 = false;
+var emulation_spec = "onboard XDS100";
testEnv.cioFile = null;
if (java.lang.System.getProperty("os.name").match(/Linux/i))
if (board_spec.match(/lx?e$/))
{
emul560 = true;
+ emulation_spec = "XDS560 mezzanine";
board_spec = board_spec.replace(/e$/, "");
}
- if (board_spec.match(/ls$/))
+ if (board_spec.match(/ls$/))
{
xds200 = true;
+ emulation_spec = "XDS200 emulator";
board_spec = board_spec.replace(/ls$/, "l");
- }
-
- var emulation_spec = emul560 ? "XDS560 mezzanine" : "onboard XDS100";
-
- emulation_spec = xds200 ? "XDS200 emulator" : "onboard XDS100";
+ }
// for now, use the same software for lx and l variants
board_spec = board_spec.replace(/lx$/, "l");
}
if(arguments[1])
- var writerImages = arguments[1];
+ writerImages = arguments[1];
else
writeAll = true;
}
var nandNorAddress = 0x80000000;
var iblByteSwap = false;
break;
+ case "evmk2h":
+ cpu_id = "C66xx_0";
+ var nAddress = 0x0C000000;
+ var nandNorAddress = 0x80000000;
+ var iblByteSwap = false;
+ break;
default:
script.traceWrite("Could not file cpu id for target " + targetFlag + "\n");
//NAND
if(writeAll || writerImages.match(/nand/))
{
-
- start_nand = localTime();
- script.traceWrite("Writer:" + nandwriterbinary + "\r\n");
- script.traceWrite("NAND:" + nand + "\r\n");
- if (isFile(nand) && isFile(nandwriterbinary))
+ if (writerImages.match(/format/))
+ {
+ /* No action is taken for NAND since it is format*/
+ }
+ else
{
- debugSession.memory.loadProgram(nandwriterbinary);
- var nPage = 0x0;
- // var nAddress = 0x80000000;
- var sFilename = nand;
- var nTypeSize = 32;
- var bByteSwap = false;
-
- try
- {
- script.traceWrite("Start loading nand.bin");
- debugSession.memory.loadRaw(nPage, nandNorAddress, sFilename, nTypeSize, bByteSwap);
+ start_nand = localTime();
+ script.traceWrite("Writer:" + nandwriterbinary + "\r\n");
+ script.traceWrite("NAND:" + nand + "\r\n");
+ if (isFile(nand) && isFile(nandwriterbinary))
+ {
+ debugSession.memory.loadProgram(nandwriterbinary);
+ var nPage = 0x0;
+ // var nAddress = 0x80000000;
+ var sFilename = nand;
+ var nTypeSize = 32;
+ var bByteSwap = false;
+
+ try
+ {
+ script.traceWrite("Start loading nand.bin");
+ debugSession.memory.loadRaw(nPage, nandNorAddress, sFilename, nTypeSize, bByteSwap);
+
+ }
+ catch (ex)
+ {
+ errCode = getErrorCode(ex);
+ script.traceWrite("Error code #" + errCode + ", could not load file " + sFilename +
+ " to target memory!");
+ }
+ script.traceWrite("Start programming NAND");
+ debugSession.target.run()
+ script.traceWrite("End programming NAND");
+ end_nand = localTime();
+ }
+ else
+ {
+ script.traceWrite("Required NAND files does not exist in " + board_binaries + "\n");
+
+ }
+ }
+}
- }
- catch (ex)
- {
- errCode = getErrorCode(ex);
- script.traceWrite("Error code #" + errCode + ", could not load file " + sFilename +
- " to target memory!");
- }
- script.traceWrite("Start programming NAND");
- debugSession.target.run()
- script.traceWrite("End programming NAND");
- end_nand = localTime();
- }
+//FORMAT the flash
+if (writerImages.match(/format/))
+{
+//NAND Erase all
+ if (writerImages.match(/nand/))
+ {
+ start_nand = localTime();
+ script.traceWrite("Writer:" + nandwriterbinary + "\r\n");
+ if (isFile(nandwriterbinary))
+ {
+ debugSession.memory.loadProgram(nandwriterbinary);
+ var nPage = 0x0;
+ var nValue = 0x12345678;
+
+ try
+ {
+ script.traceWrite("Formatting NAND device ... Initiated");
+ // Get the address of that symbol
+ var flag_address = debugSession.symbol.getAddress("nand_erase_flag")
+ debugSession.memory.writeWord(nPage, flag_address, nValue);
+ }
+ catch (ex)
+ {
+ errCode = getErrorCode(ex);
+ script.traceWrite("Error code #" + errCode + ", could not set the nandwriter for erasing all nand blocks! ");
+ }
+ debugSession.target.run()
+ script.traceWrite("Formatting NAND device ...Completed");
+ end_nand = localTime();
+ }
+ else
+ {
+ script.traceWrite("Required NAND binary does not exist in " + board_binaries + "\n");
+
+ }
+ }
else
- {
- script.traceWrite("Required NAND files does not exist in " + board_binaries + "\n");
-
+ {
+ /* No action is taken */
+ script.traceWrite("FLASH FORMAT - No Action is taken, please provide the supported format command string, e.g., format-nand");
}
+
+ if (testEnv.cioFile != null)
+ {
+ // Stop CIO logging.
+ debugSession.endCIOLogging();
+ }
+
+ debugSession.terminate();
+ debugServer.stop()
+
+ // Stop logging and exit.
+ script.traceEnd();
+ java.lang.System.exit(0);
+
}
//NOR