]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - keystone-rtos/mcsdk-tools.git/blobdiff - program_evm/program_evm.js
Updated program evm users guide for k2h
[keystone-rtos/mcsdk-tools.git] / program_evm / program_evm.js
index e5b903936054ceee3bcdbda8de3e148344913bb2..4e84f08f257426ba82420a2872937fb3293621ea 100644 (file)
@@ -114,11 +114,13 @@ var script_configs = nandwriter_dir+"/configs/";
 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))
@@ -147,18 +149,16 @@ if (arguments.length > 0 && arguments.length < 3)
     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");
@@ -189,7 +189,7 @@ if (arguments.length > 0 && arguments.length < 3)
     }
     
     if(arguments[1])
-        var writerImages = arguments[1];
+        writerImages = arguments[1];
     else
         writeAll = true;   
 }
@@ -278,6 +278,12 @@ switch (targetFlag)
                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");
 
@@ -381,41 +387,104 @@ if(writeAll || writerImages.match(/eeprom51/))
 //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