Efinix, Inc.
  • Install Software and SoC
    • Install the Efinity Software
    • Install the Efinity RISC-V Embedded Software IDE
  • IP Manager
    • Customizing the Sapphire High-Performance SoC
    • Modify the Bootloader
  • Recommended Design Practice
  • Example Design
    • About the Example Design
    • Enable the LPDDR4x Memory (Ti375 C529 Board)
    • Installing USB Drivers
    • Program the Development Board
  • Launch Efinity RISC-V Embedded Software IDE
    • Launching the Efinity RISC-V Embedded Software IDE
    • IDE Launcher from Efinity
    • Optimization Settings
  • Create, Import, and Build a Software Project
    • Create a New Project
    • Import Sample Projects
    • Build
  • Debug with the OpenOCD Debugger
    • Launch the Debug Script
    • Debug
    • Debug - Multiple Cores
      • Debug - SMP
    • Peripheral Register View
    • CSR Register View
    • FreeRTOS View
    • QEMU Emulator
  • Concurrent Debugging
    • Enable Concurrent Debugging
    • Disable Concurrent Debugging
    • Concurrent Debugging with Multiple Devices
    • Semihosting with Concurrent Debugging
  • Boot Sequence
    • Boot Sequence: Case A
    • Boot Sequence: Case B
    • Boot Sequence: Case C
    • Booting Multiple Cores
  • Create Your Own RTL Design
    • Target another FPGA
    • Target Your Own Board
  • Create Your Own Software
    • Deploying an Application Binary
      • Boot from a Flash Device
      • Boot from the OpenOCD Debugger
      • Copy a User Binary to Flash (Efinity Programmer)
    • About the Board Specific Package
    • Address Map
    • Example Software
      • clintTimerInterruptDemo
      • coremark
      • customInstructionDemo
      • dCacheFlushDemo
      • dhrystone Example
      • fatFSDemo
      • FreeRTOS Examples
      • fpuDemo
      • gpioDemo
      • iCacheFlushDemo
      • inlineAsmDemo
      • lwipIperfServer
      • memTest Example
      • nestedInterruptDemo
      • oob Example
      • i2cMasterDemo Design
      • i2cMasterInterruptDemo Design
      • i2cSlaveDemo Design
      • rtcDemo
      • sdhcDemo
      • semihostingDemo
      • smpDemo
      • temperatureSensorDemo
      • uartEchoDemo
      • UartInterruptDemo
      • userTimerDemo
  • Hardware and Software Migration from Sapphire SoC to Sapphire High-Performance SoC
    • Introduction
    • Hardware
    • Software
  • Third-party Debugger
  • Watchdog Timer
    • Introduction
    • Functional Description
    • Setting Limits for Both Counters
  • Using a UART Module
    • Using the On-board UART
    • Open a Terminal
    • Enable Telnet on Windows
  • Unified Printf
    • Bsp_print
    • Bsp_printf
    • Bsp_printf_full
    • Semihosting Printing
    • Preprocessor Directives
  • Using a Soft JTAG Core for Example Designs
    • Enabling Soft JTAG in Static Example Design
  • Troubleshooting
    • OpenOCD Error: timed out while waiting for target halted
    • Efinity Debugger Crashes when using OpenOCD
    • Non-existing file for the co_debug_register external tool
    • Error in Final Launch Sequence
    • Debug Core UUID Mismatch
    • Variable references empty selection: ${project_loc}
  • API Reference
    • Control and Status Registers
    • GPIO API Calls
    • I2C API Calls
    • I/O API Calls
    • Core Local Interrupt Timer API Calls
    • User Timer API Calls
    • PLIC API Calls
    • SPI API Calls
    • SPI Flash Memory API Calls
    • UART API Calls
    • RISC-V API Calls
    • Handling Interrupts
  • Inline Assembly
    • Introduction
    • Inline Assembly Syntax
      • Operands
    • RISC-V Registers

API Reference

The following sections describe the API for the code in the driver directory.

  • Control and Status Registers
  • GPIO API Calls
  • I2C API Calls
  • I/O API Calls
  • Core Local Interrupt Timer API Calls
  • User Timer API Calls
  • PLIC API Calls
  • SPI API Calls
  • SPI Flash Memory API Calls
  • UART API Calls
  • RISC-V API Calls
  • Handling Interrupts

Copyright (c) 2026 | All Rights Reserved