คำถามติดแท็ก sketch-size

4
ฉันจะทำอย่างไรถ้าฉันไม่มีหน่วยความจำแฟลชหรือ SRAM
ตามเอกสารของ Arduino ATmega328 มีหน่วยความจำแฟลช 32KB สำหรับ bootloader + อัพโหลดร่างและเพียง 2KB SRAM สำหรับข้อมูลรันไทม์ ATmega2560 มีจำนวนมากกว่า 256KB และ 8KB ตามลำดับ ไม่ว่าในกรณีใดข้อ จำกัด เหล่านั้นดูเหมือนจะค่อนข้างเล็กโดยเฉพาะเมื่อเปรียบเทียบกับอุปกรณ์ผู้บริโภคที่มีขนาดใกล้เคียงกันเช่นสมาร์ทโฟน คุณจะทำอย่างไรถ้าหมด? เช่นถ้าร่างของคุณใหญ่เกินไปหรือคุณต้องการประมวลผลข้อมูลจำนวนมาก (เช่นสตริง) ตอนรันไทม์? มีวิธีใดที่จะขยาย Flash หรือ SRAM หรือไม่

1
มีค่าคงที่ตัวประมวลผลล่วงหน้าสำหรับขนาดหน่วยความจำหรือไม่
ฉันต้องการคอมไพล์ของฉันเพื่อแยกรหัสบางอย่างขึ้นอยู่กับพื้นที่แฟลช / โปรแกรมที่มีอยู่ เพื่อใช้ในโค้ดตัวอย่างของไลบรารีที่ฉันสนับสนุน ในขณะที่โซลูชันปัจจุบันของฉันคือใช้ #ifdef ของประเภทโปรเซสเซอร์ แต่ฉันต้องการที่จะเป็นทั่วไปและไม่ต้องระบุชิปต่างๆทั้งหมด ค่อนข้างจะดีถ้ามีค่าคงที่ pre-processor ที่ระบุขนาดที่พร้อมใช้งาน ที่ฉันไม่คล่องพอใน gcc และหรือ avr-gcc ฉันอาจคาดหวังว่าจะพบค่าคงที่บางอย่างที่คล้ายกันที่กำหนดจุดเริ่มต้นและจุดสิ้นสุดของกอง ในกรณีตัวอย่าง คือทั้ง UNO และ Leo มี Flash 32K แต่ไลบรารี่หลักของ Leo ใช้ 4K สำหรับการรองรับ USB ทำให้มีเพียง 28K เท่านั้น การสาธิตห้องสมุดของฉันใกล้ถึงขีด จำกัด สูงสุดของ UNO และฉันต้องการตัดออกโดยอัตโนมัติตามพื้นที่ว่างของโปรแกรมที่มีอยู่
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.