7. External flash in block mode
개요
NAND 플래시 같이 메모리 매핑이 되지 않은 플래시 메모리를 사용할 때는 TouchGFX가 내부에 저장된 자산을 사용할 수 있도록 드라이버를 개발해야 합니다.
이 주제에 대한 자세한 내용은 이미지 저장을 위해 메모리 매핑이 되지 않은 플래시 사용 섹션을 참조하십시오.
Note
주소 지정이 불가능한 외부 플래시가 보드 브링업과 관련이 없다면 이 단계를 건너뛰십시오.
목표
이 단계의 목표는 매핑이 되지 않은 플래시 메모리의 한 위치에서 다수의 바이트를 읽어온 후 이를 배열에 저장할 수 있는 드라이버를 생성하는 것입니다.
확인
다음은 이 섹션에서 확인해야 할 사항입니다.
확인사항 | 확인근거 |
---|---|
플래시의 내용 확인 | 플래시에서 읽어온 내용이 올바른지 확인합니다. |
성능 확인 | 읽기 성능이 MCU 구성을 따르는지 확인합니다. |
전제 조건
- 플래시 정보(일반적으로 제조사 데이터 시트의 정보)
- MCU와 외부 플래시 간 연결 정보
- 플래시 속도
실행
일반적으로 NAND 플래시는 MCU의 FMC를 통해 구성됩니다.
플래시에 연결되는 GPIO를 구성해야 한다는 점에 유의하십시오.
메모리 매핑이 되지 않은 QSPI 플래시는 메모리 매핑된 QSPI 플래시와 마찬가지로 STM32CubeMX에서 구성됩니다.
코드
플래시의 특정 주소에서 다수의 바이트를 읽어들이는 코드를 작성합니다. 드라이버의 구현은 플래시 칩에 따라 다릅니다. 이러한 코드의 예시가 아래에 나와 있습니다. 드라이버의 구현은 플래시 칩에 따라 다릅니다.
void readNonaddressableFlash(uint32_t from, uint8_t *into, uint32_t n)
{
...
}
uint8_t bytes[1000];
//read external Flash
readNonaddressableFlash(0xab001212, bytes, 1000);
이 코드는 추후에 TouchGFX 추상화 계층(Al) 을 개발하는데 사용됩니다.