Hardware | ESP-01 or ESP8266 사용기 - 2

|

이 글은 전편이 있습니다.


* Hardware | ESP-01 or ESP8266 사용기 - 1

http://chocoball.tistory.com/entry/Hardware-ESP01-or-ESP8266-using-1


이번에는 전편에서 풀지 못했던, ESP8266 chip 을 생산하는 ESPRESSIF SYSTEMS 사의 정식 firmware 를 입혀보는 포스트 입니다.

AI-Thinker 사는 firmware 를 한뭉텅이로 만들어 줘서 쉽게 firmware 를 입혔지만,

ESPRESSIF SYSTEMS 사는 address 라던지 파일 순서와 선택이 중요합니다.




1. ESP8266 adapter


전편에서도 사용했지만, 구매 정보를 올리지 않아서 여기에 기록으로 남깁니다.


* 2PCS For ESP-01 Esp8266 ESP-01S Model Of The ESP8266 Serial Breadboard Adapter To WiFi Transceiver Module Breakout UART Module

https://www.aliexpress.com/item/Breadboard-Adapter-for-ESP8266-ESP-01-ESP-01S-Wifi-Transceiver-Module-Breakout/32775467213.html



두개 구입했고 1달정도 걸렸던것 같습니다.

기다리는 것이 익숙해 지긴 했지만, 빨리 확인해보고 싶은 경우는 조금 고통스럽네요.



양 다리는 스스로 납땜해야 합니다.

DIY 임을 명확하게 인지시켜주는 제품입니다.



DIY MORE 라는 회사가 눈에 자주 띄네요.



ESP8266 모듈을 끼우면 이렇게 됩니다.

가로를 세로로 변경해주는 방법입니다.






2. Flash Download Tool


그 사이 3.6.5 로 버전업을 했습니다.


* ESPRESSIF > Support > Download > Tools

https://www.espressif.com/en/support/download/other-tools



아무래도 새로운 버전을 사용하는게 좋겠죠?

그리고 baud rate 도 처음엔 9600 만 사용해야 하는줄 알았는데, 이제는 115200 이 일반화 된것 같습니다.

그래서 요즘 버전들이 지원하는 115200 이상은 큰 문제가 없는듯 합니다.





3. NON-BOOT mode


이제 ESPRESSIF SYSTEMS 에서 내놓은 firmware 를 올려볼 차례 입니다.

여러 버전들이 존재하지만, 단순히 ready 상태를 띄워놓고 프로그래밍 하는 방법과, AT command 를 활용하는 두가지 방법이 있습니다.


우선 NON-BOOT mode 의 firmware 를 올려보겠습니다.


8Mbit = 1MiB 를 지원하는 NON-BOOT 버전은 2.0.0 이 마지막 버전인 듯 합니다.

(다른 버전에는 noboot 라는 디렉토리와 관련된 파일이 아예 없슴)


* ESP8266 NONOS SDK V2.0.0 20160810

https://www.espressif.com/en/support/download/sdks-demos

esp8266_nonos_sdk_v2.0.0_16_08_10.zip



위의 압축파일을 풀어보면, "README.md" 파일에 address 정보가 나와 있습니다.


esp8266_nonos_sdk_v2.0.0_16_08_10\ESP8266_NONOS_SDK\bin\at\README.md



# NON-BOOT MODE
## download
    eagle.flash.bin              0x00000
    eagle.irom0text.bin          0x10000
    blank.bin
        Flash size 8Mbit:        0x7e000 & 0xfe000
        Flash size 16Mbit:       0x7e000 & 0x1fe000
        Flash size 16Mbit-C1:    0xfe000 & 0x1fe000
        Flash size 32Mbit:       0x7e000 & 0x3fe000
        Flash size 32Mbit-C1:    0xfe000 & 0x3fe000
    esp_init_data_default.bin (optional)    
        Flash size 8Mbit:        0xfc000
        Flash size 16Mbit:       0x1fc000
        Flash size 16Mbit-C1:    0x1fc000
        Flash size 32Mbit:       0x3fc000
        Flash size 32Mbit-C1:    0x3fc000


플러쉬 tool 에서 메모리 사이즈에 맞는 파일과 address 를 지정해 주면 됩니다.

저는 8Mbit = 1MiB 플레쉬 메모리 이므로 해당하는 값을 챙깁니다.



위의 설정에서 참고로, "CrystalFreq" 부분을 26M 로 하는 것은, 실제로 ESP8266 에서 26MHz 오실레이터를 사용하기 때문입니다.



플레쉬 회로 구성은 1편에서 자세히 다뤘습니다.

주의할 점은, flashing 할 때에는 아래처럼 "추가 전원" 이 꼭 필요하다는 점 잊지 마시구요.



Flash Download Tools 의 콘솔 화면입니다.



문제 없이 완료되면 위의 그림처럼 보입니다.

putty 로 접속하고, 만들어지 회로에서 RST 버튼을 누르면 아래처럼 ready 상태를 확인할 수 있습니다.






4. BOOT mode


BOOT mode 로 사용하게 되면 AT command 를 통해서 직접 ESP8266 을 컨트롤 할 수 있습니다.

1MiB 짜리 ESP8266 에 대응하는 BOOT mode 의 최신버전은 현재 기준 V2.2.1 인것 같습니다.

V3.0.0 이상으로 올라가면, flash memory 가 1MiB 초과하는 버전만 대응한다고 문서에 나와 있어요.


* ESP8266 NONOS SDK V2.2.1

https://www.espressif.com/en/support/download/sdks-demos

ESP8266_NONOS_SDK-2.2.1.zip



아래 AT Instruction Set 문서의 1.2.4 섹션을 보면 8Mbit Flash address 에 대해 나와있습니다.


* ESP8266 AT Instruction Set

https://www.espressif.com/en/support/download/documents?keys=&field_type_tid%5B%5D=14

4a-esp8266_at_instruction_set_en.pdf



위의 정보에서 boot.bin 부분을 boot_v1.6.bin 으로 바꿔서 flashing 하면 됩니다.

물론 동일한 디렉토리에 존재하는 boot_v1.7.bin 도 해봤습니다. 그치만 booting 되면 1.6 으로 뜨더군요.

아마 내부 로직으로 인하여 v1.7 은 overwrite 가 되지 않는것 같습니다.



Flash 잘 되었구요.

동영상도 올려 봅니다.



확인해 보니, 완전 최신으로 업데잇 되었습니다 (얏호~).



그치만 Ai-Thinker 는 web server 가 기본 장착되어 있지만, ESPRESSIF SYSTEMS 의 firmware 에는 없나 봅니다.

IP 를 얻고 접속해 봐도 web page 가 뜨지 않습니다.





FIN


이제 ESP8266 에 대한 firmware 방법은 마스터 한것 같습니다.

다음에는 AT command 활용과 sketch 올리는 법, 그리고 메모리 업그래이드 하는 방법을 시도해 보겠습니다.


And