คำถามติดแท็ก cortex-m

1
สำเนาของรหัสเครื่องที่แน่นอนทำงานช้ากว่าฟังก์ชั่นเดิม 50%
ฉันทำการทดลองเล็กน้อยกับการใช้งานจาก RAM และหน่วยความจำแฟลชในระบบฝังตัว สำหรับการสร้างต้นแบบอย่างรวดเร็วและการทดสอบฉันกำลังใช้ Arduino Due (SAM3X8E ARM Cortex-M3) เท่าที่ฉันเห็น Arduino runtime และ bootloader ไม่ควรสร้างความแตกต่างที่นี่ นี่คือปัญหา: ฉันมีฟังก์ชั่น ( Calc ) ซึ่งเขียนใน ARM Thumb Assembly calcคำนวณตัวเลขและส่งคืน (> 1s รันไทม์สำหรับอินพุตที่กำหนด) ตอนนี้ฉันแยกรหัสเครื่องประกอบของฟังก์ชั่นนั้นด้วยตนเองและวางเป็นไบต์ดิบลงในฟังก์ชั่นอื่น ฟังก์ชั่นทั้งสองได้รับการยืนยันว่าอยู่ในหน่วยความจำแฟลช (ที่อยู่ 0x80149 และ 0x8017D ติดกัน) สิ่งนี้ได้รับการยืนยันผ่านการถอดแยกชิ้นส่วนและการตรวจสอบรันไทม์ void setup() { Serial.begin(115200); timeFnc(calc); timeFnc(calc2); } void timeFnc(int (*functionPtr)(void)) { unsigned long time1 …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.