add ota rollbak,open security flags, update nvram and readme, add interprocess protocol
This commit is contained in:
parent
91c0610adc
commit
357941534f
|
@ -38,5 +38,6 @@ use usb burn all image
|
|||
|
||||
1. cd build/tmp/deploy/images/aud8516p1v2-consys-slc-128
|
||||
|
||||
2. sudo python flashimage.py -t
|
||||
2. sudo python flashimage.py -t(erase sn)
|
||||
sudo python flashimage.py(dont erase sn)
|
||||
3. press v- key and plugin usb
|
||||
|
|
|
@ -23,7 +23,7 @@ QEMU_TARGETS = "arm aarch64 i386 x86_64"
|
|||
# BB_NO_NETWORK = "${@int(os.path.isdir('${DL_DIR}/.git') == True)}"
|
||||
BB_NO_NETWORK = "0"
|
||||
LICENSE_FLAGS_WHITELIST = "commercial"
|
||||
LICENSE_FLAGS_FFMPEG="yes"
|
||||
LICENSE_FLAGS_FFMPEG="no"
|
||||
LICENSE_FLAGS_GMRENDER="yes"
|
||||
|
||||
BB_NUMBER_THREADS = "12"
|
||||
|
|
|
@ -14,22 +14,22 @@ SYSTEMD_PACKAGES = "${PN}"
|
|||
SYSTEMD_SERVICE_${PN} = "${@base_contains('BT_LAUNCHER_SUFFIX', '7668_', 'appmainprog_7668.service', 'appmainprog.service' ,d)}"
|
||||
FILES_${PN} += "${@base_contains('BT_LAUNCHER_SUFFIX', '7668_', '${systemd_unitdir}/system/appmainprog_7668.service', '${systemd_unitdir}/system/appmainprog.service' ,d)}"
|
||||
|
||||
do_compile() {
|
||||
cd ${S}/progs/app_cli && make
|
||||
cd ${S}/progs/nvram_save && make
|
||||
cd ${S}/progs/factoryrf && make
|
||||
#do_compile() {
|
||||
# cd ${S}/progs/app_cli && make
|
||||
# cd ${S}/progs/nvram_save && make
|
||||
# cd ${S}/progs/factoryrf && make
|
||||
# cd ${S}/library/webrtc_aec && make
|
||||
cd ${S}/progs/uart_control && make
|
||||
}
|
||||
# cd ${S}/progs/uart_control && make
|
||||
#}
|
||||
|
||||
do_install() {
|
||||
install -d ${D}/${libdir}
|
||||
install -d ${D}${bindir}
|
||||
install -d ${D}/etc
|
||||
install -m 755 ${S}progs/app_cli/app_cli ${D}${bindir}
|
||||
install -m 755 ${S}progs/nvram_save/nvram_save ${D}${bindir}
|
||||
install -m 755 ${S}progs/factoryrf/factory_rf ${D}${bindir}
|
||||
install -m 755 ${S}progs/uart_control/uart_control ${D}${bindir}
|
||||
# install -m 755 ${S}progs/app_cli/app_cli ${D}${bindir}
|
||||
# install -m 755 ${S}progs/nvram_save/nvram_save ${D}${bindir}
|
||||
# install -m 755 ${S}progs/factoryrf/factory_rf ${D}${bindir}
|
||||
# install -m 755 ${S}progs/uart_control/uart_control ${D}${bindir}
|
||||
install -d ${D}${systemd_unitdir}/system
|
||||
install -m 755 ${S}service/appmainprog.sh ${D}${bindir}
|
||||
if test "${COMBO_CHIP_ID}" = "mt7668"; then
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
DESCRIPTION = "config-app"
|
||||
LICENSE = "MediaTekProprietary"
|
||||
DEPENDS+="bluetooth openssl libev json-c alsa-lib curl"
|
||||
DEPENDS+="bluetooth openssl libev json-c"
|
||||
APPS_SRC = "${TOPDIR}/../src/apps/aud-base/config_app"
|
||||
|
||||
inherit workonsrc systemd
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
#!/usr/bin/python
|
||||
import os
|
||||
|
||||
procedures = {
|
||||
#procedures = {
|
||||
testprocedures = {
|
||||
# product : fastboot args
|
||||
'DEFAULT' : [['daWait'],
|
||||
['fbWait'],
|
||||
|
@ -35,7 +36,8 @@ bootprocedures = {
|
|||
['fastboot', 'flash', 'USRDATA', 'userdata.ubi'] ]
|
||||
}
|
||||
|
||||
testprocedures = {
|
||||
#testprocedures = {
|
||||
procedures = {
|
||||
# product : fastboot args
|
||||
'DEFAULT' : [['daWait'],
|
||||
['fbWait'],
|
||||
|
|
|
@ -88,6 +88,9 @@ SECURITY_CFLAGS_pn-uclibc = ""
|
|||
SECURITY_CFLAGS_pn-uclibc-initial = ""
|
||||
SECURITY_CFLAGS_pn-valgrind = ""
|
||||
SECURITY_CFLAGS_pn-zlib = "${SECURITY_NO_PIE_CFLAGS}"
|
||||
SECURITY_CFLAGS_pn-config-app = "${SECURITY_NO_PIE_CFLAGS}"
|
||||
SECURITY_CFLAGS_pn-appmainprog = ""
|
||||
SECURITY_CFLAGS_pn-bluetooth = ""
|
||||
SECURITY_CFLAGS_pn-zeromq = "${SECURITY_NO_PIE_CFLAGS}"
|
||||
SECURITY_CFLAGS_pn-softhsm2 += " -fPIC"
|
||||
|
||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -38,11 +38,11 @@ config_app启动后的log实时保存在/tmp/config.log可实时查看
|
|||
1:adb push nvram_helper.bin /tmp/
|
||||
2:write key:
|
||||
dev1:
|
||||
adb shell /tmp/nvram_helper.bin -w robosen RBS1234567890124,FC:A4:7A:E0:4E:73,FC:A4:7A:E0:4E:74,66d79ee5-e553-4615-b03c-ac013fb58a56,35e6d575-e607-43ed-a26b-6d56fdf9a46acbc9bf46-c3ca-48d2-98aa-d91d9d6142c0
|
||||
adb shell /tmp/nvram_helper.bin -w robosen RBS1234567890124,101001,FC:A4:7A:E0:4E:73,FC:A4:7A:E0:4E:74,66d79ee5-e553-4615-b03c-ac013fb58a56,35e6d575-e607-43ed-a26b-6d56fdf9a46acbc9bf46-c3ca-48d2-98aa-d91d9d6142c0
|
||||
dev2:
|
||||
adb shell /tmp/nvram_helper.bin -w robosen RBS1234567890125,FC:A4:7A:E0:4E:74,FC:A4:7A:E0:4E:75,abad1041-8723-4baf-af6f-8f68c7b5689d,3db4d740-356f-46a8-b122-7cb016a1039ec678e9dd-6092-4bb1-8a43-1d87d7b3b2ab
|
||||
adb shell /tmp/nvram_helper.bin -w robosen RBS1234567890125,101001,FC:A4:7A:E0:4E:74,FC:A4:7A:E0:4E:75,abad1041-8723-4baf-af6f-8f68c7b5689d,3db4d740-356f-46a8-b122-7cb016a1039ec678e9dd-6092-4bb1-8a43-1d87d7b3b2ab
|
||||
dev3:
|
||||
adb shell /tmp/nvram_helper.bin -w robosen RBS1234567890126,FC:A4:7A:E0:4E:75,FC:A4:7A:E0:4E:76,dea3057f-6f11-480d-a937-a9f3a11cfad8,fb6212be-1155-4629-a158-ae33fe72736e33ccb202-4339-4cd5-8bb5-092dbedf4b82
|
||||
adb shell /tmp/nvram_helper.bin -w robosen RBS1234567890126,101001,FC:A4:7A:E0:4E:75,FC:A4:7A:E0:4E:76,dea3057f-6f11-480d-a937-a9f3a11cfad8,fb6212be-1155-4629-a158-ae33fe72736e33ccb202-4339-4cd5-8bb5-092dbedf4b82
|
||||
dev4:
|
||||
adb shell /tmp/nvram_helper.bin -w robosen RBS1234567890127,FC:A4:7A:E0:4E:76,FC:A4:7A:E0:4E:77,80a7aae0-bc18-4774-8e38-d53738497b8e,ebd83f2f-7bd0-4f14-9e34-30c931f2cbdd95e0cc43-7649-43b8-82d5-1a49f6a522a5
|
||||
adb shell /tmp/nvram_helper.bin -w robosen RBS1234567890127,101001,FC:A4:7A:E0:4E:76,FC:A4:7A:E0:4E:77,80a7aae0-bc18-4774-8e38-d53738497b8e,ebd83f2f-7bd0-4f14-9e34-30c931f2cbdd95e0cc43-7649-43b8-82d5-1a49f6a522a5
|
||||
3:reboot
|
||||
|
|
|
@ -72,11 +72,12 @@ struct boot_flag
|
|||
unsigned int usea;
|
||||
unsigned int useb;
|
||||
unsigned int current;
|
||||
unsigned int secver;
|
||||
};
|
||||
|
||||
extern int errno;
|
||||
|
||||
u32 set_currently_boot_flag(int last_flag, u32 current_flag, const char *part_name)
|
||||
u32 set_currently_boot_flag(int last_flag, u32 current_flag, u32 def_ver,const char *part_name)
|
||||
{
|
||||
int ret = 0;
|
||||
long len = 0;
|
||||
|
@ -106,6 +107,9 @@ u32 set_currently_boot_flag(int last_flag, u32 current_flag, const char *part_na
|
|||
set_flag.current = current_flag;
|
||||
set_flag.usea = -1;
|
||||
set_flag.useb = -1;
|
||||
if(def_ver>0){
|
||||
set_flag.secver = def_ver;
|
||||
}
|
||||
|
||||
memset(buf, 0, writesize);
|
||||
memcpy(buf, (void*)&set_flag, sizeof(boot_flag));
|
||||
|
@ -118,7 +122,7 @@ u32 set_currently_boot_flag(int last_flag, u32 current_flag, const char *part_na
|
|||
ret = -1;
|
||||
goto err;
|
||||
}
|
||||
dprintf(CRITICAL, "set flag: lastboot = %d, use A = %d, use B = %d, current = %d\n", set_flag.lastboot, set_flag.usea, set_flag.useb, set_flag.current);
|
||||
dprintf(CRITICAL, "set flag: lastboot = %d, use A = %d, use B = %d, current = %d secver = %d\n", set_flag.lastboot, set_flag.usea, set_flag.useb, set_flag.current,set_flag.secver);
|
||||
if (buf) {
|
||||
free(buf);
|
||||
buf = NULL;
|
||||
|
@ -132,11 +136,47 @@ err:
|
|||
return ret;
|
||||
}
|
||||
|
||||
u32 updata_secver(boot_flag set_flag)
|
||||
{
|
||||
int ret = 0;
|
||||
long len = 0;
|
||||
u32 writesize = 2048;
|
||||
int index = -1;
|
||||
unsigned long long ptn = 0;
|
||||
unsigned long long size = 0;
|
||||
char *buf;
|
||||
buf = malloc(writesize);
|
||||
memset(buf, 0, writesize);
|
||||
memcpy(buf, (void*)&set_flag, sizeof(boot_flag));
|
||||
/* read partition */
|
||||
struct bdev *nand_MISC = bio_open_by_label("MISC");
|
||||
/* write buf to offset 0, which size is 2048 */
|
||||
len = bio_write(nand_MISC, (char*)buf, 0, (u32)writesize);
|
||||
if (len <= 0) {
|
||||
dprintf(CRITICAL, "nand write fail, return : %d, error: \n",len, strerror(errno));
|
||||
dprintf(CRITICAL, "buf: %s\n", buf);
|
||||
ret = -1;
|
||||
goto err;
|
||||
}
|
||||
dprintf(CRITICAL, "update set flag: lastboot = %d, use A = %d, use B = %d, current = %d secver = %d\n", set_flag.lastboot, set_flag.usea, set_flag.useb, set_flag.current,set_flag.secver);
|
||||
if (buf) {
|
||||
free(buf);
|
||||
buf = NULL;
|
||||
}
|
||||
return 0;
|
||||
err:
|
||||
if (buf) {
|
||||
free(buf);
|
||||
buf = NULL;
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
u32 check_boot_partition(const char *part_name)
|
||||
{
|
||||
int ret = 0;
|
||||
boot_flag flag;
|
||||
u32 boot = 0;
|
||||
u32 defver = 0;
|
||||
|
||||
struct bdev *nand_MISC = bio_open_by_label("MISC");
|
||||
int len = -1;
|
||||
|
@ -186,12 +226,13 @@ u32 check_boot_partition(const char *part_name)
|
|||
} else {
|
||||
dprintf(CRITICAL, "boot flag is not match, use default boot partition\n");
|
||||
boot = 0;
|
||||
defver = 101001;
|
||||
}
|
||||
|
||||
if ((flag.current != boot) || (flag.usea == UPG_SUCCEED) || (flag.useb == UPG_SUCCEED)) {
|
||||
ret = bio_erase(nand_MISC, 0, 0x20000); //erase one block
|
||||
printf("bio erase ret %d\n", ret);
|
||||
ret = set_currently_boot_flag(flag.lastboot, boot, part_name);
|
||||
ret = set_currently_boot_flag(flag.lastboot, boot,defver , part_name);
|
||||
if(ret!=0)
|
||||
dprintf(CRITICAL, "set flags fail. LINE: %d\n", __LINE__);
|
||||
}
|
||||
|
@ -202,6 +243,74 @@ u32 check_boot_partition(const char *part_name)
|
|||
return boot;
|
||||
}
|
||||
|
||||
u32 rollback_check_secure_ver()
|
||||
{
|
||||
|
||||
u32 nvdataver = 0;
|
||||
|
||||
struct bdev *nand_NVRAM = bio_open_by_label("NVRAM");
|
||||
int len = -1;
|
||||
//char *buf;
|
||||
|
||||
if (!nand_NVRAM) {
|
||||
printf("failed to open NVRAM\n");//todo
|
||||
return 0;//open error
|
||||
}
|
||||
printf("open NVRAM successfully\n");
|
||||
|
||||
/* read partition */
|
||||
len = bio_read(nand_NVRAM, &nvdataver, 0x2026A, sizeof(nvdataver));
|
||||
if (len < 0) {
|
||||
dprintf(CRITICAL, " nvdataver read error. LINE: %d\n", __LINE__);
|
||||
return 0;//Minimum Version
|
||||
}
|
||||
if(nvdataver > 101001 && nvdataver < 999999)
|
||||
{
|
||||
printf("read nvram ver fine:%d \n",nvdataver);
|
||||
}else if(nvdataver == 0 || nvdataver == 0xFFFFFFFF)
|
||||
{
|
||||
dprintf(CRITICAL, " nvdataver empty. LINE: %d\n", __LINE__);
|
||||
return 100000;//Minimum Version
|
||||
}else{
|
||||
dprintf(CRITICAL, " nvdataver error %d. LINE: %d\n",nvdataver, __LINE__);
|
||||
return 0;
|
||||
}
|
||||
printf("read nvram ver:%d \n",nvdataver);
|
||||
return nvdataver;
|
||||
}
|
||||
|
||||
void rollback_check_update_secure_ver(u32 firmver)
|
||||
{
|
||||
;
|
||||
}
|
||||
|
||||
int rollback_check(unsigned int firmver)
|
||||
{
|
||||
int ret = 0;
|
||||
u32 secver = 0;
|
||||
|
||||
if(firmver == 0 ){
|
||||
printf("firmver failed \n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
secver = rollback_check_secure_ver();
|
||||
printf("rollback check secver:%d firmver %d \n",secver,firmver);
|
||||
if(secver == 0 ){
|
||||
printf("read secver failed \n");
|
||||
return -1;
|
||||
}
|
||||
if(firmver<secver){
|
||||
printf("ERROR:rollback check this is low version, boot failed \n");
|
||||
return -1;
|
||||
}else if(firmver>=secver){
|
||||
printf("rollback check ok\n");
|
||||
rollback_check_update_secure_ver(firmver);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
U32 swapInt32( U32 value )
|
||||
{
|
||||
return ((value & 0x000000FF) << 24) |
|
||||
|
@ -421,6 +530,25 @@ static int cmdlineoverlay(void* boot_dtb, char* cmdline, int len)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static unsigned int get_firmware_version(void* boot_dtb, char* cmdline, int len)
|
||||
{
|
||||
int version_node_offset = 0;
|
||||
int ret = -1;
|
||||
ret = extract_fdt(boot_dtb, MAX_DTB_SIZE);
|
||||
if (ret != 0) {
|
||||
dprintf(CRITICAL, "extract_fdt error.\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
version_node_offset = fdt_path_offset(boot_dtb, "/version");
|
||||
char *ver_read;
|
||||
int lenth;
|
||||
ver_read = fdt_getprop(boot_dtb, version_node_offset, "ver", &lenth);
|
||||
unsigned int ver = atoi(ver_read);
|
||||
dprintf(CRITICAL, "dtsi cmdline: %s ,lenth:%d ,ver:%d\n", ver_read, strlen(ver_read),ver);
|
||||
|
||||
return ver;
|
||||
}
|
||||
|
||||
static bool download_check(void)
|
||||
{
|
||||
|
@ -530,6 +658,7 @@ static void fitboot_task(const struct app_descriptor *app, void *args)
|
|||
thread_t *tz_t, *bootimg_t;
|
||||
int ret_tz, ret_bootimg;
|
||||
int ret;
|
||||
unsigned int firmware_version;
|
||||
u32 boot_mode = NORMAL_BOOT;
|
||||
|
||||
uint bl33[] = { 0xea000005, /* b BL33_32_ENTRY | ands x5, x0, x0 */
|
||||
|
@ -644,6 +773,14 @@ static void fitboot_task(const struct app_descriptor *app, void *args)
|
|||
if (cmd_ret)
|
||||
emmc_cmdlineoverlay((void *)bootimg.dtb_load, NULL, 0); //from b partition,need to set
|
||||
}
|
||||
#if 1//ENABLE_ROLLBACK_CHECK
|
||||
firmware_version = get_firmware_version((void *)bootimg.dtb_load, NULL, 0);
|
||||
ret = rollback_check(firmware_version);
|
||||
if (ret==-1) {
|
||||
dprintf(CRITICAL, "check_version failed\n");
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
/* check if dtbo is existed */
|
||||
ret = fit_get_image(DTBO_PART_NAME, &fit, dtbo_buf);
|
||||
if (ret == 0) {
|
||||
|
@ -679,6 +816,7 @@ static void fitboot_task(const struct app_descriptor *app, void *args)
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
/* load bl33 for tz to jump*/
|
||||
extern __WEAK paddr_t kvaddr_to_paddr(void *ptr);
|
||||
addr_t fdt_pa = kvaddr_to_paddr?kvaddr_to_paddr((void *)bootimg.dtb_load):bootimg.dtb_load;
|
||||
|
|
|
@ -27,3 +27,6 @@ $(MAKECMDGOALS) _top:
|
|||
@$(MAKE) -C $(LKMAKEROOT) -rR -f $(LKROOT)/engine.mk $(addprefix -I,$(LKINC)) $(MAKECMDGOALS)
|
||||
|
||||
.PHONY: _top
|
||||
|
||||
clean:
|
||||
find . -name "*.o"
|
||||
|
|
|
@ -40,6 +40,9 @@
|
|||
chosen {
|
||||
bootargs = "console=tty0 console=ttyS0,921600n1 earlycon=uart8250,mmio32,0x11005000 ubi.mtd=8 root=ubi0:aud8516p1v2-consys-slc-128-rootfs rootfstype=ubifs vmalloc=496M androidboot.hardware=aud8516p1_linux";
|
||||
};
|
||||
version {
|
||||
ver= "101001";
|
||||
};
|
||||
|
||||
/* sensor standardization */
|
||||
cust_accel@0 {
|
||||
|
@ -464,6 +467,12 @@
|
|||
default-brightness-level = <100>;
|
||||
status = "okay";
|
||||
};
|
||||
ms1112_dev@48 {
|
||||
compatible = "relmon,ms1112";
|
||||
reg = <0x48>;
|
||||
status = "ok";
|
||||
};
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
#define _CFG_CUSTOM1_D_H
|
||||
|
||||
File_Custom1_Struct stCustom1Default = {
|
||||
1
|
||||
0x35,0x35,0x35,0x35,0x35,0x35,0x00,
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
|
@ -51,7 +51,7 @@ PRODUCT_INFO stPRODUCT_INFOConfigDefault = {
|
|||
/*{*/0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0/*}*/,0x0,0x0,
|
||||
/*{*/0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0/*}*/,0x0,0x0/*}*/,
|
||||
/* reserved */
|
||||
/*{*/0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /*1*/
|
||||
/*{*/0x000000, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /*1*/
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
#define _CFG_CUSTOM1_FILE_H
|
||||
|
||||
typedef struct {
|
||||
unsigned int Array[1];
|
||||
char Array[7];
|
||||
} File_Custom1_Struct;
|
||||
|
||||
#define CFG_FILE_CUSTOM1_REC_SIZE sizeof(File_Custom1_Struct)
|
||||
|
|
|
@ -46,7 +46,8 @@ typedef struct {
|
|||
typedef struct {
|
||||
unsigned char barcode[64];
|
||||
nvram_ef_imei_imeisv_struct IMEI[4];
|
||||
unsigned char reserved[1024-40-64];
|
||||
unsigned int version;
|
||||
unsigned char reserved[1024-40-64-4];
|
||||
} PRODUCT_INFO;
|
||||
|
||||
//the record size and number of PRODUCT_INFO nvram file
|
||||
|
|
|
@ -50,6 +50,8 @@
|
|||
#include "../cfgdefault/CFG_XoCap_Default.h"
|
||||
#include "../cfgfileinc/CFG_Ethernet_File.h"
|
||||
#include "../cfgdefault/CFG_Ethernet_Default.h"
|
||||
#include "../cfgfileinc/CFG_Custom1_File.h"
|
||||
#include "../cfgdefault/CFG_Custom1_Default.h"
|
||||
#include <stdio.h>
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
|
@ -170,6 +172,11 @@ const TCFG_FILE g_akCFG_File_Custom[]= {
|
|||
"/data/nvram/APCFG/APRDEB/ETHERNET", VER(AP_CFG_RDED_ETHERNET_CUSTOM_LID), CFG_FILE_ETHERNET_REC_SIZE,
|
||||
CFG_FILE_ETHERNET_REC_TOTAL, SIGNLE_DEFUALT_REC, (char *)&stEthernetDefault, DataReset , NULL
|
||||
},
|
||||
{
|
||||
"/data/nvram/APCFG/APRDEB/FILE_CUSTOM1", VER(AP_CFG_CUSTOM_FILE_CUSTOM1_LID), CFG_FILE_CUSTOM1_REC_SIZE,
|
||||
CFG_FILE_CUSTOM1_REC_TOTAL, SIGNLE_DEFUALT_REC, (char *)&stCustom1Default, DataReset , NULL
|
||||
},
|
||||
|
||||
};
|
||||
|
||||
int iNvRamFileMaxLID=AP_CFG_CUSTOM_FILE_MAX_LID;
|
||||
|
|
|
@ -99,6 +99,7 @@ typedef enum {
|
|||
AP_CFG_RDCL_FILE_AUDIO_HAC_PARAM_LID,
|
||||
AP_CFG_CUSTOM_FILE_XOCAP_LID,
|
||||
AP_CFG_RDED_ETHERNET_CUSTOM_LID,
|
||||
AP_CFG_CUSTOM_FILE_CUSTOM1_LID,
|
||||
AP_CFG_CUSTOM_FILE_MAX_LID,
|
||||
} CUSTOM_CFG_FILE_LID;
|
||||
|
||||
|
|
|
@ -180,6 +180,12 @@ LID_BIT VER_LID(AP_CFG_RDED_ETHERNET_CUSTOM_LID)
|
|||
File_Ethernet_Struct *CFG_FILE_ETHERNET_REC_TOTAL {
|
||||
|
||||
};
|
||||
|
||||
LID_BIT VER_LID(AP_CFG_CUSTOM_FILE_CUSTOM1_LID)
|
||||
File_Custom1_Struct *CFG_FILE_CUSTOM1_REC_TOTAL {
|
||||
|
||||
};
|
||||
|
||||
END_NVRAM_DATA
|
||||
|
||||
#endif /* CUSTOM_NVRAM_DATA_ITEM_H */
|
||||
|
|
|
@ -285,6 +285,9 @@ FileName aBackupToBinRegion[]= {
|
|||
#endif
|
||||
{"XOCAP", AP_CFG_CUSTOM_FILE_XOCAP_LID},
|
||||
{"ETHERNET", AP_CFG_RDED_ETHERNET_CUSTOM_LID},
|
||||
#if 1
|
||||
{"CUSTOM1", AP_CFG_CUSTOM_FILE_CUSTOM1_LID},
|
||||
#endif
|
||||
};
|
||||
FileName aPerformance[]= {
|
||||
{"CAMERA_Para",AP_CFG_RDCL_CAMERA_PARA_LID},
|
||||
|
|
Binary file not shown.
Loading…
Reference in New Issue