5. 系统flash_DTR功能

AD24在与支持DTR功能的系统flash配合使用时,可以开启DTR功能实现运行更高的SFC时钟的效果。

样机需要通过AD24N实现系统flash_DTR功能的条件如下表:

是否需要支持DTR功能

SDK

系统flash

AD24N_SDK在使用系统flash DTR功能时,需要根据系统flash的特性去做相关的配置,因此需要参考flash手册获取DTR相关参数,并烧写到系统flash,SDK开机读取到系统flash的配置参数时,才能正常使用DTR功能。

本章节分为以下几个部分进行介绍说明:

5.1. 使用系统flash_DTR时需要开启的配置

系统flash_DTR功能需要开启部分配置,具体说明如下。

5.1.1. app_modules.h的配置

用户在需要使用系统flash_DTR功能时,需要开启CONFIG_FLASH_DTR_EN宏,并且全编译。

"图1 flash_dtr功能开关“

图1 flash_dtr功能开关

5.1.2. app_config.c的配置

app_config.c有flash_DTR功能相关配置,具体可参考注释。

"图2 flash_dtr相关配置“

图2 flash_dtr相关

5.1.3. isd_config_ini.c配置

使用系统flash DTR功能时,需要在isd_config_ini.c添加以下语句。

"图3 isd_config_ini.相关配置“

图3 isd_config_ini.c相关配置


5.2. 使用系统flash_DTR需要烧写的flash参数

除了开启SDK的配置以外,还需要烧写flash配置参数。以下按照用户使用的芯片是否为A0的芯片进行讲解

5.2.1. AO芯片如何获取DTR相关参数

用户在使用A0芯片时需要外挂一颗支持DTR的系统flash才能使用该功能,用户可查询flash手册的DTR关键字查找时序图,

注:该章节使用的工具和flash硬件写保护工具为同一个工具,此处不再过多介绍,如果不熟悉该工具,请查看flash硬件写保护章节A0芯片如何添加写保护参数说明

5.2.1.1. flash_otp_cfg配置

查询flash datasheet的instruction_set_table1和erase security registers,将写使能指令和flash支持的页大小和offset信息写入flash_otp_cfg结构体

"flash_otp_cfg配置“

flash_otp_cfg配置

5.2.1.2. flash_dtr_cfg

"图4 如何获取flash_datasheet中DTR的参数“

图4 如何获取flash_datasheet中DTR的参数

"图5 将获取到的DTR的参数填入表格“

图5 将获取到的DTR的参数填入表格


5.2.2. 内封flash芯片如何获取DTR相关参数

用户在使用内封flash芯片时,首先要和开发人员确认内封片是否支持DTR功能,然后可以从下载目录或者我司链接获取DTR参数

AD24N_V1.1.0版本开始可以从下载目录获取到内封flash参数

"下载目录中的芯片内封flash参数“

下载目录中的芯片内封flash参数

芯片内封flash参数获取链接 https://doc.zh-jieli.com/Tools/zh-cn/dev_tools/toolchains/otp_cfg.html

从链接获取到的获取到的flash参数一般为flash_param_xxxxxxxx_v3.bin文件


5.3. DTR参数下载到flash的步骤说明


5.4. 如何检查flash_DTR功能已经开启成功

SDK的配置打开以及flash参数下载到flash后,开机可以对比打印信息的SFC时钟和app_config.c的配置是否一致,一致则DTR功能使用成功