2016-11-23 8 views
1

저는이 장치가 새롭고 값이 싸다 할지라도 불필요하게 벽돌을 만들고 싶지 않습니다.ESP8266 ESP-12F 모듈의 부트 로더를 실수로 파괴 할 수 있습니까?

나는 esptool을 사용하여 NodeMCU 펌웨어를 모듈에 플래시했습니다. 그렇게 할 때 파일이 작성된 주소를 지정해야합니다. 일반적으로 0x00000입니다. 사실 펌웨어가 부트 로더가 포함되어 있습니까? 또는 플래시의 별도 영역에 있습니까?

부트 로더 자체가 펌웨어 파일에 포함되어있는 경우 중단 된 깜박임 프로세스로 인해 모듈이 쓸모 없게됩니다.

설명해 주셔서 감사합니다.

+1

중단 된 플래싱 프로세스로 인해 모듈이 쓸모 없어지지 않아야합니다. 프로세스를 다시 시작하면됩니다. –

답변

5

이렇게하면 모듈이 손상 될 수 없습니다. 아마도 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에 있고 당신은 그것을 깰 수 없습니다.

+0

고마워, 그게 바로 내가 바라는 (바라는) 것이다. – Robert