외부 QSPI 메모리에 상수 데이터 선언 후 사용
QSPI는 XiP 모드로 적용해서 0x90000000 에 매핑되어 있어서 포인터로 접근 가능
QSPI_FLASH 영역 추가
MEMORY
{
ITCMRAM (xrw) : ORIGIN = 0x00000000, LENGTH = 64K
DTCMRAM (xrw) : ORIGIN = 0x20000000, LENGTH = 128K
FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 1024K
RAM_D1 (xrw) : ORIGIN = 0x24000000, LENGTH = 320K
RAM_D2 (xrw) : ORIGIN = 0x30000000, LENGTH = 32K
RAM_D3 (xrw) : ORIGIN = 0x38000000, LENGTH = 16K
QSPI_FLASH (rx) : ORIGIN = 0x90000000, LENGTH = 16M
}
메모리 섹션 추가
.qspi_flash :
{
. = ALIGN(4);
*(.qspi_flash)
*(.qspi_flash*)
. = ALIGN(4);
} >QSPI_FLASH
코드에 아래와 같이 qspi_flash 섹션에 상수 정의함
__attribute__((section(".qspi_flash")))
const char qspi_buf[256] = "this is qspi flash\\r\\n";
External Loader 파일을 프로젝트 최상위 폴더에 복사
디버거 옵션의 External Loaders 메뉴에 위에서 추가한 파일을 선택한다.