メインコンテンツまでスキップ
Knowledgebase
Home
Renesas Electronics Japan - Knowledgebase

画像データなど特定のデータをQSPIフラッシュメモリに割り当てる方法

最終更新日:2017/10/27

Question:

画像データなどサイズの大きいデータを内蔵フラッシュメモリではなく、QSPIフラッシュメモリに割り当てる方法は?

Answer:

Weather Panelアプリケーションを例に説明します。
同アプリケーションでは、src/guix_gen/GNU/weather_GNU_resources.c
(または、weather_IAR_resource.c)に画像データを含むリソースデータが定義されています。
これらのデータをQSPIに配置する場合は、リンカスクリプトを変更する必要があります。
例えば、GCCをご利用の場合、scripts/S7G2.ldを以下のように変更します。
.text :
{
(略)
      *(EXCLUDE_FILE (*weather_GNU_*.o) .rodata*)
(略)
} > FLASH = 0xFF      

(略)

.qspi_flash :
{
    __qspi_flash_start__ = .;
    KEEP(*(.qspi_flash*))
    *(.rodata*)
    __qspi_flash_end__ = .;
} > QSPI_FLASH

また、IARをご利用の場合、scripts/S7G2.icfを以下のように変更します。
define block QSPI_GUIX                     { section .rodata object weather_IAR_*.o };
define block RODATA                        { section .rodata };
(略)
place in FLASH_region   { block LOCK_LOOKUP,
                          ro,
                          block RODATA,
                          block QSPI_NON_RETENTIVE_INIT_BLOCK,
                          block RAM_INIT_CODE,
                          block USB_DEV_DESC_BLK };
(略)
place in QSPI_region    { block QSPI_GUIX,
                          block QSPI_NON_RETENTIVE_BLOCK,
                          section .qspi_flash  };

適用製品
Renesas Synergy™ プラットフォーム
Renesas Synergy™ ソフトウェア
Renesas Synergy™ マイクロコントローラ