Site icon TAPIT

Hướng dẫn nạp firmware ESP32 và ESP8266 bằng ESPTOOL, không cần IDE Arduino

 

     Như đã biết để lập trình hay nạp code (firmware) cho ESP thì chúng ta hay sử dụng IDE Arduino, nó vừa có thể lập trình, biên dịch (compile) hay nạp code (upload) xuống Kit ESP. Tuy nhiên nếu 1 ngày 1 người bạn của bạn hay người lạ gửi cho bạn chỉ có file code đã được biên dịch (file .bin or .hex, mà với esp thì biên dịch là ra file .bin) để nạp cho ESP. Thì lúc này chúng ta sẽ nạp file .bin đó vào ESP bằng cách như thế nào, đó chính là nội dung của bài chia sẻ này. Mình sẽ hướng dẫn các bạn dùng tool, kết hợp vài lệnh command line là có thể nạp file .bin xuống ESP.

1. Chuẩn bị

2. Tiến hành

https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers

ESP thường sử dụng chip CP2102 để giao tiếp PC.

 

Mình dùng: cd C:\Python27\Scripts

           pip install esptool

         Nếu chạy command trên không được thì bạn có thể thử: pip2 install esptool

        esptool.py --chip esp32 --port<serial_port> write_flash -z 0x10000 <esp_file.bin>

         – Với esp8266 thì đổi esp32 thành esp8266

        – <Serial_port> là cổng COM của esp, vd: COM1, COM2….

        – <esp_file.bin> là địa chỉ file .bin firmware cần nạp.

Ví dụ: esptool.py –chip esp32 –port COM3 write_flash -z 0x10000    C:\Users\Wiki\AppData\Local\Temp\arduino_build_500706 \ sketch_jun08a.ino.bin

 

Chú ý: Bạn nên để ý địa chỉ ghi vào flash cho đúng, với esp của mình mình thấy nó nạp firmware từ địa chỉ 0x10000 nên mình dùng địa chỉ này, nếu bạn ghi sai địa chỉ flash, thì esp sẽ reset liên tục, không chạy được. Kinh nghiệm để mình biết địa chỉ ghi này thì mình dùng IDE arduino mình nạp 1 code chạy trước, để biết cái địa chỉ này (Như ảnh bên dưới).

 

3. Kết luận

     Tuy cách trên ít sử dụng tới, bởi đa số các bạn đều làm ở dạng code trực tiếp trên IDE rồi nạp luôn, hay có sẵn sourcecode. Chứ hiếm khi chỉ có file .bin để nạp thôi, thường cái này sẽ ở mức độ bảo mật, người khác không muốn chia sẻ sourcecode mà chỉ chia sẻ file bin để nạp. Nhưng cũng có khi loại kiểu này dành cho các bạn không chuyên, không code, không biết sử dụng IDE Arduino mà chỉ cần nạp firmware về để chạy esp, làm các ứng dụng IoT vui vui. Hy vọng bài chia sẻ trên sẽ giúp ích cho những ai đang cần.
Xem thêm:  Tổng hợp hướng dẫn Internet of Things với NodeMCU ESP8266 và ESP32

Chúc bạn thành công!

Tấn Lĩnh – Wiki