Google is committed to advancing racial equity for Black communities. See how.
หน้านี้ได้รับการแปลโดย Cloud Translation API
Switch to English

สร้าง OpenThread

ดูแหล่งที่มาบน GitHub

วิธีสร้าง OpenThread

ขั้นตอนในการสร้าง OpenThread จะแตกต่างกันไปขึ้นอยู่กับ toolchain เครื่องผู้ใช้และแพลตฟอร์มเป้าหมาย

ขั้นตอนการทำงานที่พบบ่อยที่สุดคือ:

  1. ตั้งค่าสภาพแวดล้อมการสร้างและติดตั้ง toolchain ที่ต้องการ:
    1. ในการสร้างบนเครื่องโดยตรง โปรดดูที่ Simulation Codelab สำหรับคำแนะนำโดยละเอียด
    2. ในการใช้คอนเทนเนอร์ Docker กับสภาพแวดล้อมที่กำหนดไว้ล่วงหน้าให้ ดาวน์โหลดและเรียกใช้อิมเมจ environment OpenThread:
      docker pull openthread/environment:latest
      docker run -it --rm openthread/environment bash
      
  2. ภายในสภาพแวดล้อมที่คุณเลือกโคลนที่เก็บ OpenThread Git เฉพาะแพลตฟอร์ม ยกตัวอย่าง CC2538:
    git clone https://github.com/openthread/ot-cc2538.git --recursive
    
  3. จากไดเร็กทอรีรูทของที่เก็บโคลน:
    1. ติดตั้ง toolchain:
      ./script/bootstrap
      
    2. สร้างการกำหนดค่า:
      ./script/build platform-specific-args cmake-options
      
  4. แฟลชไบนารีที่ต้องการไปยังแพลตฟอร์มเป้าหมาย ไบนารีที่สร้างขึ้นทั้งหมดจะอยู่ใน. / ./build/bin

การกำหนดค่า

คุณสามารถกำหนดค่า OpenThread สำหรับฟังก์ชันการทำงานและลักษณะการทำงานที่แตกต่างกันในระหว่างขั้นตอนการสร้าง ตัวเลือกการกำหนดค่าที่ใช้ได้มีรายละเอียดตามตำแหน่งต่อไปนี้:

ประเภท สถานที่
ค่าคงที่เวลาคอมไพล์ แสดงอยู่ในไฟล์ส่วนหัวทั้งหมดใน /src/core/config
ตัวเลือกการสร้าง cmake แสดงรายการใน openthread/examples/README.md

สร้างตัวอย่าง

ใช้ตัวเลือกการสร้าง cmake เพื่อเปิดใช้งานฟังก์ชันสำหรับแพลตฟอร์ม ตัวอย่างเช่นในการสร้างไบนารีสำหรับแพลตฟอร์ม CC2538 โดยเปิดใช้งานการสนับสนุน Commission และ Joiner:

./script/build -DOT_COMMISSIONER=ON -DOT_JOINER=ON

หรือเพื่อสร้างแพลตฟอร์ม nRF52840 โดยเปิดใช้งาน คุณสมบัติ Jam Detection ใน repo:

./script/build nrf52840 UART_trans -DOT_JAM_DETECTION=ON

ไบนารี

ไบนารีต่อไปนี้ถูกสร้างขึ้นใน. / ./build/bin จากกระบวนการสร้าง ในการพิจารณาว่าไบนารีใดถูกสร้างขึ้นให้ใช้แฟล็กด้วยคำสั่ง. / ./script/build ตัวอย่างเช่นในการสร้าง OpenThread และสร้างเฉพาะไบนารี FTD CLI:

./script/build -DOT_APP_CLI=ON -DOT_FTD=ON -DOT_MTD=OFF -DOT_APP_NCP=OFF -DOT_APP_RCP=OFF -DOT_RCP=OFF
ไบนารี่ คำอธิบาย ตัวเลือก
ot-cli-ftd อุปกรณ์ Full Thread สำหรับการออกแบบ SoC -DOT_APP_CLI=ON
-DOT_FTD=ON
ot-cli-mtd อุปกรณ์ด้ายน้อยที่สุดสำหรับการออกแบบ SoC -DOT_APP_CLI=ON
-DOT_MTD=ON
ot-ncp-ftd อุปกรณ์ Full Thread สำหรับการออกแบบ Network Co-Processor (NCP) -DOT_APP_NCP=ON
-DOT_FTD=ON
ot-ncp-mtd อุปกรณ์ด้ายน้อยที่สุดสำหรับการออกแบบ NCP -DOT_APP_NCP=ON
-DOT_MTD=ON
ot-rcp การออกแบบ Radio Co-Processor (RCP) -DOT_APP_RCP=ON
-DOT_RCP=ON

โดยค่าเริ่มต้นแฟล็กด้านบนทั้งหมดจะเปิดใช้งาน หากคุณปิดใช้งานแฟล็กทั้งหมดอย่างชัดเจนแอ็พพลิเคชันจะไม่ถูกสร้างขึ้น แต่ไฟล์ไลบรารี OpenThread ยังคงสร้างใน. / ./build/lib เพื่อใช้ในโปรเจ็กต์

ตรวจสอบตัวอย่าง Makefiles สำหรับแต่ละแพลตฟอร์มเพื่อดูว่าแฟล็กใดที่แต่ละแพลตฟอร์มรองรับ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ FTD และ MTD โปรดดูที่ Thread Primer สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการออกแบบ SoC และ NCP โปรดดูที่ แพลตฟอร์ม

กระบวนการแฟลชไบนารีเหล่านี้จะแตกต่างกันไปตามแพลตฟอร์มตัวอย่าง ดู READMEs ใน โฟลเดอร์ตัวอย่าง ของแต่ละแพลตฟอร์มสำหรับคำแนะนำโดยละเอียด

OpenThread Daemon

OpenThread Daemon (OT Daemon) เป็นโหมดการสร้าง OpenThread POSIX ที่รัน OpenThread เป็นบริการและใช้กับการออกแบบ RCP สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการสร้างและใช้งานโปรดดูที่ OpenThread Daemon

สร้างแพ็คเกจการสนับสนุน

Build Support Packages (BSP) อยู่ใน /third_party BSP เป็นรหัสของบุคคลที่สามเพิ่มเติมที่ใช้โดย OpenThread ในแต่ละแพลตฟอร์มที่เกี่ยวข้องโดยทั่วไปจะรวมไว้เมื่อ พอร์ต OpenThread ไปยังแพลตฟอร์มฮาร์ดแวร์ใหม่