KOKA016A november 2022 – march 2023 MSPM0G1105 , MSPM0G1106 , MSPM0G1107 , MSPM0G1505 , MSPM0G1506 , MSPM0G1507 , MSPM0G3105 , MSPM0G3106 , MSPM0G3107 , MSPM0G3505 , MSPM0G3506 , MSPM0G3507 , MSPM0L1105 , MSPM0L1106 , MSPM0L1227 , MSPM0L1227-Q1 , MSPM0L1228 , MSPM0L1228-Q1 , MSPM0L1303 , MSPM0L1304 , MSPM0L1305 , MSPM0L1306 , MSPM0L1343 , MSPM0L1344 , MSPM0L1345 , MSPM0L1346 , MSPM0L2227 , MSPM0L2227-Q1 , MSPM0L2228 , MSPM0L2228-Q1
플래시 메모리는 애플리케이션 코드와 데이터, 장치 부팅 구성, 공장 출하 시 TI가 프로그래밍하는 매개 변수 저장 용도로 사용됩니다. 플래시 메모리는 1개 이상의 뱅크로 구성되며, 각 뱅크 내 메모리는 다시 1개 이상의 논리 메모리 지역으로 매핑되어 애플리케이션이 사용할 수 있도록 시스템 주소 공간에 할당됩니다.
대부분의 MSPM0 장치는 단일 플래시 뱅크(BANK0)를 구현합니다. 단일 플래시 뱅크 장치에서는 프로그램/삭제 작업이 지속적으로 이루어지면서 작업이 완료되고 플래시 컨트롤러가 뱅크에 대한 제어를 풀 때까지 플래시 메모리에 대한 모든 읽기 요청을 보류합니다. 플래시 뱅크가 여러 개 있는 장치의 경우에도 뱅크에 프로그램/삭제 작업이 그 프로그램/삭제 작업을 실행하고 있는 뱅크에 대해 이루어지는 읽기 요청을 보류하지만 다른 뱅크에 대한 요청은 보류하지 않습니다. 따라서 뱅크가 여러 개 있는 경우 다음과 같은 애플리케이션 케이스가 가능합니다.
각 뱅크 내 메모리는 각 뱅크 내 메모리가 지원하는 기능에 따라 1개 이상의 논리적 영역으로 매핑됩니다. 모두 4개의 영역이 있습니다.
뱅크가 하나뿐인 장치의 경우 BANK0(유일한 뱅크)에서 FACTORY, NONMAIN 및 MAIN 영역을 구현하며 데이터 영역은 제공되지 않습니다. 뱅크가 여러 개인 장치에서도 BANK0에서 FACTORY, NONMAIN 및 MAIN 영역을 구현하지만 나머지 뱅크(BANK1~BANK4)에서 MAIN 또는 DATA 영역을 구현할 수 있습니다.
NONMAIN은 장치 부팅을 위해 BCR과 BSL이 사용하는 구성 데이터를 저장하는 플래시 메모리 전용 영역입니다. 이 영역은 다른 용도로는 사용되지 않습니다. BCR과 BSL은 모두 기본값으로 남겨 두거나(보통 개발 및 평가 단계에서 하듯이) NONMAIN 플래시 영역으로 프로그램된 값을 변경해 특정 목적으로 수정(보통 프로덕션 프로그래밍 단계에서 하듯이)할 수 있는 구성 정책을 갖고 있습니다.