.. _系统flash_DTR: 系统flash_DTR功能 ========================================= AD24在与支持DTR功能的系统flash配合使用时,可以开启DTR功能实现运行更高的SFC时钟的效果。 样机需要通过AD24N实现系统flash_DTR功能的条件如下表: +-----------------------------------+----------------------------+ | | 是否需要支持DTR功能 | +===================================+============================+ | SDK | √ | +-----------------------------------+----------------------------+ | 系统flash | √ | +-----------------------------------+----------------------------+ AD24N_SDK在使用系统flash DTR功能时,需要根据系统flash的特性去做相关的配置,因此需要参考flash手册获取DTR相关参数,并烧写到系统flash,SDK开机读取到系统flash的配置参数时,才能正常使用DTR功能。 本章节分为以下几个部分进行介绍说明: | 1. ":ref:`使用系统flash_DTR时需要开启的配置`" | 2. ":ref:`使用系统flash_DTR需要烧写的flash参数`" | 3. ":ref:`DTR参数下载到flash的步骤说明`" | 4. ":ref:`如何检查flash_DTR功能已经开启成功`" .. _使用系统flash_DTR时需要开启的配置: 使用系统flash_DTR时需要开启的配置 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 系统flash_DTR功能需要开启部分配置,具体说明如下。 app_modules.h的配置 ---------------------------------- 用户在需要使用系统flash_DTR功能时,需要开启CONFIG_FLASH_DTR_EN宏,并且全编译。 .. image:: sdk_flash_dtr_cfg.png :alt: "图1 flash_dtr功能开关“ :align: center .. centered:: 图1 flash_dtr功能开关 app_config.c的配置 ---------------------------------- app_config.c有flash_DTR功能相关配置,具体可参考注释。 .. image:: app_config_dtr_cfg.png :alt: "图2 flash_dtr相关配置“ :align: center .. centered:: 图2 flash_dtr相关 isd_config_ini.c配置 ---------------------------------- 使用系统flash DTR功能时,需要在isd_config_ini.c添加以下语句。 .. image:: isd_config_ini_dtr.png :alt: "图3 isd_config_ini.相关配置“ :align: center .. centered:: 图3 isd_config_ini.c相关配置 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. _使用系统flash_DTR需要烧写的flash参数: 使用系统flash_DTR需要烧写的flash参数 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 除了开启SDK的配置以外,还需要烧写flash配置参数。以下按照用户使用的芯片是否为A0的芯片进行讲解 AO芯片如何获取DTR相关参数 ------------------------------------------------ 用户在使用A0芯片时需要外挂一颗支持DTR的系统flash才能使用该功能,用户可查询flash手册的DTR关键字查找时序图, **注:该章节使用的工具和flash硬件写保护工具为同一个工具,此处不再过多介绍,如果不熟悉该工具,请查看flash硬件写保护章节A0芯片如何添加写保护参数说明** flash_otp_cfg配置 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 查询flash datasheet的instruction_set_table1和erase security registers,将写使能指令和flash支持的页大小和offset信息写入flash_otp_cfg结构体 .. image:: flash_otp_cfg.png :alt: "flash_otp_cfg配置“ :align: center .. centered:: flash_otp_cfg配置 flash_dtr_cfg ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. image:: datasheet_dtr.png :alt: "图4 如何获取flash_datasheet中DTR的参数“ :align: center .. centered:: 图4 如何获取flash_datasheet中DTR的参数 .. image:: flash_dtr_cfg.png :alt: "图5 将获取到的DTR的参数填入表格“ :align: center .. centered:: 图5 将获取到的DTR的参数填入表格 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. _内封flash芯片如何获取DTR相关参数: 内封flash芯片如何获取DTR相关参数 ------------------------------------------------ 用户在使用内封flash芯片时,首先要和开发人员确认内封片是否支持DTR功能,然后可以从下载目录或者我司链接获取DTR参数 AD24N_V1.1.0版本开始可以从下载目录获取到内封flash参数 .. image:: flash_param_in_sdk.jpg :alt: "下载目录中的芯片内封flash参数“ :align: center .. centered:: 下载目录中的芯片内封flash参数 芯片内封flash参数获取链接 ``_ 从链接获取到的获取到的flash参数一般为flash_param_xxxxxxxx_v3.bin文件 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. _DTR参数下载到flash的步骤说明: DTR参数下载到flash的步骤说明 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 参考说明":ref:`写保护参数下载到flash的步骤说明`" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. _如何检查flash_DTR功能已经开启成功: 如何检查flash_DTR功能已经开启成功 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SDK的配置打开以及flash参数下载到flash后,开机可以对比打印信息的SFC时钟和app_config.c的配置是否一致,一致则DTR功能使用成功