สร้าง OpenThread

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

วิธีสร้าง OpenThread

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

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

  1. ตั้งค่าสภาพแวดล้อมของบิลด์และติดตั้ง Toolchain ที่ต้องการ
    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. จากไดเรกทอรีรูทของที่เก็บที่โคลน ให้ทำดังนี้
    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 ที่เปิดใช้การสนับสนุนจาก Commissioner และ Joiner:

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

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

./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 การออกแบบโปรเซสเซอร์ร่วมวิทยุ (RCP) -DOT_APP_RCP=ON
-DOT_RCP=ON

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

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

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

Daemon ของ OpenThread

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

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

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