This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMDS64EVM: OSPI write failure when porting SDK sample to custom application

Part Number: TMDS64EVM
Other Parts Discussed in Thread: SYSCONFIG

Hello,

I have a customer who is using the TMDS64EVM onboard OSPI device and is encountering a write failure when integrating OSPI flash functionality into their custom application.

 

What works / What fails

SDK sample project:

  • ospi_flash_io_am64x-evm_r5fss0-0_nortos_ti-arm-clang
  • Customer confirmed:
    • erase – ok 
    • write – ok
    • read – ok

Custom application:

  • ospi_flash_io_main() was integrated into the customer’s existing application
  • Existing Drivers_open / Board_driversOpen in their application were commented out
  • SysConfig regenerated with Flash / OSPI enabled
  • Result:
    • erase – ok
    • read – ok
    • write – failure → jumps to HwiP_user_data_abort_handler_c

The issue does not occur in the SDK sample, and only appears after porting to the custom application.

 

Actions Taken / Guidance Provided:

  • Shared the document: xSPI Custom Flash Debug Guide for MCU+SDK
  • Customer reviewed and tested based on:
    • Section 4: Flash Integration and SysConfig Setup
    • Section 5.5: Flash Program Failure
  • Additional checks performed by the customer:
    • Verified no address overlap around the 0x60000000 region
    • Adjusted Flash Memory Region base addresses
    • Changed access offsets and region start addresses

Despite these changes, the behavior did not change and write operation still jumps to HwiP_user_data_abort_handler_c

 

Current Status

  • Customer has now shared their .syscfg file: syscfg.txt 
  • Issue consistently reproduces on TMDS64EVM
  • Public documentation beyond the xSPI guide does not appear to exist

 

Therefore, I have the following Questions:

  1. Documentation
    • Are there any additional application notes, internal guidance, or known limitations specific to OSPI EEPROM (vs OSPI NOR flash) usage on AM64x?
    • Any references beyond the public xSPI Custom Flash Debug Guide for MCU+SDK?
  2. SysConfig Review
    • Please review the attached .syscfg file:
      • Are there any configuration issues, unsupported settings, or common pitfalls that could result in a write‑time data abort?
      • Anything missing or invalid in the Flash / OSPI configuration for EEPROM use?
  3. Integration Considerations
    • Are there known assumptions or dependencies in the SDK OSPI flash samples that could cause failures when the logic is integrated into an existing custom application?

 

Thank you in advance for your support.

Best regards,

Michael

 

  • Hi Michael,

    1 a). There should be no limitations in integrating OSPI functionality to the custom application, provided all the configurations are correct.

    1 b). The xSPI Custom Flash Debug Guide should be sufficient, additionally we have a created a couple of FAQs to resolve common issues.

    2 a). Upon reviewing the SysConfig file, I notice that the region starting from 0x60000000, has only Supervisor Read permission. This is incomplete as the Supervisor Write permission should also be enabled:

    Additionally, the region starting from 0x60000000 should be marked as "Strongly Ordered" for proper functioning of Flash writes.

    3 a). Please refer to this FAQ that addresses the above issue.

    Regards,

    Aryamaan Chaurasia