修改上传所有文件
This commit is contained in:
82
e3_176_ref/middleware/flashloader/flashloader_fuse_bin.c
Normal file
82
e3_176_ref/middleware/flashloader/flashloader_fuse_bin.c
Normal file
@@ -0,0 +1,82 @@
|
||||
#include <compiler.h>
|
||||
#include <debug.h>
|
||||
#include <flashloader.h>
|
||||
#include <fuse_bin.h>
|
||||
|
||||
static FL_ERR_CODE_E flashloader_convert_return_value(FUSE_ERR_CODE_E ret)
|
||||
{
|
||||
FL_ERR_CODE_E err = ERR_NONE;
|
||||
switch (ret) {
|
||||
case ERR_NONE:
|
||||
err = ERR_NONE;
|
||||
break;
|
||||
case ERR_UNKNOWN:
|
||||
err = ERR_UNKNOWN;
|
||||
break;
|
||||
case ERR_FUSE_BIN_SIZE_CHECK_FAIL:
|
||||
err = ERR_FL_FUSE_SIZE_CHECK_FAIL;
|
||||
break;
|
||||
case ERR_FUSE_BIN_LENGTH_CHECK_FAIL:
|
||||
err = ERR_FL_FUSE_LENGTH_CHECK_FAIL;
|
||||
break;
|
||||
case ERR_FUSE_BIN_ACTION_TYPE_NOT_FIND:
|
||||
err = ERR_FL_FUSE_ACTION_TYPE_NOT_FIND;
|
||||
break;
|
||||
case ERR_FUSE_BIN_CRC_CHECK_FAIL:
|
||||
err = ERR_FL_FUSE_CRC_CHECK_FAIL;
|
||||
break;
|
||||
case ERR_FUSE_BIN_ENC_INIT_FAIL:
|
||||
err = ERR_FL_FUSE_ENC_INIT_FAIL;
|
||||
break;
|
||||
case ERR_FUSE_BIN_ENC_FAIL:
|
||||
err = ERR_FL_FUSE_ENC_FAIL;
|
||||
break;
|
||||
case ERR_FUSE_BIN_MALLOC_FAIL:
|
||||
err = ERR_FL_FUSE_MALLOC_FAIL;
|
||||
break;
|
||||
case ERR_FUSE_BIN_GEN_DATA_FAIL:
|
||||
err = ERR_FL_FUSE_GEN_DATA_FAIL;
|
||||
break;
|
||||
case ERR_FUSE_BIN_READ_FAIL:
|
||||
err = ERR_FUSE_READ_FAIL;
|
||||
break;
|
||||
case ERR_FUSE_BIN_WRITE_FAIL:
|
||||
err = ERR_FUSE_WRITE_FAIL;
|
||||
break;
|
||||
case ERR_FUSE_BIN_READBACK_VERIFY_FAIL:
|
||||
err = ERR_FUSE_READBACK_VERIFY_FAIL;
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return err;
|
||||
}
|
||||
|
||||
void tcm_enable_axi_slave_port(void)
|
||||
{
|
||||
uint32_t val;
|
||||
__ASM volatile("mov %0, #0\n"
|
||||
"mcr p15, 0, %0, c11, c0, 0\n"
|
||||
: "+r"(val)
|
||||
:
|
||||
:);
|
||||
}
|
||||
|
||||
__USED int32_t jflash_program_fuse_bin(uint32_t nNumBytes,
|
||||
const uint8_t *pSrcBuff)
|
||||
{
|
||||
jflash_board_init_once();
|
||||
tcm_enable_axi_slave_port();
|
||||
FUSE_ERR_CODE_E ret;
|
||||
FL_ERR_CODE_E err;
|
||||
ret = fuse_bin((void *)pSrcBuff, nNumBytes);
|
||||
err = flashloader_convert_return_value(ret);
|
||||
if (err) {
|
||||
ssdk_printf(SSDK_NOTICE, "fuse bin error\r\n");
|
||||
report_error(err);
|
||||
} else {
|
||||
ssdk_printf(SSDK_NOTICE, "fuse bin success\r\n");
|
||||
}
|
||||
return err;
|
||||
}
|
||||
Reference in New Issue
Block a user