이렇게하면 모듈이 손상 될 수 없습니다. 아마도 100 번 깜박 였고 그 중 일부는 실패했습니다 (예 : 너무 높은 전송 속도로 인해). 펌웨어 은에 0x000000
에 부트 로더가 포함되어 있지만, 이는 임의로 교환 할 수있는 2 단계 부트 로더입니다. 첫 번째 단계 부트 로더를 덮어 쓸 수 없어야합니다. http://richard.burtons.org/에서 rBoot
의 properitary Espressif의 booatloader에 대한 오픈 소스 대안을 만든 사람으로부터 인용 : 부트 로더는 SPI 플래시의 첫 번째 섹터에 기록되고 다른 프로그램처럼 실행
, 내장 첫 번째 단계에서 부트 로더는 다른 프로그램이 아닌 두 번째 단계 로더를로드한다는 것을 모릅니다.
그럼 어떻게 될까요? 두 번째 단계의 부트 로더는 오픈 소스가 아니며, 맹목적으로 사용하기 위해 바이너리 블롭으로 제공됩니다.
요약하면 0x00000
에 무의미한 내용을 쓰면 모듈을 손상시킬 수 없습니다. 잘못된 연산 코드를 찾기 전에 임의의 코드를 실행하지만 CPU가 폭발하거나 모듈이 손상되도록하기에는 충분하지 않습니다. 펌웨어를 새로 고침하면 손상된 2 단계 부트 로더에서 복구 할 수 있습니다.
그래서 첫 번째 단계 부트 로더는 정확히 어디에 있습니까? richard.burtons.org/2015/05/17/esp8266-boot-process의 의견에서, 제작자는이에게 자신을 대답으로 :
해설 : 첫 번째 단계의 부트 로더가 프로세서 ROM 또는 플래시에있는 경우 내가 파악되고있다. 나는 그것이 ROM에있는 것 같아요. 이것이 ROM에 있다면 플래시를 망가뜨릴 위험이없고 장치를 쓸모 없게 만들 수 있습니다. 확인해 주시겠습니까?
리처드 : 맞습니다. 1 단계는 ROM에 있고 당신은 그것을 깰 수 없습니다.
중단 된 플래싱 프로세스로 인해 모듈이 쓸모 없어지지 않아야합니다. 프로세스를 다시 시작하면됩니다. –