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

2
ประโยชน์ของ RTOS กับ Bare Metal สำหรับการเขียนโปรแกรม MCU?
โปรดทราบ:คำถามนี้กล่าวถึง RTOS สองตัวโดยเฉพาะ แต่มีความเป็นทั่วไปมากกว่าและใคร ๆ ก็สามารถตอบได้โดยเขียนรหัส C สำหรับ RTOSes แบบฝังตัวก่อนหน้านี้และให้ซอฟต์แวร์ทำงานโดยตรงบน MCU ฉันสนใจที่จะเรียนรู้เพิ่มเติมเกี่ยวกับ RTOS แบบฝังและการเขียนแอปพลิเคชันสำหรับพวกเขา ฉันกำลังดูEmboxและRIOTเพราะพวกเขาเป็นโอเพ่นซอร์สที่ทันสมัยใช้งานได้และดูเหมือนจะมีเอกสารที่ยอดเยี่ยม เป้าหมายของฉันมีสองขั้นตอน: ระยะที่ 1 คือการหาวิธีการคอมไพล์และแฟลชระบบปฏิบัติการเหล่านี้ไปยัง MCU (อาจเป็น AVR หรือ ARM) ขั้นตอนที่ 2 คือเขียนโปรแกรม C อย่างง่าย (โดยทั่วไปคือ daemon ไร้หัว) ซึ่งจะพัฒนาไปตามเวลาเป็น "งานอดิเรก" จากนั้นฉันจะแฟลช / ปรับใช้โปรแกรมนี้กับ MCU เดียวกันดังนั้นจึงประสบความสำเร็จในการปรับใช้ appstack ซึ่งประกอบด้วย Embox / RIOT และแอพของฉันอยู่ด้านบนของมัน ก่อนที่ผมจะไปลงถนนใด ๆ ที่ในที่สุดนำไปสู่การสิ้นสุดตายผมเจอบทความนี้ที่จะได้งานที่ดีงามของการอธิบายว่าทำไมปพลิเคชันแบบ real-time เขียนใน …

3
การเขียนเมื่อเริ่มต้นไฟล์เป็นสิ่งที่คุณจะรู้ได้ในตอนท้าย
แบ็คกราวน์:ฉันกำลังเขียนรหัสคอนโทรลเลอร์ไมโครคอนโทรลเลอร์เพื่อเขียนไฟล์ EBML EBML เปรียบเสมือนไบนารี XML ที่มีองค์ประกอบซ้อนกัน แต่แทนที่จะเป็นแท็กเริ่มต้นและแท็กสิ้นสุดจะมี ID เริ่มต้นความยาวและข้อมูล ฉันกำลังเขียนสิ่งนี้ลงในแฟลชภายนอกในแอปพลิเคชันพลังงานต่ำดังนั้นฉันจึงต้องการให้แฟลชเข้าถึงน้อยที่สุด หน่วยความจำยังมี จำกัด เพราะไม่มีอะไรง่าย เมื่อฉันสามารถเก็บองค์ประกอบ EBML ทั้งหมดไว้ในหน่วยความจำจากนั้นสร้างเป็นเรื่องง่ายเพราะฉันสามารถย้อนกลับและเติมความยาวของแต่ละองค์ประกอบหลังจากที่ฉันรู้ว่าความยาวนั้นคืออะไร ปัญหาคือสิ่งที่ต้องทำเมื่อฉันไม่สามารถเก็บองค์ประกอบทั้งหมดไว้ในหน่วยความจำได้ ตัวเลือกที่ฉันเห็นคือ: เขียนสิ่งที่ฉันรู้แล้วย้อนกลับไปและเพิ่มความยาว (ง่ายที่สุด แต่เพิ่มการเข้าถึงแฟลชมากกว่าที่ฉันต้องการ) คำนวณความยาวของแต่ละองค์ประกอบก่อนเริ่มเขียน (ค่อนข้างง่าย แต่ใช้เวลาประมวลผลนาน) สลับโหมดเมื่อหน่วยความจำของฉันเต็มดังนั้นฉันจะดำเนินการต่อผ่านข้อมูล แต่เพียงเพื่อคำนวณความยาวขององค์ประกอบที่จองไว้แล้วในหน่วยความจำ จากนั้นเขียนสิ่งที่ฉันมีอยู่ในหน่วยความจำแล้วย้อนกลับไปประมวลผลข้อมูลต่อจากที่ค้างไว้ (ตัวเลือกที่ฉันชอบจนถึงตอนนี้) ให้องค์ประกอบความยาวกรณีสูงสุดหรือเลวร้ายที่สุดเมื่อพวกเขาต้องการที่จะเขียนและยังไม่ทราบความยาวสุดท้ายของพวกเขา (ง่ายกว่าด้านบน แต่อาจย้อนกลับและเสียพื้นที่) คำถาม:ดูเหมือนว่าสิ่งนี้น่าจะเป็นปัญหาที่คนทั่วไปคิดถึง ฉันรู้ว่ามันสามารถเกิดขึ้นได้เมื่อสร้าง data packets มีเทคนิคที่ดีขึ้น / มากกว่า / ที่ยอมรับมากกว่าฉันหายไปหรือเปล่า หรือเพียงแค่คำบางคำสำหรับปัญหาที่ฉันสามารถค้นหาได้
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.