전송 단계와 현재 플래시 상태를 맞춥니다
1-1-4·1-4-4·4-4-4는 명령·주소·데이터 단계의 데이터 선 수를 나타냅니다. 주소 길이, 모드와 더미 사이클, SDR·DTR, 컨트롤러와 부품의 공통 지원 범위도 함께 맞아야 합니다. 이 표기는 페이지 크기나 지우기 단위가 아닙니다.
XIP·연속 읽기 상태와 일반 명령 상태를 구분합니다. FPGA를 다시 설정해도 플래시가 기대한 초기 상태로 돌아왔다고 단정할 수 없습니다. ZipCPU의 2019년 사례에서도 부품별 기동 순서와 모드 설정을 고쳐야 했습니다. 그 글의 레지스터 값이나 주파수는 다른 부품의 설정값이 아닙니다.
주소 영역의 지우기 지도와 프로그램 경계를 봅니다
읽을 수 있는 주소, 한 번에 프로그램할 수 있는 페이지, 지울 수 있는 영역은 서로 다른 단위입니다. 한 칩 안에서도 주소 영역마다 허용되는 지우기 명령이 다를 수 있습니다. 흔한 4 KiB·64 KiB 지우기 크기나 256바이트 페이지를 모든 부품의 상수로 취급하지 않습니다.
제조사마다 block·sector라는 이름이 다를 수 있고, 페이지 경계를 넘는 프로그램이나 ECC 쓰기 정렬의 제약도 부품별입니다. 파일 시스템과 업데이트 레이아웃은 실제 주소 지도와 쓰기 제약에 맞춰야 합니다. 총 용량과 파일 시스템의 block 크기만으로 결정할 수 없습니다.
Linux 6.18 SPI NOR 문서는 page size, erase commands, sector map을 별도로 보여 줍니다. SFDP는 플래시의 읽기 전용 기능 표이며 잘못된 표나 표에 없는 기능에는 별도 보정이 필요할 수 있습니다. SFDP 근거는 Linux 문서이며, JBLopen의 프로토콜 글에서 가져온 내용이 아닙니다.
논리 검증과 보드 검증을 분리합니다
AMD PG153은 STARTUPE2의 7 series·Zynq-7000 지원을 설명하면서 Spartan-7 7S6·7S15의 UserClk 제한도 명시합니다. 플래시 SCK가 실제로 어떤 핀과 기동 경로를 거치는지 대상 FPGA 문서와 보드 회로로 확인해야 합니다.
프로토콜 속성의 증명, 기동 시퀀스 시뮬레이션, 핀·신호 무결성과 실제 부품 확인은 별도 검사입니다. ZipCPU 사례는 코어 대부분을 증명한 뒤에도 기동 오류와 실제 플래시 설정·신호 문제를 발견했습니다. 여기서는 지우기·프로그래밍 실행 절차나 새 보드 시험 결과를 제공하지 않습니다.
- 전송 규약
선 수·주소·더미·모드
- 저장 구조
영역별 erase·페이지·ECC
- 실제 보드
SCK 경로·기동·신호