ram.bin 添加当前最新的芯片支持 gen_img.sh 输出打包信息

This commit is contained in:
2024-10-15 17:38:58 +08:00
parent e2d76585f2
commit 0c1b53f3d4
5 changed files with 90 additions and 8 deletions

View File

@@ -76,6 +76,8 @@ typedef unsigned short UINT16;
#define MANUFACTURER_GX "gx"
#define MANUFACTURER_DT "dt"
#define MANUFACTURER_YP "yp"
#define MANUFACTURER_WTZ "wtz"
#define MANUFACTURER_TCE "tce"
typedef struct
{

View File

@@ -123,6 +123,8 @@ ram_encrypt_t encrypt_array[] = {
{3, 0x33, 18264, MANUFACTURER_GX},
{3, 0xdd, 17492, MANUFACTURER_DT},
{3, 0xa9, 22864, MANUFACTURER_YP},
{3, 0xc6, 21335, MANUFACTURER_WTZ},
{3, 0x93, 20803, MANUFACTURER_TCE},
};
typedef struct ram_config_param_t {
@@ -152,7 +154,7 @@ typedef struct ram_config_param_t {
/* default ram config param for die burn */
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,
.f_test = 0,
.e_chip = 0,
@@ -646,7 +648,7 @@ static int ramUartRecieve(rbuf *buf)
return 0;
/* Recieve from uart */
// 这里每一个数据包都会发送字符 'C'
// 这里每一个数据包都会发送字符 'C'
size = xModemReciveframe(buf->write, curPkg&0xFF, newStart);
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.
* DT FW : enctype = 3, pattern = 0xdd.
* YP FW : enctype = 3, pattern = 0xa9.
* WTZ FW : enctype = 3, pattern = 0xc6.
* TCE FW : enctype = 3, pattern = 0x93.
*/
switch (enctype) {
case 0:
@@ -1208,6 +1212,26 @@ static int ramMatchEnctypeAndPattern(uint8_t enctype, uint8_t pattern)
ret = 3;
}
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:
ret = 2;
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_GX2001_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满足上述规则可烧录检查通过 */
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_GX2011_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满足上述规则可烧录检查通过 */
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_GX2001_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满足上述规则可烧录检查通过 */
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_GX2011_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满足上述规则可烧录检查通过 */
ret = 0;
}
@@ -2048,6 +2080,30 @@ static int ram_chip_subid_check(uint32_t chip_id, uint32_t subid)
ret = 0;
}
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:
break;
}