Nios® V Processor Software Developer Handbook

ID 743810
Date 10/02/2023
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

3.4.3.3.3. Configuration and Use Limitations

If you use flash memories in your system, be aware of the following properties of this memory:

  • Code Storage—If your application runs code directly from the flash memory, the flash manipulation functions are disabled. This setting prevents the processor from erasing the memory that holds the code it is running. In this case, the symbols ALT_TEXT_DEVICE, ALT_RODATA_DEVICE, and ALT_EXCEPTIONS_DEVICE must all have values different from the flash memory peripheral. (Note that each of these #define symbols names a memory device, not an address within a memory device).
  • Small Driver—If the small driver flag is set for the software—the hal.enable_reduced_device_drivers setting is enabled—then the flash memory peripherals are not automatically initialized. In this case, your application must call the initialization routines explicitly.
    • Thread safety—Most of the flash access routines are not thread-safe. If you use any of these routines, construct your application so that only one thread in the system accesses these functions.