6.2. 如何在生成烧录文件时设置专家选项

6.2.1. 如何修改 INI 专家配置选项

要设置指定的烧写选项,可以在INI配置文件中设置指定的烧写选项值。

Note

下载目录的ISD_DOWNLOAD.EXE版本必须更新到4.2.53或之后版本。

打开SDK下载目录中的 isd_config.ini 文件,增加配置段[MASTER_CONFIG_OPTIONS]

Important

注意:在一些 SDK 中,isd_config.ini 文件是通过 isd_config.c 预处理生成的。

如果直接改 isd_config.ini 后重新编译,可能会发现 isd_config.ini 又被改了回去。 请注意观察你当前使用的 SDK,是否是属于这种情况。如果发现确实出现了这种情况,则说明你需要去修改 isd_config.c

为了表述方便,下文还是继续使用 isd_config.ini 文件作为例子。

根据实际需求,配置指定烧写选项的默认值。以LVD_LEVEL配置和LVD_RST_EN使能为例, 如下图:

[MASTER_CONFIG_OPTIONS]
LVD_RST_EN=TRUE
LVD_LEVEL=2.5v

同时,每款芯片的专家模式配置项都有不同的关联配置项,关联配置项必须同时配置,不然会出现错误。
以AD17N芯片为例,关联配置项为LVD_RST_EN, LVD_LEVEL, MAIN_IOVDD_LEVEL, WEAK_IOVDD_LEVEL,若需要配置关联配置中若干项时,其余项也必须配置。

[MASTER_CONFIG_OPTIONS]
LVD_RST_EN=TRUE
LVD_LEVEL=2.5v
MAIN_IOVDD_LEVEL=3.4v
WEAK_IOVDD_LEVEL=3.4v

配置值错误也会发生错误,使能类配置使用TRUEFALSE配置,电压类填写需要配置的电压值。配置的电压值需要注意芯片支持的电压挡位,不可错配。

Note

对于较旧的 SDK,需要额外增加下面的步骤:(新的 SDK 只需要修改 isd_config.ini 即可

  1. AC690X,AC691X,AC692X SDK V1,AC61N,AC62N,AC64N,AC81N的SDK需要使用 fw_add.exe(1.0.15及之后版本)isd_config.ini 文件添加到fw文件中。命令示例如下:

fw_add.exe -fw <原始.fw> -out <修改后输出.fw> -add isd_config.ini -type 0x34

  1. AC13N的SDK需要通过 bin_to_fw_v2.exe(2.0.8及之后版本) 的-ini参数将 isd_config.ini 文件添加的FW文件中。命令示例如下:

bin_to_fw_v2.exe -flash <bin文件.bin> -key <key文件.key> -log info.log -chip AD13N -out <输出的文件.fw> -ini isd_config.ini

  1. 目前暂时不支持AC1X系列,AC3X系列芯片

6.2.2. 能用 INI 配置的专家配置项有哪些

专家模式为专家级别的工程师配置,具体参考IC提供的EFUSE文档说明;每个芯片型号的支持的专家配置选项和选项可选值请参考下面对应芯片的配置说明。

Important

  • TRUE :即界面勾选,efuse对应bit烧为1

  • FALSE:界面不勾选,efuse对应bit烧为0

  • PINR:对应长按复位,MCLR对应短按复位

  • lvd和iovdd档位配置具体电压值

Note


注意:
1、配置项在INI中的配置项ID和配置值区分大小写
2、请更新isd_download.exe到4.2.56版本以上,最好更新到最新
3、存储介质为一次性烧录,烧录为FALSE后不能烧回TRUE;杰理工程师务必确认核对好efuse参考文档再配置。


4、一般EN_ACT,LVD_RST_EN,IOVDD_LEVEL为关联项,配置了[MASTER_CONFIG_OPTIONS]段其它配置项则配置需包括关联项; 如没有配置MASTER_CONFIG_OPTIONS]段,fw文件部署界面“配置“界面,可选择对应的lvd电压档位进行烧录;
5、部分型号并不需要配置关联项,如JL708N的芯片,其LVD_LEVEL和IOVDD_LEVEL有对应的LVD_ACT,IOV_ACT激活使能位的

6、关闭LVD复位功能配置方法参考如下(EN_ACT和LVD_RST_EN要配置为FALSE):
[MASTER_CONFIG_OPTIONS]
EN_ACT=FALSE
LVD_RST_EN=FALSE
LVD_LEVEL=2.5v
IOVDD_LEVEL=3.0v

如下是各个芯片系列支持的专家模式配置字段:

  • br28(AC701N、JL701N)

[MASTER_CONFIG_OPTIONS]
ICHARGE_CURRENT_MIN=75   #设置具体卡值
ICHARGE_CURRENT_MAX=88   #设置具体卡值
ICHARGE_SELECT=8   #0~15
IFULL_SELECT=1     #0~7
  • br29(AC706N)

[MASTER_CONFIG_OPTIONS]
EN_ACT=TRUE 
LVD_RST_EN=TRUE
LVD_LEVEL=2.5v #{"1.8v","1.9v","2.0v","2.1v","2.2v","2.3v","2.4v","2.5v"};
IOVDD_LEVEL=3.0v #{"2.1v","2.2v","2.3v","2.4v","2.5v","2.6v","2.7v","2.8v","2.9v","3.0v","3.1v","3.2v","3.3v","3.4v","3.5v","3.6v"};
MCLR_EN=TRUE
  • br35(AC707N、AW34N)

[MASTER_CONFIG_OPTIONS]
EN_ACT=FALSE;
LVD_RST_EN=TRUE;
LVD_ACT=TRUE;
LVD_LEVEL=2.5v;    #{"1.8v","1.9v","2.0v","2.1v","2.2v","2.3v","2.4v","2.5v"};
IOV_ACT=TRUE;
IOVDD_LEVEL=3.0v;  # {"2.1v","2.2v","2.3v","2.4v","2.5v","2.6v","2.7v","2.8v","2.9v","3.0v","3.1v","3.2v","3.3v","3.4v","3.5v","3.6v"};
MCLR_EN_DIS=TRUE;
SFC_BOOT_CTRL=TRUE;
PINR_RESET_EN=TRUE;
FAST_PU_DIS=TRUE;
FLASH_IO_SELECT=TRUE;
FLASH_SELECT=TRUE;
XOSC_PIN_MODE=single;   #auto,single,double; 
  • br42(AC704N)

[MASTER_CONFIG_OPTIONS]
[MASTER_CONFIG_OPTIONS]
EN_ACT=FALSE; 
LVD_RST_EN=TRUE;
LVD_LEVEL=2.5v;    #{"1.8v","1.9v","2.0v","2.1v","2.2v","2.3v","2.4v","2.5v"};
IOVDD_LEVEL=3.0v;  # {"2.1v","2.2v","2.3v","2.4v","2.5v","2.6v","2.7v","2.8v","2.9v","3.0v","3.1v","3.2v","3.3v","3.4v","3.5v","3.6v"};
MCLR_EN_DIS=TRUE;
PINR_IO_ENABLE=TRUE;
MASKROM_SOFTWARE_USE2=TRUE;
MASKROM_SOFTWARE_USE3=TRUE;
DCVD_LOAD_EN_DIS=TRUE;
XOSC_PIN_MODE=auto;#可配置自动识别,双脚,单脚:auto,double,single
  • br46(AC705N)

[MASTER_CONFIG_OPTIONS]
EN_ACT=FALSE 
LVD_RST_EN=TRUE
LVD_LEVEL=2.5v    #{"1.8v","1.9v","2.0v","2.1v","2.2v","2.3v","2.4v","2.5v"};
IOVDD_LEVEL=3.0v  # {"2.1v","2.2v","2.3v","2.4v","2.5v","2.6v","2.7v","2.8v","2.9v","3.0v","3.1v","3.2v","3.3v","3.4v","3.5v","3.6v"};
MCLR_EN_DIS=TRUE
PINR_IO_ENABLE=TRUE
#MASKROM_SOFTWARE_USE1=TRUE(不配,参考文档判断是否烧录)
MASKROM_SOFTWARE_USE2=TRUE
MASKROM_SOFTWARE_USE3=TRUE
DCVD_LOAD_EN_DIS=TRUE
#XOSC_INIT_MODE=TRUE(不配,参考文档判断是否烧录)
#XOSC_PIN_MODE=TRUE(不配,参考文档判断是否烧录)
  • br50(JL708N)

[MASTER_CONFIG_OPTIONS]
LVD_ACT=TRUE  
LVD_LEVEL=2.65v #{"1.66v", "1.77v", "1.88v", "1.99v", "2.10v", "2.21v", "2.32v", "2.43v", "2.54v", "2.65v", "2.76v", "2.87v", "2.98v", "3.09v", "3.20v", "3.31v"};
IOV_ACT=TRUE   
IOVDD_LEVEL=3.0v #{"2.1v","2.2v","2.3v","2.4v","2.5v","2.6v","2.7v","2.8v","2.9v","3.0v","3.1v","3.2v","3.3v","3.4v","3.5v","3.6v"}; 
FLASH_1V8_SELECT=TRUE
SFC_BOOT_CTRL=TRUE
PINR_RESET_EN=TRUE
ANC_EN=TRUE
  • br52(JL709N、AC689N)

[MASTER_CONFIG_OPTIONS]
EN_ACT=TRUE;  
LVD_RST_EN=TRUE;  
LVD_ACT=TRUE;  
LVD_LEVEL=2.603v; # {"1.505v", "1.604v", "1.704v", "1.804v", "1.904v", "2.004v", "2.103v", "2.203v","2.303v", "2.403v", "2.503v", "2.603v", "2.704v", "2.804v", "2.904v", "3.002v"};
IOV_ACT=TRUE;   
IOVDD_LEVEL=3.0v; #{"2.1v","2.2v","2.3v","2.4v","2.5v","2.6v","2.7v","2.8v","2.9v","3.0v","3.1v","3.2v","3.3v","3.4v","3.5v","3.6v"}; 
MCLR_EN_DIS=TRUE;
SFC_BOOT_CTRL=TRUE;
PINR_RESET_EN=TRUE;
ANC_EN=TRUE;
  • br56(AC710N)

[MASTER_CONFIG_OPTIONS]
EN_ACT=FALSE;
LVD_RST_EN=TRUE;
LVD_ACT=TRUE;
LVD_LEVEL=2.505v;  # {"1.806v", "1.906v", "2.006v", "2.106v", "2.206v", "2.306v", "2.407v", "2.505v"};
IOV_ACT=TRUE;
IOVDD_LEVEL=3.0v;  # {"2.1v", "2.2v", "2.3v", "2.4v", "2.5v", "2.6v", "2.7v", "2.8v","2.9v", "3.0v", "3.1v", "3.2v", "3.3v", "3.4v", "3.5v", "3.6v"};
FLASH_RESET=TRUE;
MCLR_EN_DIS=TRUE;
SFC_BOOT_CTRL=TRUE;
PINR_RESET_EN=TRUE;
FAST_PU_DIS=TRUE;
FLASH_IO_SELECT=TRUE;
FLASH_SELECT=TRUE;
XOSC_PIN_MODE=single;   #auto,single,double; 
  • bd45(AW32N)

[MASTER_CONFIG_OPTIONS]
EN_ACT=FALSE;
LVD_RST_EN=TRUE;
LVD_LEVEL=2.5v;    #{"1.8v","1.9v","2.0v","2.1v","2.2v","2.3v","2.4v","2.5v"};
IOVDD_LEVEL=3.0v;  # {"2.1v","2.2v","2.3v","2.4v","2.5v","2.6v","2.7v","2.8v","2.9v","3.0v","3.1v","3.2v","3.3v","3.4v","3.5v","3.6v"};
MCLR_EN=TRUE;
FAST_PU_DIS=TRUE;
PINR_IO_ENABLE=TRUE;
MASKROM_SOFTWARE_USE=TRUE;
CAPLESS_MODE_SEL=TRUE;
XOSC_PIN_MODE=single;   #single 或者 double ;不烧efuse
  • bd47(AW31N)

[MASTER_CONFIG_OPTIONS]
EN_ACT=FALSE; 
LVD_RST_EN=TRUE; 
LVD_LEVEL=2.5v;     #{"1.8v","1.9v","2.0v","2.1v","2.2v","2.3v","2.4v","2.5v"};
IOVDD_LEVEL=3.0v;   # {"2.1v","2.2v","2.3v","2.4v","2.5v","2.6v","2.7v","2.8v","2.9v","3.0v","3.1v","3.2v","3.3v","3.4v","3.5v","3.6v"};
MCLR_EN=FALSE; 
FAST_PU_DIS=TRUE; 
PINR_IO_ENABLE=FALSE; 
MASKROM_SOFTWARE_USE=TRUE; 
  • bd49(AW30N)

[MASTER_CONFIG_OPTIONS]
EN_ACT=FALSE; 
LVD_RST_EN=TRUE;
LVD_LEVEL=2.5v;    #{"1.8v","1.9v","2.0v","2.1v","2.2v","2.3v","2.4v","2.5v"};
IOVDD_LEVEL=3.0v;  # {"2.1v","2.2v","2.3v","2.4v","2.5v","2.6v","2.7v","2.8v","2.9v","3.0v","3.1v","3.2v","3.3v","3.4v","3.5v","3.6v"};
MCLR_EN=FALSE;
FAST_PU=TRUE;
PINR_IO_ENABLE=FALSE;
MASKROM_SOFTWARE_USE=TRUE;
  • cd09(AC82N,AD18N)

[MASTER_CONFIG_OPTIONS]
EN_ACT=FALSE  
LVD_RST_EN=TRUE
LVD_LEVEL=2.5v  #{"1.8v","1.9v","2.0v","2.1v","2.2v","2.3v","2.4v","2.5v"};
IOVDD_LEVEL=3.0v #{"2.1v","2.2v","2.3v","2.4v","2.5v","2.6v","2.7v","2.8v","2.9v","3.0v","3.1v","3.2v","3.3v","3.4v","3.5v","3.6v"};
MCLR_EN=FALSE
FAST_PU=TRUE
PINR_RESET_EN=TRUE
MASKROM_SOFTWARE_USE=TRUE
  • sh57(AD17N)

[MASTER_CONFIG_OPTIONS]
EN_ACT=TRUE 
LVD_RST_EN=TRUE
LVD_LEVEL=2.5v    #{"1.8v","1.9v","2.0v","2.1v","2.2v","2.3v","2.4v","2.5v"};
MAIN_IOVDD_LEVEL=3.0v # {"2.0v","2.2v","2.4v","2.6v","2.8v","3.0v","3.2v","3.4v"};
WEAK_IOVDD_LEVEL=2.6v # {"2.0v","2.2v","2.4v","2.6v","2.8v","3.0v","3.2v","3.4v"}; 
MCLR_DIS=TRUE
FAST_PU=TRUE
SKIP_FLASH_RESET_DIS=TRUE
SFC_FAST_BOOT_DIS=TRUE
FLASH_POWER_NOT_VDDIO=TRUE
  • uc04(AC129N,AD12N)


[MASTER_CONFIG_OPTIONS]
EN_ACT=TRUE 
LVD_RST_EN=TRUE
LVD_LEVEL=2.5v   #{"1.8v","1.9v","2.0v","2.1v","2.2v","2.3v","2.4v","2.5v"};
IOVDD_LEVEL=3.0v #{"2.1v","2.2v","2.3v","2.4v","2.5v","2.6v","2.7v","2.8v","2.9v","3.0v","3.1v","3.2v","3.3v","3.4v","3.5v","3.6v"};
MCLR_EN=TRUE
PINR_IO_ENABLE=TRUE
MASKROM_SOFTWARE_USE_FAST_UP=TRUE
MASKROM_SOFTWARE_USE_RUN_FLASH=TRUE
  • wl83(AC792N)

[MASTER_CONFIG_OPTIONS]
EN_ACT=FALSE; 
LVD_RST_EN=TRUE;
LVD_LEVEL=2.6v;   #{"1.9v","2.0v","2.1v","2.2v","2.3v","2.4v","2.5v","2.6v"};
IOVDD_LEVEL=3.3v; #{"2.4v","2.8v","2.9v","3.0v","3.1v","3.2v","3.3v","3.4v"};                   
MCLR_EN=TRUE;
FAST_PU=TRUE;
PINR_IO_ENABLE=TRUE;
MASKROM_SOFTWARE_USE=TRUE;
AVDD18_DIS=TRUE;
AVDD28_DIS=TRUE;