ESP-IDF เป็นกรอบการพัฒนาอย่างเป็นทางการสำหรับชิป ESP32
ดูคู่มือการตั้งค่าสำหรับคำแนะนำโดยละเอียดในการตั้งค่า ESP-IDF:
เช่นเดียวกับโปรเจ็กต์ esp-idf-template ที่กล่าวถึงในคู่มือการตั้งค่า ESP-IDF ยังมาพร้อมกับโปรเจ็กต์ตัวอย่างบางส่วนในไดเร็กทอรีตัวอย่าง
เมื่อคุณพบโปรเจ็กต์ที่คุณต้องการทำงานแล้ว ให้เปลี่ยนเป็นไดเร็กทอรีของโปรเจ็กต์ จากนั้นคุณสามารถกำหนดค่าและสร้างมันขึ้นมาได้
make menuconfig
?
เพื่อดูหน้าจอความช่วยเหลือ ปุ่ม Enter ออกจากหน้าจอวิธีใช้Y
และ N
เพื่อเปิดใช้งาน (ใช่) และปิดใช้งาน (ไม่ใช่) รายการการกำหนดค่าพร้อมช่องทำเครื่องหมาย " [*]
"?
ขณะที่ไฮไลต์รายการกำหนดค่าจะแสดงความช่วยเหลือเกี่ยวกับรายการนั้น/
เพื่อค้นหารายการการกำหนดค่าเมื่อกำหนดค่าเสร็จแล้ว ให้กด Escape หลายครั้งเพื่อออกและพูดว่า "ใช่" เพื่อบันทึกการกำหนดค่าใหม่เมื่อได้รับแจ้ง
make all
... จะคอมไพล์แอพ, bootloader และสร้างตารางพาร์ติชั่นตามการกำหนดค่า
เมื่อ make all
เสร็จแล้วมันจะพิมพ์บรรทัดคำสั่งเพื่อใช้ esptool.py เพื่อแฟลชชิป อย่างไรก็ตาม คุณสามารถทำได้จากการ make โดยการรัน:
make flash
สิ่งนี้จะแฟลชทั้งโปรเจ็กต์ (แอพ, bootloader และตารางพาร์ติชั่น) ไปยังชิปใหม่ การตั้งค่าสำหรับการกะพริบของพอร์ตอนุกรมสามารถกำหนดค่าได้ด้วย make menuconfig
คุณไม่จำเป็นต้องรัน make all
ก่อนที่จะรัน make flash
make flash
จะสร้างทุกสิ่งที่ต้องการขึ้นมาใหม่โดยอัตโนมัติ
เป้าหมาย make monitor
จะใช้ miniterm ที่ติดตั้งไว้แล้ว (ส่วนหนึ่งของ pyserial) เพื่อแสดงเอาต์พุตอนุกรมจาก ESP32 บนคอนโซลเทอร์มินัล
ออกจาก miniterm โดยพิมพ์ Ctrl-]
หากต้องการแฟลชและตรวจสอบเอาต์พุตในครั้งเดียว คุณสามารถเรียกใช้:
make flash monitor
หลังจากแฟลชครั้งแรก คุณอาจต้องการสร้างและแฟลชเฉพาะแอปของคุณ ไม่ใช่โปรแกรมโหลดบูตและตารางพาร์ติชัน:
make app
- สร้างเฉพาะแอปmake app-flash
- แฟลชเฉพาะแอป make app-flash
จะสร้างแอปขึ้นมาใหม่โดยอัตโนมัติหากต้องการ
(ในการพัฒนาปกติ ไม่มีข้อเสียในการรีแฟลช bootloader และตารางพาร์ติชันในแต่ละครั้ง หากไม่มีการเปลี่ยนแปลง)
ESP-IDF รองรับการคอมไพล์หลายไฟล์พร้อมกัน ดังนั้นคำสั่งข้างต้นทั้งหมดจึงสามารถรันเป็น make -jN
โดยที่ N
คือจำนวนของกระบวนการ make แบบขนานที่จะรัน (โดยทั่วไป N ควรเท่ากับหรือมากกว่าจำนวนคอร์ CPU หนึ่งคอร์ ในระบบของคุณ)
ฟังก์ชั่น make หลายรายการสามารถรวมเป็นหนึ่งเดียวได้ ตัวอย่างเช่น ในการสร้างแอปและบูตโหลดเดอร์โดยใช้ 5 งานพร้อมกัน จากนั้นแฟลชทุกอย่าง จากนั้นแสดงเอาต์พุตอนุกรมจากการรัน ESP32:
make -j5 flash monitor
เมื่อคุณคอมไพล์โปรเจ็กต์ของคุณแล้ว ไดเร็กทอรี "build" จะมีไฟล์ไบนารี่ที่มีชื่อเช่น "my_app.bin" นี่คือไบนารีอิมเมจ ESP32 ที่สามารถโหลดได้โดย bootloader
แฟลชของ ESP32 ตัวเดียวสามารถมีได้หลายแอป รวมถึงข้อมูลประเภทต่างๆ มากมาย (ข้อมูลการสอบเทียบ ระบบไฟล์ พื้นที่จัดเก็บพารามิเตอร์ ฯลฯ) ด้วยเหตุนี้ ตารางพาร์ติชันจึงถูกแฟลชเพื่อชดเชย 0x4000 ในแฟลช
แต่ละรายการในตารางพาร์ติชันจะมีชื่อ (ป้ายกำกับ) ประเภท (แอป ข้อมูล หรืออย่างอื่น) ประเภทย่อย และออฟเซ็ตในแฟลชที่โหลดพาร์ติชัน
วิธีที่ง่ายที่สุดในการใช้ตารางพาร์ติชันคือ make menuconfig
และเลือกหนึ่งในตารางพาร์ติชันที่กำหนดไว้ล่วงหน้าอย่างง่าย:
ในทั้งสองกรณี แอปจากโรงงานจะกะพริบที่ออฟเซ็ต 0x10000 หากคุณ make partition_table
มันจะพิมพ์ข้อมูลสรุปของตารางพาร์ติชั่น
สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับตารางพาร์ติชันและวิธีสร้างรูปแบบที่กำหนดเอง โปรดดูไฟล์ docs/partition-tables.rst
เป้าหมาย make flash
จะไม่ลบเนื้อหาแฟลชทั้งหมด อย่างไรก็ตาม บางครั้งการตั้งค่าอุปกรณ์กลับไปสู่สถานะที่ถูกลบทั้งหมดอาจมีประโยชน์ โดยเฉพาะอย่างยิ่งเมื่อทำการเปลี่ยนแปลงตารางพาร์ติชั่นหรืออัปเดตแอป OTA หากต้องการลบแฟลชทั้งหมด ให้รัน make erase_flash
ซึ่งสามารถใช้ร่วมกับเป้าหมายอื่นๆ ได้ เช่น make erase_flash flash
จะลบทุกอย่าง จากนั้นแฟลชแอปใหม่ bootloader และตารางพาร์ติชันอีกครั้ง
เอกสารประกอบสำหรับเวอร์ชันล่าสุด: http://esp-idf.readthedocs.io/ เอกสารประกอบนี้สร้างขึ้นจากไดเร็กทอรีเอกสารของที่เก็บนี้
ฟอรัม esp32.com เป็นที่สำหรับถามคำถามและค้นหาแหล่งข้อมูลของชุมชน
ตรวจสอบส่วนปัญหาบน GitHub หากคุณพบข้อบกพร่องหรือมีคำขอคุณสมบัติ โปรดตรวจสอบปัญหาที่มีอยู่ก่อนที่จะเปิดปัญหาใหม่
หากคุณสนใจที่จะร่วมสนับสนุน ESP-IDF โปรดดูคู่มือการมีส่วนร่วม