ID บทความ: 000086175 ประเภทข้อมูล: การแก้ไขปัญหา การตรวจสอบครั้งล่าสุด: 25/05/2017

ทําไมจึงมีการเรียก 0x0 ภายในรหัสการประกอบของแอปพลิเคชัน Nios® II

สิ่งแวดล้อม

  • Intel® Quartus® Prime Pro Edition
  • ชุด Intel® Embedded Design Nios® II (EDS)
  • โปรเซสเซอร์ Intel® Nios® II
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    คำอธิบาย

    ระหว่างการพัฒนาและดีบักแอปพลิเคชัน Nios® II คุณอาจสังเกตเห็นคําสั่งรีเซ็ตในมุมมองโค้ดแอสเซมบลี เช่น "เรียก 0x0" นี้ การรีเซ็ตนี้มาจากหน่วยความจําที่ได้รับความเสียหาย ความเสียหายนี้มาจากการเขียนไปยังอุปกรณ์ต่อพ่วงแบบอ่านอย่างเดียว หรือการอ่านจากที่อยู่ที่ไม่รู้จัก

    ดังนั้นจะเกิดอะไรขึ้นกับธุรกรรมที่ไม่ถูกต้องนี้ ซึ่งจะได้รับการกําหนดเส้นทางไปยัง Slave "ค่าเริ่มต้น" สเลฟเริ่มต้นถูกกําหนดเป็น
    1- อุปกรณ์ต่อพ่วงที่มีช่วงที่อยู่ที่ใหญ่ที่สุด
    2- อุปกรณ์ต่อพ่วงที่ถูกเลือกเป็น slave เริ่มต้นใน Qsys

    หากคุณไม่ได้กําหนดสเลฟเริ่มต้น อุปกรณ์ต่อพ่วงหน่วยความจําจะเป็น Slave เริ่มต้น

    ความละเอียด

    เพื่อหลีกเลี่ยงคําสั่งรีเซ็ตที่ไม่คาดคิดนี้ ให้ทําตามขั้นตอนต่อไปนี้:

    1- อย่าเขียนให้อ่านเฉพาะอุปกรณ์ต่อพ่วง
    2- กําหนด Qsys Slave peripheral เริ่มต้นเพื่อรับธุรกรรมที่ไม่ได้กําหนดตําแหน่งทั้งหมด -- ควรมีอุปกรณ์ต่อพ่วง slave เริ่มต้นที่จะจับที่อยู่ของทรานแซคชันที่ได้รับไม่ถูกต้อง

    3- ใช้ AXI timoute Bridge หรือ AXI default slave

    ผลิตภัณฑ์ที่เกี่ยวข้อง

    บทความนี้จะนำไปใช้กับ 1 ผลิตภัณฑ์

    อุปกรณ์ที่ตั้งโปรแกรมได้ Intel®

    เนื้อหาในหน้านี้เป็นการผสมผสานระหว่างการแปลเนื้อหาต้นฉบับภาษาอังกฤษโดยมนุษย์และคอมพิวเตอร์ เนื้อหานี้จัดทำขึ้นเพื่อความสะดวกของคุณและเพื่อเป็นข้อมูลทั่วไปเท่านั้นและไม่ควรอ้างอิงว่าสมบูรณ์หรือถูกต้อง หากมีความขัดแย้งใด ๆ ระหว่างเวอร์ชันภาษาอังกฤษของหน้านี้กับคำแปล เวอร์ชันภาษาอังกฤษจะมีผลเหนือกว่าและควบคุม ดูเวอร์ชันภาษาอังกฤษของหน้านี้