ESP-IDF เป็นเฟรมเวิร์กการพัฒนาสำหรับ Espressif SoC ที่รองรับบน Windows, Linux และ macOS
ตารางต่อไปนี้แสดงการรองรับ ESP-IDF ของ Espressif SoC โดยที่ และ แสดงถึงสถานะการแสดงตัวอย่างและการรองรับ ตามลำดับ การสนับสนุนการแสดงตัวอย่างมักจะจำกัดเวลาและมีไว้สำหรับชิปเวอร์ชันเบต้า โปรดใช้รุ่น ESP-IDF ที่รองรับ SoC ที่ต้องการแล้ว
ชิป | เวอร์ชัน 5.0 | เวอร์ชัน 5.1 | เวอร์ชัน 5.2 | เวอร์ชัน 5.3 | เวอร์ชัน 5.4 | |
---|---|---|---|---|---|---|
อีเอสพี32 | ||||||
อีพี32-S2 | ||||||
ESP32-C3 | ||||||
อีพี32-S3 | ประกาศ | |||||
อีเอสพี32-C2 | ประกาศ | |||||
อีพี32-C6 | ประกาศ | |||||
ESP32-H2 | ประกาศ | |||||
ESP32-P4 | ประกาศ | |||||
อีเอสพี32-C5 | ประกาศ | |||||
ESP32-C61 | ประกาศ |
มีการแก้ไขหลายรูปแบบสำหรับชุดชิป ดูความเข้ากันได้ระหว่างรุ่น ESP-IDF และรุ่นปรับปรุงของ Espressif SoC สำหรับรายละเอียดความเข้ากันได้ระหว่าง ESP-IDF และรุ่นปรับปรุงชิป
Espressif SoC ที่เปิดตัวก่อนปี 2016 (ESP8266 และ ESP8285) ได้รับการสนับสนุนโดย RTOS SDK แทน
ดู https://idf.espressif.com/ สำหรับลิงก์ไปยังคำแนะนำโดยละเอียดเกี่ยวกับวิธีตั้งค่า ESP-IDF ขึ้นอยู่กับชิปที่คุณใช้
หมายเหตุ: SoC แต่ละซีรีส์และ ESP-IDF แต่ละรุ่นมีเอกสารประกอบของตัวเอง โปรดดูเวอร์ชันของส่วนเกี่ยวกับวิธีการค้นหาเอกสารและวิธีการชำระเงิน ESP-IDF รุ่นเฉพาะ
ESP-IDF ใช้ตำแหน่งสัมพัทธ์เป็น URL ของโมดูลย่อย (.gitmodules) ดังนั้นพวกเขาจึงลิงก์ไปที่ GitHub หาก ESP-IDF ถูกแยกไปยังที่เก็บ Git ซึ่งไม่ได้อยู่ใน GitHub คุณจะต้องเรียกใช้ script tools/set-submodules-to-github.sh หลังจาก git clone
สคริปต์จะตั้งค่า URL ที่แน่นอนสำหรับโมดูลย่อยทั้งหมด ทำให้สามารถ git submodule update --init --recursive
ให้เสร็จสมบูรณ์ได้ หากทำการโคลน ESP-IDF จาก GitHub ก็ไม่จำเป็นต้องมีขั้นตอนนี้
เช่นเดียวกับโปรเจ็กต์ esp-idf-template ที่กล่าวถึงในการเริ่มต้นใช้งาน ESP-IDF ยังมาพร้อมกับโปรเจ็กต์ตัวอย่างบางส่วนในไดเร็กทอรีตัวอย่าง
เมื่อคุณพบโปรเจ็กต์ที่คุณต้องการทำงานแล้ว ให้เปลี่ยนเป็นไดเร็กทอรีของโปรเจ็กต์ จากนั้นคุณสามารถกำหนดค่าและสร้างมันขึ้นมาได้
หากต้องการเริ่มต้นโครงการของคุณเองตามตัวอย่าง ให้คัดลอกไดเรกทอรีโครงการตัวอย่างภายนอกไดเรกทอรี ESP-IDF
ดูลิงก์คู่มือการเริ่มต้นใช้งานด้านบนสำหรับคู่มือการตั้งค่าโดยละเอียด นี่เป็นข้อมูลอ้างอิงโดยย่อสำหรับคำสั่งทั่วไปเมื่อทำงานกับโปรเจ็กต์ ESP-IDF:
(ดูคู่มือการเริ่มต้นใช้งานที่แสดงไว้ด้านบนสำหรับรายการขั้นตอนที่จำเป็นทั้งหมดพร้อมรายละเอียดเพิ่มเติม)
install.bat
หรือ install.ps1
สำหรับ Windows และ install.sh
หรือ install.fish
สำหรับเชลล์ Unixexport.bat
) หรือซอร์สบน Unix ( source export.sh
) ในทุกสภาพแวดล้อมเชลล์ก่อนที่จะใช้ ESP-IDF idf.py set-target
กำหนดเป้าหมายของโครงการเป็น
เรียกใช้ idf.py set-target
โดยไม่มีข้อโต้แย้งใดๆ เพื่อดูรายการเป้าหมายที่รองรับidf.py menuconfig
จะเปิดเมนูการกำหนดค่าแบบข้อความซึ่งคุณสามารถกำหนดค่าโครงการได้ idf.py build
... จะคอมไพล์แอพ, bootloader และสร้างตารางพาร์ติชั่นตามการกำหนดค่า
เมื่อสร้างเสร็จแล้ว ระบบจะพิมพ์บรรทัดคำสั่งเพื่อใช้ esptool.py เพื่อแฟลชชิป อย่างไรก็ตาม คุณสามารถทำได้โดยอัตโนมัติด้วยการเรียกใช้:
idf.py -p PORT flash
แทนที่ PORT ด้วยชื่อของพอร์ตอนุกรมของคุณ (เช่น COM3
บน Windows, /dev/ttyUSB0
บน Linux หรือ /dev/cu.usbserial-X
บน MacOS หากไม่มีตัวเลือก -p
ไว้ idf.py flash
จะพยายาม แฟลชพอร์ตอนุกรมแรกที่มีอยู่
สิ่งนี้จะแฟลชทั้งโปรเจ็กต์ (แอพ, bootloader และตารางพาร์ติชั่น) ไปยังชิปใหม่ การตั้งค่าสำหรับการกะพริบพอร์ตอนุกรมสามารถกำหนดค่าได้ด้วย idf.py menuconfig
คุณไม่จำเป็นต้องรัน idf.py build
ก่อนที่จะรัน idf.py flash
เพราะ idf.py flash
จะสร้างทุกอย่างที่ต้องการขึ้นมาใหม่โดยอัตโนมัติ
เป้าหมาย idf.py monitor
ใช้เครื่องมือ esp-idf-monitor เพื่อแสดงเอาต์พุตอนุกรมจาก Espressif SoC esp-idf-monitor ยังมีฟีเจอร์มากมายในการถอดรหัสเอาต์พุตที่ขัดข้องและโต้ตอบกับอุปกรณ์ ตรวจสอบหน้าเอกสารเพื่อดูรายละเอียด
ออกจากจอภาพโดยพิมพ์ Ctrl-]
หากต้องการสร้าง แฟลช และตรวจสอบเอาต์พุตในครั้งเดียว คุณสามารถเรียกใช้:
idf.py flash monitor
หลังจากแฟลชครั้งแรก คุณอาจต้องการสร้างและแฟลชเฉพาะแอปของคุณ ไม่ใช่โปรแกรมโหลดบูตและตารางพาร์ติชัน:
idf.py app
- สร้างเฉพาะแอปidf.py app-flash
- แฟลชเฉพาะแอป idf.py app-flash
จะสร้างแอปขึ้นมาใหม่โดยอัตโนมัติหากไฟล์ต้นฉบับมีการเปลี่ยนแปลง
(ในการพัฒนาปกติ ไม่มีข้อเสียในการรีแฟลช bootloader และตารางพาร์ติชั่นในแต่ละครั้ง หากไม่มีการเปลี่ยนแปลง)
เป้าหมาย idf.py flash
จะไม่ลบเนื้อหาแฟลชทั้งหมด อย่างไรก็ตาม บางครั้งการตั้งค่าอุปกรณ์กลับไปสู่สถานะที่ถูกลบทั้งหมดอาจมีประโยชน์ โดยเฉพาะอย่างยิ่งเมื่อทำการเปลี่ยนแปลงตารางพาร์ติชั่นหรืออัปเดตแอป OTA หากต้องการลบแฟลชทั้งหมด ให้รัน idf.py erase-flash
ซึ่งสามารถใช้ร่วมกับเป้าหมายอื่นๆ ได้ เช่น idf.py -p PORT erase-flash flash
จะลบทุกอย่าง จากนั้นจึงแฟลชแอปใหม่ bootloader และตารางพาร์ติชันอีกครั้ง
เอกสารสำหรับเวอร์ชันล่าสุด: https://docs.espressif.com/projects/esp-idf/ เอกสารประกอบนี้สร้างขึ้นจากไดเร็กทอรีเอกสารของที่เก็บนี้
คู่มือสำหรับผู้เริ่มต้นเกี่ยวกับแนวคิดหลักและทรัพยากรของ ESP-IDF
ฟอรัม esp32.com เป็นที่สำหรับถามคำถามและค้นหาแหล่งข้อมูลของชุมชน
ตรวจสอบส่วนปัญหาบน GitHub หากคุณพบข้อบกพร่องหรือมีคำขอคุณสมบัติ โปรดตรวจสอบปัญหาที่มีอยู่ก่อนที่จะเปิดปัญหาใหม่
หากคุณสนใจที่จะร่วมสนับสนุน ESP-IDF โปรดดูคู่มือการมีส่วนร่วม