ram.bin 添加当前最新的芯片支持 gen_img.sh 输出打包信息
This commit is contained in:
4
.gitignore
vendored
4
.gitignore
vendored
@@ -30,12 +30,14 @@ tools/gen_img/customer/
|
|||||||
tools/gen_img/ah
|
tools/gen_img/ah
|
||||||
tools/gen_img/elzma
|
tools/gen_img/elzma
|
||||||
tools/gen_img/oem_tool
|
tools/gen_img/oem_tool
|
||||||
|
tools/gen_img/lib_sdk_source/
|
||||||
tools/gen_img/*.map
|
tools/gen_img/*.map
|
||||||
tools/gen_img/*.out
|
tools/gen_img/*.out
|
||||||
tools/gen_img/*.bin
|
tools/gen_img/*.bin
|
||||||
tools/gen_img/*.bin.fw
|
tools/gen_img/*.bin.fw
|
||||||
tools/gen_img/lib_sdk_source/
|
tools/gen_img/cfg_log.txt
|
||||||
tools/ram/
|
tools/ram/
|
||||||
|
tools/oem/*.bin
|
||||||
mfgtool/ah/ah
|
mfgtool/ah/ah
|
||||||
mfgtool/lzma/elzma
|
mfgtool/lzma/elzma
|
||||||
mfgtool/oem_tool/oem_tool
|
mfgtool/oem_tool/oem_tool
|
||||||
|
@@ -31,6 +31,8 @@ extern "C" {
|
|||||||
#define IOT_CHIP_ID_GX 6
|
#define IOT_CHIP_ID_GX 6
|
||||||
#define IOT_CHIP_ID_DT 7
|
#define IOT_CHIP_ID_DT 7
|
||||||
#define IOT_CHIP_ID_YP 8
|
#define IOT_CHIP_ID_YP 8
|
||||||
|
#define IOT_CHIP_ID_WTZ 9
|
||||||
|
#define IOT_CHIP_ID_TCE 10
|
||||||
|
|
||||||
/*************************** kunlun1 chip id **********************************/
|
/*************************** kunlun1 chip id **********************************/
|
||||||
/* HZ k48 */
|
/* HZ k48 */
|
||||||
@@ -118,6 +120,14 @@ extern "C" {
|
|||||||
#define CHIP_ID_YP8801_V1A 0x1073 //YP8801
|
#define CHIP_ID_YP8801_V1A 0x1073 //YP8801
|
||||||
/* YP8811, k76, QFN9*9 */
|
/* YP8811, k76, QFN9*9 */
|
||||||
#define CHIP_ID_YP8811_V1A 0x1071 //YP8811
|
#define CHIP_ID_YP8811_V1A 0x1071 //YP8811
|
||||||
|
/* WTZ31C, k76, QFN9*9 */
|
||||||
|
#define CHIP_ID_WTZ31C_V1A 0x1083 //WTZ31C
|
||||||
|
/* WTZ31S, k76, QFN9*9 */
|
||||||
|
#define CHIP_ID_WTZ31S_V1A 0x1081 //WTZ31S
|
||||||
|
/* TCE3202, k76, QFN9*9 */
|
||||||
|
#define CHIP_ID_TCE3202_V1A 0x1093 //TCE3202
|
||||||
|
/* TCE3201, k76, QFN9*9 */
|
||||||
|
#define CHIP_ID_TCE3201_V1A 0x1091 //TCE3201
|
||||||
|
|
||||||
/* control transfer instuction */
|
/* control transfer instuction */
|
||||||
#define RISCV32_INST_SET_JAL 0x6f
|
#define RISCV32_INST_SET_JAL 0x6f
|
||||||
|
@@ -76,6 +76,8 @@ typedef unsigned short UINT16;
|
|||||||
#define MANUFACTURER_GX "gx"
|
#define MANUFACTURER_GX "gx"
|
||||||
#define MANUFACTURER_DT "dt"
|
#define MANUFACTURER_DT "dt"
|
||||||
#define MANUFACTURER_YP "yp"
|
#define MANUFACTURER_YP "yp"
|
||||||
|
#define MANUFACTURER_WTZ "wtz"
|
||||||
|
#define MANUFACTURER_TCE "tce"
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
|
@@ -123,6 +123,8 @@ ram_encrypt_t encrypt_array[] = {
|
|||||||
{3, 0x33, 18264, MANUFACTURER_GX},
|
{3, 0x33, 18264, MANUFACTURER_GX},
|
||||||
{3, 0xdd, 17492, MANUFACTURER_DT},
|
{3, 0xdd, 17492, MANUFACTURER_DT},
|
||||||
{3, 0xa9, 22864, MANUFACTURER_YP},
|
{3, 0xa9, 22864, MANUFACTURER_YP},
|
||||||
|
{3, 0xc6, 21335, MANUFACTURER_WTZ},
|
||||||
|
{3, 0x93, 20803, MANUFACTURER_TCE},
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef struct ram_config_param_t {
|
typedef struct ram_config_param_t {
|
||||||
@@ -152,7 +154,7 @@ typedef struct ram_config_param_t {
|
|||||||
|
|
||||||
/* default ram config param for die burn */
|
/* default ram config param for die burn */
|
||||||
ram_config_param_t ram_param = {
|
ram_config_param_t ram_param = {
|
||||||
.u_baud = 1, /* 0:115200; 1:460800; 2:1500000 */
|
.u_baud = 2, /* 0:115200; 1:460800; 2:1500000 */
|
||||||
.c_psram = 0,
|
.c_psram = 0,
|
||||||
.f_test = 0,
|
.f_test = 0,
|
||||||
.e_chip = 0,
|
.e_chip = 0,
|
||||||
@@ -646,7 +648,7 @@ static int ramUartRecieve(rbuf *buf)
|
|||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
/* Recieve from uart */
|
/* Recieve from uart */
|
||||||
// 这里每一个数据包都会发送字符 'C'
|
// 这里每一个数据包都会发送字符 'C'
|
||||||
size = xModemReciveframe(buf->write, curPkg&0xFF, newStart);
|
size = xModemReciveframe(buf->write, curPkg&0xFF, newStart);
|
||||||
|
|
||||||
if(xmRT_Finish == size ||xmRT_Error == size)
|
if(xmRT_Finish == size ||xmRT_Error == size)
|
||||||
@@ -1083,6 +1085,8 @@ static int ramMatchEnctypeAndPattern(uint8_t enctype, uint8_t pattern)
|
|||||||
* GX FW : enctype = 3, pattern = 0x33.
|
* GX FW : enctype = 3, pattern = 0x33.
|
||||||
* DT FW : enctype = 3, pattern = 0xdd.
|
* DT FW : enctype = 3, pattern = 0xdd.
|
||||||
* YP FW : enctype = 3, pattern = 0xa9.
|
* YP FW : enctype = 3, pattern = 0xa9.
|
||||||
|
* WTZ FW : enctype = 3, pattern = 0xc6.
|
||||||
|
* TCE FW : enctype = 3, pattern = 0x93.
|
||||||
*/
|
*/
|
||||||
switch (enctype) {
|
switch (enctype) {
|
||||||
case 0:
|
case 0:
|
||||||
@@ -1208,6 +1212,26 @@ static int ramMatchEnctypeAndPattern(uint8_t enctype, uint8_t pattern)
|
|||||||
ret = 3;
|
ret = 3;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case 0xc6:
|
||||||
|
/* scramble image */
|
||||||
|
if ((g_chip_subid != CHIP_ID_WTZ31C_V1A) &&
|
||||||
|
(g_chip_subid != CHIP_ID_WTZ31S_V1A)) {
|
||||||
|
/*
|
||||||
|
* WTZ FW (xor) can only be burn on WTZ31C/WTZ31S.
|
||||||
|
*/
|
||||||
|
ret = 3;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 0x93:
|
||||||
|
/* scramble image */
|
||||||
|
if ((g_chip_subid != CHIP_ID_TCE3202_V1A) &&
|
||||||
|
(g_chip_subid != CHIP_ID_TCE3201_V1A)) {
|
||||||
|
/*
|
||||||
|
* TCE FW (xor) can only be burn on TCE3202/TCE3201.
|
||||||
|
*/
|
||||||
|
ret = 3;
|
||||||
|
}
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
ret = 2;
|
ret = 2;
|
||||||
break;
|
break;
|
||||||
@@ -1929,7 +1953,9 @@ static int ram_chip_subid_check(uint32_t chip_id, uint32_t subid)
|
|||||||
subid == CHIP_ID_SPE7303_V1A ||
|
subid == CHIP_ID_SPE7303_V1A ||
|
||||||
subid == CHIP_ID_GX2001_V1A ||
|
subid == CHIP_ID_GX2001_V1A ||
|
||||||
subid == CHIP_ID_DT0530_V1A ||
|
subid == CHIP_ID_DT0530_V1A ||
|
||||||
subid == CHIP_ID_YP8801_V1A) {
|
subid == CHIP_ID_YP8801_V1A ||
|
||||||
|
subid == CHIP_ID_WTZ31C_V1A ||
|
||||||
|
subid == CHIP_ID_TCE3202_V1A) {
|
||||||
/* subid满足上述规则可烧录,检查通过 */
|
/* subid满足上述规则可烧录,检查通过 */
|
||||||
ret = 0;
|
ret = 0;
|
||||||
}
|
}
|
||||||
@@ -1941,7 +1967,9 @@ static int ram_chip_subid_check(uint32_t chip_id, uint32_t subid)
|
|||||||
subid == CHIP_ID_SPE7301_V1A ||
|
subid == CHIP_ID_SPE7301_V1A ||
|
||||||
subid == CHIP_ID_GX2011_V1A ||
|
subid == CHIP_ID_GX2011_V1A ||
|
||||||
subid == CHIP_ID_DT0531_V1A ||
|
subid == CHIP_ID_DT0531_V1A ||
|
||||||
subid == CHIP_ID_YP8811_V1A) {
|
subid == CHIP_ID_YP8811_V1A ||
|
||||||
|
subid == CHIP_ID_WTZ31S_V1A ||
|
||||||
|
subid == CHIP_ID_TCE3201_V1A) {
|
||||||
/* subid满足上述规则可烧录,检查通过 */
|
/* subid满足上述规则可烧录,检查通过 */
|
||||||
ret = 0;
|
ret = 0;
|
||||||
}
|
}
|
||||||
@@ -1953,7 +1981,9 @@ static int ram_chip_subid_check(uint32_t chip_id, uint32_t subid)
|
|||||||
subid == CHIP_ID_SPE7303_V1A ||
|
subid == CHIP_ID_SPE7303_V1A ||
|
||||||
subid == CHIP_ID_GX2001_V1A ||
|
subid == CHIP_ID_GX2001_V1A ||
|
||||||
subid == CHIP_ID_DT0530_V1A ||
|
subid == CHIP_ID_DT0530_V1A ||
|
||||||
subid == CHIP_ID_YP8801_V1A) {
|
subid == CHIP_ID_YP8801_V1A ||
|
||||||
|
subid == CHIP_ID_WTZ31C_V1A ||
|
||||||
|
subid == CHIP_ID_TCE3202_V1A) {
|
||||||
/* subid满足上述规则可烧录,检查通过 */
|
/* subid满足上述规则可烧录,检查通过 */
|
||||||
ret = 0;
|
ret = 0;
|
||||||
}
|
}
|
||||||
@@ -1965,7 +1995,9 @@ static int ram_chip_subid_check(uint32_t chip_id, uint32_t subid)
|
|||||||
subid == CHIP_ID_SPE7301_V1A ||
|
subid == CHIP_ID_SPE7301_V1A ||
|
||||||
subid == CHIP_ID_GX2011_V1A ||
|
subid == CHIP_ID_GX2011_V1A ||
|
||||||
subid == CHIP_ID_DT0531_V1A ||
|
subid == CHIP_ID_DT0531_V1A ||
|
||||||
subid == CHIP_ID_YP8811_V1A) {
|
subid == CHIP_ID_YP8811_V1A ||
|
||||||
|
subid == CHIP_ID_WTZ31S_V1A ||
|
||||||
|
subid == CHIP_ID_TCE3201_V1A) {
|
||||||
/* subid满足上述规则可烧录,检查通过 */
|
/* subid满足上述规则可烧录,检查通过 */
|
||||||
ret = 0;
|
ret = 0;
|
||||||
}
|
}
|
||||||
@@ -2048,6 +2080,30 @@ static int ram_chip_subid_check(uint32_t chip_id, uint32_t subid)
|
|||||||
ret = 0;
|
ret = 0;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case CHIP_ID_WTZ31C_V1A:
|
||||||
|
if (subid == CHIP_ID_WTZ31C_V1A) {
|
||||||
|
/* subid满足上述规则可烧录,检查通过 */
|
||||||
|
ret = 0;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case CHIP_ID_WTZ31S_V1A:
|
||||||
|
if (subid == CHIP_ID_WTZ31S_V1A) {
|
||||||
|
/* subid满足上述规则可烧录,检查通过 */
|
||||||
|
ret = 0;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case CHIP_ID_TCE3202_V1A:
|
||||||
|
if (subid == CHIP_ID_TCE3202_V1A) {
|
||||||
|
/* subid满足上述规则可烧录,检查通过 */
|
||||||
|
ret = 0;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case CHIP_ID_TCE3201_V1A:
|
||||||
|
if (subid == CHIP_ID_TCE3201_V1A) {
|
||||||
|
/* subid满足上述规则可烧录,检查通过 */
|
||||||
|
ret = 0;
|
||||||
|
}
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@@ -161,6 +161,7 @@ rm -f $CUR_DIR/oem.bin
|
|||||||
rm -f $CUR_DIR/ht.bin
|
rm -f $CUR_DIR/ht.bin
|
||||||
rm -f $CUR_DIR/ht_1p.bin
|
rm -f $CUR_DIR/ht_1p.bin
|
||||||
rm -f $CUR_DIR/ht*.fw
|
rm -f $CUR_DIR/ht*.fw
|
||||||
|
# rm -f $CUR_DIR/cfg_log.txt
|
||||||
|
|
||||||
if [ "x${CHIP_VER_UPPER}" == "x3" ]; then
|
if [ "x${CHIP_VER_UPPER}" == "x3" ]; then
|
||||||
# clear files and generate folders
|
# clear files and generate folders
|
||||||
@@ -359,17 +360,23 @@ if [ "x${CHIP_VER_UPPER}" == "x3" ]; then
|
|||||||
if [ "${IMG_UPPER}" == "CCO" ] && [ ${IOT_SMART_BUILD} == 1 ]; then
|
if [ "${IMG_UPPER}" == "CCO" ] && [ ${IOT_SMART_BUILD} == 1 ]; then
|
||||||
sed -i "s/ht.bin/ht_1p.bin/g" ${TMP_CFG_NAME}
|
sed -i "s/ht.bin/ht_1p.bin/g" ${TMP_CFG_NAME}
|
||||||
# add header
|
# add header
|
||||||
|
cat ${TMP_CFG_NAME} >> cfg_log.txt
|
||||||
|
echo -e "\n-----------\n" >> cfg_log.txt
|
||||||
./ah -a ${TMP_CFG_NAME}
|
./ah -a ${TMP_CFG_NAME}
|
||||||
sed -i "s/ht_1p.bin/ht.bin/g" ${TMP_CFG_NAME}
|
sed -i "s/ht_1p.bin/ht.bin/g" ${TMP_CFG_NAME}
|
||||||
if [ "${chip_ver}" == "3201" ]; then
|
if [ "${chip_ver}" == "3201" ]; then
|
||||||
#avoid ht_cus.bin add head twice
|
#avoid ht_cus.bin add head twice
|
||||||
sed -i "s/ht_cus.bin/ht_cus_tmp.bin/g" ${TMP_CFG_NAME}
|
sed -i "s/ht_cus.bin/ht_cus_tmp.bin/g" ${TMP_CFG_NAME}
|
||||||
# add header
|
# add header
|
||||||
|
cat ${TMP_CFG_NAME} >> cfg_log.txt
|
||||||
|
echo -e "\n-----------\n" >> cfg_log.txt
|
||||||
./ah -a ${TMP_CFG_NAME}
|
./ah -a ${TMP_CFG_NAME}
|
||||||
sed -i "s/ht_cus_tmp.bin/ht_cus.bin/g" ${TMP_CFG_NAME}
|
sed -i "s/ht_cus_tmp.bin/ht_cus.bin/g" ${TMP_CFG_NAME}
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
# add header
|
# add header
|
||||||
|
cat ${TMP_CFG_NAME} >> cfg_log.txt
|
||||||
|
echo -e "\n-----------\n" >> cfg_log.txt
|
||||||
./ah -a ${TMP_CFG_NAME}
|
./ah -a ${TMP_CFG_NAME}
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
@@ -387,14 +394,20 @@ if [ "x${CHIP_VER_UPPER}" == "x3" ]; then
|
|||||||
if [ "${IMG_UPPER}" == "CCO" ] && [ ${IOT_SMART_BUILD} == 1 ]; then
|
if [ "${IMG_UPPER}" == "CCO" ] && [ ${IOT_SMART_BUILD} == 1 ]; then
|
||||||
sed -i "s/ht.bin/ht_1p.bin/g" ${TMP_CFG_NAME}
|
sed -i "s/ht.bin/ht_1p.bin/g" ${TMP_CFG_NAME}
|
||||||
# add header
|
# add header
|
||||||
|
cat ${TMP_CFG_NAME} >> cfg_log.txt
|
||||||
|
echo -e "\n-----------\n" >> cfg_log.txt
|
||||||
./ah -a ${TMP_CFG_NAME}
|
./ah -a ${TMP_CFG_NAME}
|
||||||
sed -i "s/ht_1p.bin/ht.bin/g" ${TMP_CFG_NAME}
|
sed -i "s/ht_1p.bin/ht.bin/g" ${TMP_CFG_NAME}
|
||||||
if [ "${chip_ver}" == "3201" ]; then
|
if [ "${chip_ver}" == "3201" ]; then
|
||||||
# add header
|
# add header
|
||||||
|
cat ${TMP_CFG_NAME} >> cfg_log.txt
|
||||||
|
echo -e "\n-----------\n" >> cfg_log.txt
|
||||||
./ah -a ${TMP_CFG_NAME}
|
./ah -a ${TMP_CFG_NAME}
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
# add header
|
# add header
|
||||||
|
cat ${TMP_CFG_NAME} >> cfg_log.txt
|
||||||
|
echo -e "\n-----------\n" >> cfg_log.txt
|
||||||
./ah -a ${TMP_CFG_NAME}
|
./ah -a ${TMP_CFG_NAME}
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
@@ -757,7 +770,6 @@ if [ "x${CHIP_VER_UPPER}" == "x3" ]; then
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
rm ./tmp.cfg
|
rm ./tmp.cfg
|
||||||
done
|
done
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user