สร้าง OpenThread

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

วิธีสร้าง OpenThread

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

เวิร์กโฟลว์ที่พบบ่อยที่สุดคือ

  1. ตั้งค่าสภาพแวดล้อมของบิลด์และติดตั้งเครื่องมือเชนที่ต้องการ ดังนี้
    1. หากต้องการสร้างโดยตรงในเครื่อง ให้ดูวิธีการโดยละเอียดที่ Simulation Codelab
    2. หากต้องการใช้คอนเทนเนอร์ Docker ที่มีสภาพแวดล้อมที่กําหนดค่าไว้ล่วงหน้า ให้ดาวน์โหลดและเรียกใช้รูปภาพ OpenThread environment ดังนี้
      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. จากไดเรกทอรีรากที่คัดลอกมา's
    1. ติดตั้งเครื่องมือเชน:
      ./script/bootstrap
      
    2. สร้างการกําหนดค่าดังนี้
      ./script/build platform-specific-args cmake-options
      
  4. แฟลชไบนารีที่ต้องการไปยังแพลตฟอร์มเป้าหมาย ไบนารีที่สร้างทั้งหมดจะอยู่ใน ./build/bin

การกำหนดค่า

คุณกําหนดค่า OpenThread เพื่อใช้ฟังก์ชันและการทํางานต่างๆ ในระหว่างขั้นตอนการสร้างได้ ตัวเลือกการกําหนดค่าที่ใช้ได้จะอยู่ในรายละเอียดที่ตําแหน่งต่อไปนี้

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

ตัวอย่างบิลด์

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

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

หรือหากต้องการสร้างแพลตฟอร์ม nRF52840 ที่เปิดใช้ฟีเจอร์การตรวจจับ Jamboard ในที่เก็บ ให้ทําดังนี้

./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 อุปกรณ์ชุดข้อความแบบเต็มสําหรับการออกแบบ SoC -DOT_APP_CLI=ON
-DOT_FTD=ON
ot-cli-mtd อุปกรณ์ชุดข้อความขนาดเล็กสําหรับการออกแบบ SoC -DOT_APP_CLI=ON
-DOT_MTD=ON
ot-ncp-ftd อุปกรณ์เทรดแบบเต็มสําหรับการออกแบบเครือข่ายโปรเซสเซอร์ร่วม (NCP) -DOT_APP_NCP=ON
-DOT_FTD=ON
ot-ncp-mtd อุปกรณ์ชุดข้อความมาตรฐานสําหรับการออกแบบ NCP -DOT_APP_NCP=ON
-DOT_MTD=ON
ot-rcp การออกแบบตัวประมวลผลวิทยุร่วม (RCP) -DOT_APP_RCP=ON
-DOT_RCP=ON

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

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

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

Daemon ของ OpenThread

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

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

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