วันพฤหัสบดีที่ 3 มีนาคม พ.ศ. 2559

วิธีสำเนาโปรแกรมในรอมของ NodeMCU / Witty Node ESP8266


บางครั้ง การ compile และ upload ตัวโปรแกรมลงสู่รอมของ NodeMCU ที่ซ้ำๆกันจำนวนมาก
เสียเวลาต้องมา compile เพื่อ upload ใหม่

เรามาดูวิธีการดูด โปรแกรมที่ upload ขึ้นรอมไปแล้ว กันดีกว่า
โดยตัวโปรแกรมรอมที่ได้จะเป็น binary ไม่ใช่ source code
(คือไม่สามารถดู source code ได้แต่ไว้ทำสำเนา)


ขั้นตอนคือ ใช้โปรแกรม esptool เลย
โดย esptool เราจะพึ่ง script ที่เป็นภาษา python

ฉะนั้น ต้องลง python ให้เรียบร้อยเสียก่อน
และไปหา esptool.py มาใช้งาน

สำหรับคำสั่งการดูดตัว rom ออกมา ในช่วง 1Mb แรก ที่เป็นพื้นที่ปกติของ NodeMCU / WittyNode
ที่เอาไว้ใส่ rom binary มีดังนี้

python esptool.py -b 115200 --port COM3 read_flash 0x000000 0x100000 flash_1M.bin


ให้เปลี่ยน ค่า port ให้ตรงกับที่ NodeMCU/WittyNode เสียบไว้อยู่
กำหนดความเร็วที่ 115200
เพื่อทำการอ่านตั้งแต่ address 0x000000 โดยมีขนาด 0x100000
(หรือ 1Mb อันเป็นพื้นที่สูงสุดในส่วนไว้ลงโปรแกรมทำให้ NodeMCU/ WittyNode ทำงาน)

จะใช้เวลาดูดออกมาสักพัก และไปอยู่ที่ไฟล์ชื่อ flash_1M.bin


จากนั้น ก็เอา NodeMCU / WittyNode Esp8266 อีกตัวมา upload รอมที่ได้เข้าไป ด้วยคำสั่ง

python esptool.py -b 115200 --port COM9 write_flash --flash_freq 80m 0x000000 flash_1M.bin

แก้ค่า port ให้ตรงกับ NodeMCU ตัวใหม่ที่เสียบให้ถูกต้อง
ก็เป็นอันสำเนารอมให้ตรงกับตัวแรกทุกประการ โดยไม่ต้องทำการ compile ใหม่




ไม่มีความคิดเห็น:

แสดงความคิดเห็น