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

ทําไมอินเทอร์เฟซแฟลชอนุกรมทั่วไป FPGA IP เขียนหน่วยความจําแฟลช Micron QSPI ไม่ถูกต้องเมื่อใช้ HAL API

สิ่งแวดล้อม

  • Intel® Quartus® Prime Pro Edition
  • IP เอฟพีจีเอ Intel® อินเทอร์เฟซแฟลชอนุกรมทั่วไป
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    คำอธิบาย

    ปัญหานี้อาจเห็นได้ในซอฟต์แวร์ Quartus® Prime Pro Edition เวอร์ชัน 22.1 เมื่อเขียนหน่วยความจําแฟลช Micron QSPI โดยใช้ HAL API ของอินเทอร์เฟซ Generic Serial Flash FPGA IP (GSFI IP)

    HAL API สําหรับ GSFI IP มีอยู่ในไฟล์ซอฟต์แวร์ต่อไปนี้:

    • intel_generic_serial_flash_interface_top.h

    • intel_generic_serial_flash_interface_top.c

    นี่คือสาเหตุที่ไม่เหมาะสม polling opcode ใน intel_gsfi_write_block() API สําหรับอุปกรณ์แฟลช Micron QSPI แฟลชอื่นๆ ที่รองรับจะไม่ได้รับผลกระทบจากสิ่งนี้

    ความละเอียด

    เมื่อต้องการหลีกเลี่ยงปัญหานี้ ให้ทําตามขั้นตอนเหล่านี้:

    1. ค้นหาไดรเวอร์/โฟลเดอร์ src ในโปรเจค Board Support Package (BSP) ของคุณ
    2. ค้นหาไฟล์ซอฟต์แวร์ intel_generic_serial_flash_interface_top.c
    3. ค้นหา api intel_gsfi_write_block()API
    4. แก้ไข API จาก CMD_STATUS_REGISTER เป็น CMD_FLAG_STATUS_REGISTER

    ตัวอย่าง:

    ไลน์ 1244 : ซม. = ((CMD_FLAG_STATUS_REGISTER << 8) | CMD_QUAD_INPUT_FAST_PROGRAM);

    สาย 1255 : cmd = ((CMD_FLAG_STATUS_REGISTER << 8) | CMD_PAGE_PROGRAM);

    หมายเหตุ: การสร้าง BSP ใหม่จะรีเซ็ต HAL API เป็นสถานะเดิม

    ขณะนี้ปัญหานี้ถูกกําหนดให้ได้รับการแก้ไขในซอฟต์แวร์ Quartus® Prime ในอนาคต

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

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

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

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