คำถามติดแท็ก rtos

9
RTOS สำหรับระบบฝังตัว
ฉันได้เห็นบทความมากมายที่บอกฉันว่าฉันควรใช้ RTOS สำหรับการจัดการเวลาและการจัดการทรัพยากร เวลาของฉันไม่ได้รับอนุญาตให้ทำการวิจัยของฉันเองดังนั้นฉันจึงไปหาชิปเพื่อขอคำแนะนำ ฉันใช้ไมโครคอนโทรลเลอร์ทรัพยากรต่ำ (MSP430, PIC) และกำลังมองหา RTOS ที่ฉันสามารถใช้ได้ ตรงประเด็น: ต้นทุนทรัพยากรของระบบ ข้อดีของระบบ ข้อเสียของระบบ เคล็ดลับการใช้งาน สถานการณ์ที่ RTOS ควร / ไม่ควรใช้ ฉันไม่ได้ใช้ระบบเช่น arduino โครงการที่ฉันทำงานด้วยไม่สามารถรองรับค่าใช้จ่ายของระบบดังกล่าวได้

6
มัลติทาสกิ้งบนไมโครคอนโทรลเลอร์ PIC
มัลติทาสกิ้งมีความสำคัญในทุกวันนี้ ฉันสงสัยว่าเราจะประสบความสำเร็จในไมโครคอนโทรลเลอร์และการเขียนโปรแกรมแบบฝังตัวได้อย่างไร ฉันกำลังออกแบบระบบซึ่งใช้ไมโครคอนโทรลเลอร์ PIC ฉันได้ออกแบบเฟิร์มแวร์ใน MplabX IDE โดยใช้ C แล้วออกแบบแอปพลิเคชันสำหรับมันใน Visual Studio โดยใช้ C # เนื่องจากฉันคุ้นเคยกับการใช้เธรดในการเขียนโปรแกรม C # บนเดสก์ท็อปเพื่อใช้งานแบบขนานจึงมีวิธีทำเช่นเดียวกันในรหัสไมโครคอนโทรลเลอร์หรือไม่ MplabX IDE นำเสนอpthreads.hแต่มันเป็นเพียงส่วนที่ไม่มีการใช้งาน ฉันรู้ว่ามีการสนับสนุน FreeRTOS แต่การใช้ที่ทำให้โค้ดของคุณซับซ้อนยิ่งขึ้น บางฟอรัมบอกว่าการขัดจังหวะสามารถใช้เป็นการมัลติทาสกิ้งได้ แต่ฉันไม่คิดว่าการขัดจังหวะนั้นเทียบเท่ากับเธรด ฉันกำลังออกแบบระบบที่ส่งข้อมูลบางอย่างไปยัง UART และในขณะเดียวกันก็จำเป็นต้องส่งข้อมูลไปยังเว็บไซต์ผ่านทางอีเธอร์เน็ต (แบบใช้สาย) ผู้ใช้สามารถควบคุมเอาต์พุตผ่านเว็บไซต์ แต่เอาต์พุตจะเปิด / ปิดด้วยความล่าช้า 2-3 วินาที นั่นคือปัญหาที่ฉันเผชิญ มีวิธีการแก้ปัญหาสำหรับมัลติทาสกิ้งในไมโครคอนโทรลเลอร์หรือไม่?

1
ฟีเจอร์ใดที่ทำให้เรียลไทม์แตกต่างจากระบบปฏิบัติการประเภทอื่น
ฉันกำลังทดลองกับเคอร์เนลเรียลไทม์ขนาดเล็กที่โดยทั่วไปไม่สามารถทำอะไรได้ ใช้ I / O ที่ขับเคลื่อนด้วยอินเตอร์รัปต์ แต่ทำไมเคอร์เนลแบบเรียลไทม์? ฉันอ่านว่า Linux กลายเป็นเคอร์เนลตามเวลาจริงในปี 2002 ถูกต้องหรือไม่ ฉันใช้ Altera DE2 และรหัสที่ฉันใช้เป็นไฟล์ประกอบ 1 ไฟล์ส่วนหัว 1 ไฟล์และไฟล์ C 2 ไฟล์ โปรดช่วยฉันเข้าใจ # Uart_0 at 0x860 .equ de2_uart_0_base,0x860 # Timer_1 at 0x920, interrupt index 10 (mask 2^10 = 0x400) .equ de2_timer_1_base,0x920 .equ de2_timer_1_intmask,0x400 # Timeout value for 0,1 …

2
มีใครประเมิน NuttX RTOS บ้าง
ในขณะที่อ่านวารสารของผู้ใช้ Linux ในวันนี้ฉันก็สะดุดเล็กน้อยเกี่ยวกับNuttX RTOS ฉันตรวจสอบเว็บไซต์ของพวกเขาและค่อนข้างประทับใจกับชุดคุณลักษณะและความสามารถในการใส่ไว้ใน 8052! ฉันพบว่ามันน่าสนใจที่รองรับ POSIX ซึ่งเป็นสิ่งที่ฉันได้ช่วยทำงานให้กับลูกค้าของฉัน RTOS ในองค์กร ดูเหมือนว่าฟีเจอร์นี้จะอุดมไปด้วย RTOS ของ บริษัท มีใครอีกบ้างที่ได้ยินเกี่ยวกับ NuttX และลองใช้ดูบ้างไหม? ถ้าเป็นเช่นนั้นมันจะเปรียบเทียบกับ RTOS อื่น ๆ เช่นFreeRTOS ได้อย่างไร?
15 embedded  rtos 


6
แทนที่คิวใน RTOS
สำหรับการสื่อสารระหว่างงานหรือแบ่งปันข้อมูลระหว่างสองงานของ RTOS เราใช้ Queues แต่ปัญหาเกี่ยวกับคิวก็คือพวกมันช้า .... พวกเขาคัดลอกข้อมูลใน Buffer จากนั้นจัดการ Mutex และ Data Transfer มันช้าอย่างน่ารำคาญถ้าคุณต้องถ่ายโอนข้อมูลขนาดใหญ่ ปัญหาอื่นคือถ้าเข้าถึงคิวเดียวกันโดยงานหลาย ๆ งาน จากนั้นรูปภาพจะเป็นดังนี้: - ก่อนอื่นรอการเข้าถึง The Queue จากนั้นจัดการคิว Mutex ภายในจากนั้นทำการถ่ายโอนข้อมูล สิ่งนี้จะเพิ่มค่าใช้จ่ายในระบบ สิ่งที่สามารถทดแทนที่มีประสิทธิภาพสำหรับคิว? (ฉันเดาว่าคำถามนี้เป็นอิสระจาก RTOS ที่เราใช้ส่วนใหญ่ RTOS จัดการกับคิวด้วยวิธีนี้เท่านั้น)
12 rtos 

6
อะไรเป็นสาเหตุที่ทำให้เคอร์เนล RTOS มัลติทาสกิ้ง PIC16 ของฉันไม่ทำงาน?
ฉันพยายามที่จะสร้าง RTOS กึ่งร่วมมือ (pre-emptive) สำหรับไมโครคอนโทรลเลอร์ PIC x16 ในคำถามก่อนหน้านี้ฉันได้เรียนรู้ว่าการเข้าถึงตัวชี้สแต็กของฮาร์ดแวร์ไม่สามารถทำได้ในแกนประมวลผลเหล่านี้ ฉันดูที่หน้านี้ใน PIClist และนี่คือสิ่งที่ฉันพยายามนำไปใช้โดยใช้ C คอมไพเลอร์ของฉันคือ Microchip XC8 และขณะนี้ฉันกำลังทำงานกับ PIC16F616 ด้วย RC oscillator ภายใน 4MHz ที่เลือกในบิตกำหนดค่า ฉันได้เรียนรู้ว่าฉันสามารถเข้าถึงการลงทะเบียน PCLATH และ PCL ด้วย C โดยดูที่ไฟล์ส่วนหัวของคอมไพเลอร์ของฉัน ดังนั้นฉันจึงพยายามที่จะใช้งานสลับง่าย ทำงานตามที่ต้องการในตัวดีบักถ้าฉันหยุดการดีบักหลังจากรีสตาร์ทรีเซ็ตและตั้งค่าพีซีที่เคอร์เซอร์เมื่อเคอร์เซอร์ไม่อยู่ในบรรทัดแรก ( TRISA=0;) แต่อยู่บนอีกบรรทัดหนึ่ง (เช่นANSEL=0;) ในการเริ่มต้นดีบั๊กฉันได้รับข้อความเหล่านี้ในDebugger Console: Launching Programming target User program running No source code lines were found …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.