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

ทําไมฉันถึงเห็น U-boot hang เมื่อเปิดใช้งานคอนโทรลเลอร์ I2C หลายตัวในไดรเวอร์ I2C

สิ่งแวดล้อม

  • Intel® Quartus® II Subscription Edition
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    คำอธิบาย

    ใน SOCEDS 16.1 (U-boot v2013.01.01) หากคุณเปิดการกําหนดค่าหลายบัส I2C ภายในไดรเวอร์ I2C ตามที่แสดงด้านล่าง:

    #define CONFIG_I2C_MULTI_BUS 1

     

    U-boot จะค้างและหยุดข้อความเตือนในคอนโซลดังที่แสดงด้านล่าง:

    U-Boot 2013.01.01-svn7578 (กุมภาพันธ์ 01 2019 - 14:17:54)

    CPU : Alteraแพลตฟอร์ม SOCFPGA

    บอร์ด : Altera SOCFPGA Cyclone บอร์ด V

    I2C:

     

    หากเปิดใช้งานการกําหนดค่าCONFIG_I2C_MULTI_BUS ไว้ จะมีการใช้ตัวแปรแบบคงที่ bus_initialized ในไดรเวอร์ I2C (designware_i2c.c) ก่อนเริ่มต้นส่วน BSS
    ซึ่งส่งผลให้การเขียนเกิดการทํางานที่ไม่คาดคิดและส่งผลให้ระบบหยุดทํางาน

    ความละเอียด

    ไดรเวอร์ I2C (designware_i2c.c) ได้รับการอัปเดตใน U-boot v2015.01 ซึ่งจะขจัดการใช้ตัวแปรและCONFIG_I2C_MULTI_BUSแบบคงที่

    สําหรับการสนับสนุนคอนโทรลเลอร์ I2C หลายตัวใน U-boot โปรดใช้ U-boot v2015.01 หรือเวอร์ชันที่สูงกว่า

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

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

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

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