添加iic模块升级相关命令
添加下载模块程序指令0xec
This commit is contained in:
@@ -1,14 +1,16 @@
|
||||
#include "elec_det.h"
|
||||
#include "commend.h"
|
||||
#include "mystring.h"
|
||||
|
||||
|
||||
|
||||
#include "hardware/jw3425iic.h"
|
||||
#include "interface/BaseChecker.h"
|
||||
#include "base/define.h"
|
||||
#include "base/utility.h"
|
||||
|
||||
// 电子模块相关调试命令
|
||||
|
||||
|
||||
|
||||
// 运行检测方案
|
||||
static int cmd_check(list_def *argv)
|
||||
{
|
||||
array_def *data=arr_creat();
|
||||
@@ -21,9 +23,73 @@ commend_export(check,cmd_check,"start check")
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// 通过iic擦除芯片
|
||||
static int cmd_iic_erase(list_def *argv)
|
||||
{
|
||||
if(list_length(argv)<3){
|
||||
cmd_print("param num too less.");
|
||||
return -1;
|
||||
}
|
||||
int mtp_addr=str_atoi(list_get_str(argv,1));
|
||||
int erase_mode=str_atoi(list_get_str(argv,2));
|
||||
int ret=0;
|
||||
checker_runcfg.params[0]=(uint16_t)mtp_addr;
|
||||
checker_runcfg.params[1]=(uint16_t)erase_mode;
|
||||
checker_runcfg.param_count=2;
|
||||
MC_EraseMTP();
|
||||
ret=checker_runcfg.excue_rtv;
|
||||
cmd_print("cmd end,ret=%d.",ret);
|
||||
return 0;
|
||||
}
|
||||
commend_export(iic_erase,cmd_iic_erase,"erase mtp via iic,param:mtp_addr,erase_mode")
|
||||
|
||||
|
||||
|
||||
// 通过iic升级芯片
|
||||
static int cmd_iic_updata(list_def *argv)
|
||||
{
|
||||
if(list_length(argv)<3){
|
||||
cmd_print("param num too less.");
|
||||
return -1;
|
||||
}
|
||||
int mtp_addr=str_atoi(list_get_str(argv,1));
|
||||
int data_length=str_atoi(list_get_str(argv,2));
|
||||
int ret=0;
|
||||
uint32_t crc32=0;
|
||||
checker_runcfg.params[0]=(uint16_t)mtp_addr;
|
||||
checker_runcfg.params[1]=(uint16_t)data_length;
|
||||
checker_runcfg.param_count=2;
|
||||
crc32=Crc32Calu((uint32_t*)MC_CODE_ADDR,16*1024);
|
||||
boardinfo_un.boardinfo.mc_ICodeCrc32=crc32;
|
||||
cmd_print("crc32=0x%04x.",crc32);
|
||||
MC_IICUpdateMTP();
|
||||
ret=checker_runcfg.excue_rtv;
|
||||
cmd_print("cmd end,ret=%d.",ret);
|
||||
return 0;
|
||||
}
|
||||
commend_export(iic_updata,cmd_iic_updata,"updata mtp via iic,param:mtp_addr,data_length")
|
||||
|
||||
|
||||
|
||||
// 通过iic读取mtp
|
||||
static int cmd_iic_read(list_def *argv)
|
||||
{
|
||||
if(list_length(argv)<3){
|
||||
cmd_print("param num too less.");
|
||||
return -1;
|
||||
}
|
||||
int mtp_addr=str_atoi(list_get_str(argv,1));
|
||||
int data_length=str_atoi(list_get_str(argv,2));
|
||||
int ret=0;
|
||||
checker_runcfg.params[0]=(uint16_t)mtp_addr;
|
||||
checker_runcfg.params[1]=(uint16_t)data_length;
|
||||
checker_runcfg.param_count=2;
|
||||
MC_IICReadMTP();
|
||||
ret=checker_runcfg.excue_rtv;
|
||||
cmd_print("cmd end,ret=%d.",ret);
|
||||
return 0;
|
||||
}
|
||||
commend_export(iic_read,cmd_iic_read,"read mtp via iic,param:mtp_addr,data_length")
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user