글쎄, 나는이 시점에서 잠시, 아마도 2-3 주 동안 붙어 있습니다. 내가 뭘 잘못하고 있는지 잘 모르겠습니다. 나는이 spi 플래시 부분 에 쓰려고 노력하고 있으며 이제는 그것을 지우려고 쓰고 지우고 읽는 루틴을 실행하고 있지만 운이 없다. 물론 나는 길을 따라 많은 버그를 해결했습니다 ...
어쨌든 나는 보드에 WP 라인을 연결하고 시계를 200khz로 늦추고 지우기 루틴을 실행하면 다음과 같습니다.
먼저 디버깅을 위해 ID를 확인합니다. 9F 명령입니다. 그런 다음 WREN을 06 명령으로 설정하고 C7은 전체 칩 지우기이며 05로 상태 비트를 확인하고 명확합니다. 이 칩 지우기 시간은 35ms에 불과합니다.
이제 코드를 다시로드하고 쓰기를 시도하십시오.
먼저 WREN을 06으로 설정하고 상태를 확인하여 WREN이 05로 설정되어 있는지 확인한 다음 페이지 프로그램 명령 02를 주소 0x000000으로 보냅니다. 내가 deadcafe를 처음 몇 비트로 쓰고 있음을 알 수 있습니다. 또한 쓰기가 완료된 후 (1 페이지 또는 256 바이트), 0x04 명령을 보내 WREN을 비활성화합니다. 나는 페이지 버퍼의 마지막 4 바이트를 0xAA, 0x55, 0xAA, 0x55로 설정했으며 CS가 높아지기 직전에 보았습니다.
이제 다시로드 코드를 중지하고 읽기주기를 실행 하십시오. 읽기 명령으로 0x03을 보내고 주소로 0x000000을 보내고 장치에서 0xFF를 모두 다시 보내십시오.
장치가 내 읽기 ID에 응답하고 WREN 명령을 설정하여 내 말을 듣고 응답 할 수 있음을 알 수 있습니다. 이 시점에서 내가 뭘 잘못하고 있는지 모르겠습니다. 데이터 시트를 읽고 몇 가지를 시도해 보지 만 누군가 통찰력이 있으면 도움을 주셔서 감사합니다. 이 일을하는 또 다른 실망스러운 주말이되어 가고 있습니다.