ソースを参照

[replace update function with mtd-utility]

        2020.12.25 / vern.chang

        Actions:
        1. replace write function with nand_write when doing fw update

        Files:
        1. CCS/Apps/FWUpdate.c

        Image version: D0.17.S0
        Image checksum: XXXXXXX

        Hardware PWB P/N : XXXXXXX
        Hardware Version : XXXXXXX
vern.chang 4 年 前
コミット
45e678954c

+ 59 - 13
EVSE/Projects/CCS/Apps/FWUpdate.c

@@ -388,14 +388,22 @@ unsigned char Update_uboot()
 
         // Write image to flash
         SAVE_SYS_LOG_MSG_FWUPDATE("[uboot]Writing image to mtdblock1...");
-        fread(ptr, sizeof(unsigned char), file_length, file);
-        wrd = write(fd, ptr, file_length);
+     //   fread(ptr, sizeof(unsigned char), file_length, file);
+      
+        //wrd = write(fd, ptr, file_length);
 
         close(fd);
         fclose(file);
+                
+        system("/bin/flash_erase /dev/mtd1 0 2");
+	system("/usr/sbin/nandwrite -p /dev/mtd1 /root/u-boot.img");
+	system("/bin/flash_erase /dev/mtd3 0 2");
+	system("/usr/sbin/nandwrite -p /dev/mtd3 /root/u-boot.img");
+
+        
         sprintf(buf_log_fwupdate, "[uboot]mtdblock1 - written length: %d bytes\n", wrd);
         SAVE_SYS_LOG_MSG_FWUPDATE(buf_log_fwupdate);
-
+#if 0
         if(wrd != file_length)
         {
             free(ptr);
@@ -434,6 +442,7 @@ unsigned char Update_uboot()
                 }
             }
         }
+#endif    
     }
     return result;
 }
@@ -489,14 +498,22 @@ unsigned char Update_DTB()
 
         // Write image to flash
         SAVE_SYS_LOG_MSG_FWUPDATE("[DTB]Writing image to mtdblock4...");
-        fread(ptr, sizeof(unsigned char), file_length, file);
-        wrd = write(fd, ptr, file_length);
+      //  fread(ptr, sizeof(unsigned char), file_length, file);
+      //  wrd = write(fd, ptr, file_length);
 
         close(fd);
         fclose(file);
+        
+        system("/bin/flash_erase /dev/mtd4 0 1");
+	system("/usr/sbin/nandwrite -p /dev/mtd4 /root/am335x-evm.dtb");
+
+	system("/bin/flash_erase /dev/mtd5 0 1");
+	system("/usr/sbin/nandwrite -p /dev/mtd5 /root/am335x-evm.dtb");
+        
+        
         sprintf(buf_log_fwupdate, "[DTB]mtdblock4 - written length: %d bytes\n", wrd);
         SAVE_SYS_LOG_MSG_FWUPDATE(buf_log_fwupdate);
-
+#if 0
         if(wrd != file_length)
         {
             free(ptr);
@@ -527,6 +544,7 @@ unsigned char Update_DTB()
                 }
             }
         }
+#endif        
     }
     return result;
 }
@@ -582,14 +600,22 @@ unsigned char Update_zImage()
 
         // Write image to flash
         SAVE_SYS_LOG_MSG_FWUPDATE("[zImage]Writing image to mtdblock6...");
-        fread(ptr, sizeof(unsigned char), file_length, file);
-        wrd = write(fd, ptr, file_length);
+      //  fread(ptr, sizeof(unsigned char), file_length, file);
+       // wrd = write(fd, ptr, file_length);
 
         close(fd);
         fclose(file);
+        
+	
+	system("/bin/flash_erase /dev/mtd6 0 20");
+	system("/usr/sbin/nandwrite -p /dev/mtd6 /root/zImage");
+
+	system("/bin/flash_erase /dev/mtd7 0 20");
+	system("/usr/sbin/nandwrite -p /dev/mtd7 /root/zImage");
+        
         sprintf(buf_log_fwupdate, "[zImage]mtdblock6 - written length: %d bytes\n", wrd);
         SAVE_SYS_LOG_MSG_FWUPDATE(buf_log_fwupdate);
-
+#if 0
         if(wrd != file_length)
         {
             free(ptr);
@@ -620,6 +646,7 @@ unsigned char Update_zImage()
                 }
             }
         }
+#endif        
     }
     return result;
 }
@@ -672,12 +699,22 @@ unsigned char Update_ramdisk()
         system("killall SeccComm");
 
         SAVE_SYS_LOG_MSG_FWUPDATE("[ramdisk]Writing image to mtdblock8...");
-        fread(ptr, sizeof(unsigned char), file_length, file);
-        wrd = write(fd, ptr, file_length);
+        //fread(ptr, sizeof(unsigned char), file_length, file);
+        //wrd = write(fd, ptr, file_length);
         close(fd);
         fclose(file);
+        
+
+       system("/bin/flash_erase /dev/mtd8 0 96");
+       system("/usr/sbin/nandwrite -p /dev/mtd8 /root/ramdisk.gz");
+
+       system("/bin/flash_erase /dev/mtd9 0 96");
+       system("/usr/sbin/nandwrite -p /dev/mtd9 /root/ramdisk.gz");
+                                	
+                                	
         sprintf(buf_log_fwupdate, "[ramdisk]mtdblock8 - written length: %d bytes\n", wrd);
         SAVE_SYS_LOG_MSG_FWUPDATE(buf_log_fwupdate);
+#if 0      
         if(wrd != file_length)
         {
             free(ptr);
@@ -719,6 +756,7 @@ unsigned char Update_ramdisk()
                 #endif
             }
         }
+#endif        
     }
     return result;
 }
@@ -776,14 +814,21 @@ unsigned char Update_user_config()
 
         // Write image to flash
         SAVE_SYS_LOG_MSG_FWUPDATE("[user_config]Writing image to mtdblock10...");
-        fread(ptr, sizeof(unsigned char), file_length, file);
-        wrd = write(fd, ptr, file_length);
+      //  fread(ptr, sizeof(unsigned char), file_length, file);
+        //wrd = write(fd, ptr, file_length);
         close(fd);
         fclose(file);
+        system("/bin/flash_erase /dev/mtd10 0 12");
+	system("/usr/sbin/nandwrite -p /dev/mtd10 /root/FactoryConfig.bin");
+
+	system("/bin/flash_erase /dev/mtd11 0 12");
+	system("/usr/sbin/nandwrite -p /dev/mtd11 /root/FactoryConfig.bin");
+									
         sprintf(buf_log_fwupdate,
                 "[user_config]mtdblock10 - written length: %d bytes\n",
                 wrd);
         SAVE_SYS_LOG_MSG_FWUPDATE(buf_log_fwupdate);
+#if 0      
         if(wrd != file_length)
         {
             free(ptr);
@@ -816,6 +861,7 @@ unsigned char Update_user_config()
                 }
             }
         }
+#endif        
     }
     return result;
 }

BIN
EVSE/Projects/CCS/Apps/SeccComm


+ 1 - 1
EVSE/Projects/CCS/Apps/version.h

@@ -5,7 +5,7 @@
                      initiated by Joseph D. Anderson
                            (since 2019/12/03)
 =============================================================================*/
-#define FIRMWARE_VERSION            "D0.16.S0"   //8-Byte(ASCII Code), “tx.yz.ab.cd”
+#define FIRMWARE_VERSION            "D0.17.S0"   //8-Byte(ASCII Code), “tx.yz.ab.cd”
 #define HARDWARE_VERSION            "CCS_8.0x"      //8-Byte(ASCII Code): CSU-03-RW, CCS_Board, REV:5.0
 #define LINUX_IMAGE_VERSION         "dd2da761d59f2cdd4064c9d95f8c302a442d33f3 (2019-01-04)"
 #define RTC_DEFAULT_TIME            1595486300      //Epoch time (decimal)

BIN
EVSE/Projects/CCS/Images/ramdisk.gz