วิธีสร้าง OpenThread
ขั้นตอนการสร้าง OpenThread แตกต่างกันไปตามเครื่องมือ เครื่องของผู้ใช้ และแพลตฟอร์มเป้าหมาย
เวิร์กโฟลว์ที่พบบ่อยที่สุดมีดังนี้
- ตั้งค่าสภาพแวดล้อมของบิลด์และติดตั้งเครื่องมือเชนที่ต้องการ
- หากต้องการสร้างเครื่องโดยตรง โปรดดูวิธีการใน Simulation Codelab
- หากต้องการใช้คอนเทนเนอร์ Docker กับสภาพแวดล้อมที่กําหนดค่าไว้ล่วงหน้า
ให้ดาวน์โหลดและเรียกใช้อิมเมจ OpenThread
environment
ดังนี้docker pull openthread/environment:latest
docker run -it --rm openthread/environment bash
- โคลนที่เก็บ OpenThread Git เฉพาะแพลตฟอร์มภายในสภาพแวดล้อมที่คุณเลือก ลองดูตัวอย่าง CC2538
git clone https://github.com/openthread/ot-cc2538.git --recursive
- จากไดเรกทอรีรากของที่เก็บที่โคลน
- ติดตั้ง Toolchain ดังนี้
./script/bootstrap
- สร้างการกําหนดค่าดังนี้
./script/build platform-specific-args cmake-options
- ติดตั้ง Toolchain ดังนี้
- ใช้ไบนารีที่ต้องการไปยังแพลตฟอร์มเป้าหมาย ไบนารีที่สร้างขึ้นทั้งหมด
จะอยู่ใน
./build/bin
การกำหนดค่า
คุณจะกําหนดค่า OpenThread สําหรับฟังก์ชันการทํางานและการทํางานต่างๆ ได้ในกระบวนการบิลด์ โปรดดูรายละเอียดตัวเลือกการกําหนดค่าที่ใช้ได้ในตําแหน่งต่อไปนี้
ประเภท | ประเทศ |
---|---|
ค่าคงที่เวลาคอมไพล์ | แสดงในไฟล์ส่วนหัวทั้งหมดใน /src/core/config |
ตัวเลือกบิลด์สําหรับผู้ผลิต | ลิสต์ใน openthread/examples/README.md |
ตัวอย่างบิลด์
ใช้ตัวเลือกบิลด์เพื่อสร้างฟังก์ชันการทํางานสําหรับแพลตฟอร์ม เช่น หากต้องการสร้างไบนารีสําหรับแพลตฟอร์ม CC2538 ที่เปิดใช้การรองรับค่าคอมมิชชันและตัวเข้าร่วม ให้ทําดังนี้
./script/build -DOT_COMMISSIONER=ON -DOT_JOINER=ON
หรือสร้างแพลตฟอร์ม nRF52840 ที่เปิดใช้ฟีเจอร์Jam Detectionในที่เก็บ ให้ทําดังนี้
./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 |
อุปกรณ์แบบชุดข้อความที่สมบูรณ์สําหรับการออกแบบ 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
เพื่อใช้ในโปรเจ็กต์
ดูตัวอย่างการสร้างไฟล์สําหรับแต่ละแพลตฟอร์มเพื่อดูว่าแพลตฟอร์มใดรองรับในแต่ละแพลตฟอร์ม ดูข้อมูลเพิ่มเติมเกี่ยวกับ FTDs และ MTD ได้ที่ Thread Primer ดูข้อมูลเพิ่มเติมเกี่ยวกับการออกแบบ SoC และ NCP ได้ที่แพลตฟอร์ม
ขั้นตอนการกะพริบไบนารีเหล่านี้จะแตกต่างกันไปในแต่ละแพลตฟอร์มตัวอย่าง ดูวิธีการอย่างละเอียดได้ในโฟลเดอร์ตัวอย่างของแต่ละแพลตฟอร์ม
ชุดข้อความของ OpenThread Daemon
OpenThread Daemon (OT Daemon) คือโหมดการสร้าง OpenThread POSIX ที่เรียกใช้ OpenThread เป็นบริการและใช้กับการออกแบบ RCP ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีสร้างและใช้ข้อมูลได้ที่ OpenThread Daemon
สร้างแพ็กเกจการสนับสนุน
พบแพ็กเกจการสนับสนุนในบิลด์ (BSP) ใน /third_party
BSP เป็นโค้ดบุคคลที่สามเพิ่มเติมที่ใช้โดย OpenThread ในแต่ละแพลตฟอร์มที่เกี่ยวข้อง โดยทั่วไปแล้วจะรวมเมื่อพอร์ต OpenThread ไปยังแพลตฟอร์มฮาร์ดแวร์ใหม่