spi 플래시에 쓸 수없는 것 같습니다


9

글쎄, 나는이 시점에서 잠시, 아마도 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 명령을 설정하여 내 말을 듣고 응답 할 수 있음을 알 수 있습니다. 이 시점에서 내가 뭘 잘못하고 있는지 모르겠습니다. 데이터 시트를 읽고 몇 가지를 시도해 보지 만 누군가 통찰력이 있으면 도움을 주셔서 감사합니다. 이 일을하는 또 다른 실망스러운 주말이되어 가고 있습니다.


10
그리고 ... 알아 냈습니다. 매번 달러가 든다면 마침내 도움을 청할만한 곳을 게시하기에 필사적으로 무언가를 알아 낸 후에 무언가를 알아 냈습니다. 쓰기 활성화 또는 프로그래밍 섹션에 언급되지 않은 Global Unlock이라는 또 다른 명령 0x98이 있습니다. 어쨌든 내 WREN 명령보다 앞서 추가하면 효과가 있습니다. 귀찮게해서 죄송합니다.
혼란

10
귀하의 의견을 답변으로 추가하고 수락하십시오.
geometrikal

@geometrikal에 동의하면 자신의 질문에 대답해야합니다. PIC SPI 인터페이스에는 문제가 없었습니다. 정확히 같은 이유로 : 문서.
.1

2
안녕! 1 년 전에 좋은 질문을 게시 한 다음 의견에 좋은 답변을 게시했습니다. 그러나 질문은 여전히 ​​"답변되지 않은"목록의 맨 위에 나타납니다! 귀하의 의견을 답변에 복사하여 "승인 됨"으로 표시하십시오. 이 방법으로 올바르게 관리 되며 답을
공표

1
@confused 답변을 게시하고 답변으로 표시하여 질문을 닫을 수 있습니다. Thanks
Voltage Spike

답변:


3

나는 이것이 여전히 '답변없는'목록의 최상위에 있다는 것을 싫어하므로 대답 할 것입니다.

주석에 '혼란'으로 언급했듯이 플래시 부분에 쓰기 전에 실행해야하는 '전역 잠금 해제'라는 명령이 있습니다.


1
답변을 수락해야합니다. 그렇지 않으면이 질문은 여전히 ​​"답변되지 않음"으로 표시됩니다.
Étienne
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.