การถ่ายโอนข้อมูล
- นำไปใช้:
- UART เชื่อมต่อกับ UART เสมือนผ่าน USB
- RTT บน J-Link และ RTT บน ST-Link
- ไมโครคอนโทรลเลอร์ขนาดเล็กแยกกันสามารถใช้งานได้เสมอเป็นอินเทอร์เฟซบริดจ์กับ GPIO, I²C, SPI, CAN, LIN, ...
- ด้วยชิปจาก FTDI ให้ตรวจสอบว่า Adafruit FT232H Breakout, GPIO, I2C และ SPI สามารถเข้าถึงได้ง่าย
ตัวเลือกเซิร์ฟเวอร์การแสดงผล
เริ่ม trice ds
ภายในคอนโซล ตัวเลือก: Third_party/alacritty ในเครื่องหรือบนพีซีระยะไกล และเชื่อมต่อกับอินสแตนซ์เครื่องมือ trice หลายรายการ เช่น trice log -p COM15 -ds
เป็นต้น
เอกสารประกอบ
- https://interrupt.memfault.com/blog/trice (ล้าสมัยเล็กน้อย)
- คู่มือผู้ใช้ Trice (ครอบคลุมถึงข้อมูลที่เกิดขึ้นจริงของบล็อกขัดจังหวะด้วย)
- ตรวจสอบประเด็นและการอภิปรายรวมทั้งรายการที่ปิดไปแล้ว
- อ่านซอร์สโค้ดเป้าหมาย โดยเฉพาะ triceDefaultConfig.h
- ดูตัวเลือก CLI โดยดำเนินการ
trice help -all
ในเทอร์มินัลหรืออ่าน tricehelpall_test.go - ตรวจสอบและเลือกแก้ไข ./internal/emitter/lineTransformerANSI.go (จำเป็นต้อง
go install ./cmd/trice/...
หลังจากนั้น)
การดีบักโดยใช้ VS-Code และ Clang สำหรับโปรเจ็กต์ Trice-instrumented ในโหมด Direct-Out บน SEGGER-RTT
(ดูโฟลเดอร์ ./examples สำหรับรายละเอียดเพิ่มเติม)
ไทรซ์แคช
เริ่มต้นด้วย Trice เวอร์ชัน 0.70.0 คุณสามารถใช้สวิตช์ Trice -cache
CLI เพิ่มเติมสำหรับคำสั่ง trice insert
และ trice clean
สวิตช์นี้จะมีผลเฉพาะเมื่อผู้ใช้สร้างโฟลเดอร์ .trice/cache
ในโฮมไดเร็กตอรี่ของเขาเท่านั้น (ข้อมูลจำเพาะแคช Trice)
เมื่อใดจึงจะใช้มัน
เมื่อคุณใช้ trice i
เป็นขั้นตอนก่อนคอมไพล์ และ trice c
เป็นขั้นตอนหลังคอมไพล์เพื่อให้ ID ไม่อยู่ในซอร์สโค้ดของโปรเจ็กต์เมื่อคุณดำเนินการ ดังนั้นเฉพาะในช่วงเวลาการคอมไพล์เท่านั้น และต้องการเร่งความเร็วทั้งหมด สิ่ง.
มันทำงานอย่างไร
Trice cache จะเก็บสำเนาของไฟล์ที่ส่งผ่าน trice i
หรือ trice c
ทั้งหมดหลังจากประมวลผลแล้ว เพื่อหลีกเลี่ยงการแทรกและทำความสะอาด ID ซ้ำๆ สำเนาจะใช้เพื่อให้ได้ผลลัพธ์เช่นเดียวกับ trice i
หรือ trice c
สำหรับไฟล์ทั้งหมดที่ไม่มีการแก้ไขในระหว่างนั้น ไฟล์ที่แก้ไขจะได้รับการประมวลผลตามปกติ และแคชจะได้รับการอัปเดตในภายหลัง เนื่องจากการคัดลอกไฟล์เสร็จสิ้นโดยไม่เปลี่ยนเวลาแก้ไขไฟล์ ระบบบิลด์จึงไม่ประมวลผลไฟล์ที่ไม่เปลี่ยนแปลงอีก แม้ว่า ID จะถูกลบออกจากไฟล์ชั่วคราวก็ตาม
คำใบ้
จำเป็นต้องมีการดูแลเป็นพิเศษ เมื่อระบบบิลด์แก้ไขไฟล์ต้นฉบับเช่นกัน!
ตัวอย่างเช่น ตัวจัดรูปแบบอัตโนมัติควรเปิดใช้งาน ก่อน คำสั่ง tice insert
จะใช้โหมดไหน?
- สำหรับโหมดการพัฒนาโดยตรงด้วย SEGGER_RTT ขอแนะนำ
- กรณีการใช้งานส่วนใหญ่ครอบคลุมได้ในโหมดเลื่อนออกไปด้วย TRICE_BUFFER == TRICE_RING_BUFFER (ความต้องการ RAM น้อยลง) ใน TRICE_MULTI_PACK_MODE (การถ่ายโอนข้อมูลน้อยลง)
สถานะโครงการ
Trice ใช้งานได้เต็มรูปแบบและไม่มีข้อบกพร่องที่ทราบ (ดูปัญหา)
อนาคต
เอกสารสามารถได้รับการปรับปรุง เช่น โดยการเพิ่มความช่วยเหลือในการเริ่มต้นอย่างรวดเร็ว คุณสมบัติเพิ่มเติม เช่น การเรียกขั้นตอนระยะไกลสามารถอธิบายได้ และ tlog แยกต่างหาก ซึ่งอาจเขียนด้วยภาษา C จะอนุญาตให้เข้าสู่ระบบบนแพลตฟอร์มใดๆ ก็ได้ ไม่ใช่แค่แพลตฟอร์มที่รองรับ Go เท่านั้น
สนับสนุน?
ใช่ ได้โปรด - หรือเพียงแค่นั้น
ร่วมเป็นผู้สนับสนุนด้วยบัญชี Github ของคุณ
หรือ
หรือ
การโคลน repo:
git clone https://github . com/rokath/trice . git
โครงการที่คล้ายกัน
- baical.net (C)
- เครื่องมือวัดฟังก์ชัน call stack logger (วิธีการติดตามโฟลว์การดำเนินการของโปรแกรม)
- การดีบักด้วย Dynamic Printf Breakpoints (ตัวเลือก Eclipse IDE)
- defmt (สนิม)
- บันทึกการวินิจฉัยและการติดตาม (AUTOSAR)
- elog (ตัวบันทึกแบบฝังที่มีขนาดและการใช้หน่วยความจำน้อยที่สุด)
- มุมมองระบบ J-Link (SEGGER)
- การบันทึกด้วยสัญลักษณ์ - The Embedonomicon
- MCUViewer
- ไลบรารีบันทึก Memfault Compact
- ห้องสมุดอนุกรมโลหะ
- การบันทึกแบบมีโครงสร้างขั้นต่ำสำหรับยานพาหนะอัตโนมัติ (C++, การพูดคุยแบบปิด)
- NanoLog (ลินุกซ์ C++)
- Percepio Tracealyzer (การวินิจฉัยร่องรอยด้วยภาพ)
- Pigweed Trace Tokenized
- Postform (การทดลองการจัดรูปแบบที่เลื่อนออกไปด้วยการฝึกงานสตริงใน C ++ แรงบันดาลใจจากลัง defmt Rust)
- คิวพีเอสพี (C/C++)
- ชุดเครื่องมือบันทึก/ติดตามข้อมูลไบนารีแบบเรียลไทม์
- Serial-Studio (การสร้างภาพข้อมูล)
- ติดตาม (เฟรมเวิร์กการติดตาม API สำหรับแอปพลิเคชัน Linux C/C++
- การบันทึกตามพจนานุกรม Zepyr
(กลับไปด้านบน)