이 글은 전편이 있습니다.
* 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
두개 구입했고 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
아래 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 올리는 법, 그리고 메모리 업그래이드 하는 방법을 시도해 보겠습니다.
'Hardware' 카테고리의 다른 글
Hardware | Samsung Galaxy J3 LCD 를 교환 DIY 해보자 (0) | 2019.01.12 |
---|---|
Hardware | Digital Compass - HMC5883L 사용기 - 2 (0) | 2019.01.01 |
Hardware | RadarBox24 멘터넌스 (0) | 2018.12.21 |
Hardware | Breadboard Jumper 구입하기 (0) | 2018.12.21 |
Hardware | 샤오미 창미 멀티탭 3구 USB 3포트 (0) | 2018.12.16 |