Forum Discussion

vasakpal's avatar
vasakpal
Icon for New Contributor rankNew Contributor
14 days ago

MAX10 RSU upgrade succeeds, but device boots Factory image instead of Application

Hello,

I’m using Intel MAX10 Remote System Upgrade (RSU) with:

  • CFM0 = Factory
  • CFM1 = Application

The firmware‑triggered RSU upgrade completes successfully, but after reconfiguration the device boots back into the Factory image instead of the Application image.

Below is the design setup:

  • RSU IP instantiated and connected over SPI
  • Avalon‑MM master interface of RSU IP is exported to user logic
  • onchip_flash data interface is also exported and visible in the top level
  • Firmware performs erase/write/verify through the exported Avalon‑MM interface
  • Autoboot decision is based on a bit stored in UFM, read at startup

No external power cycle occurs during RSU (warm reconfiguration).

Below are the observations:

  • RSU programming via firmware completes without errors
  • MAX10 reconfigures after RSU
  • Cold boot works correctly
  • Programming the App image via JTAG works
  • Issue occurs only after warm RSU (no power cycle)

Autoboot selection is controlled via a bit stored in UFM. For this I have exported the AV-MM 

I have the below questions:

  1. Is it expected that RSU does not automatically re‑enter autoboot logic?
  2. After warm RSU, must user RTL explicitly regenerate a boot / autoboot event?
  3. Are there recommended MAX10 reference patterns for autoboot handling after RSU?

Thanks for any guidance or references.

 

1 Reply

  • FakhrulA_altera's avatar
    FakhrulA_altera
    Icon for Regular Contributor rankRegular Contributor

    Hi Vasakpal,

    This behavior is expected with MAX 10 RSU. RSU itself does not run your “autoboot” logic. It only controls which image is loaded on the next reconfiguration.

    For a warm reconfiguration, the device will follow the CONFIG_SEL pin unless you explicitly enable overwrite in the RSU input register. The ru_config_sel bit only takes effect when ru_config_sel_overwrite = 1. 

    Recommended actions:

    • Before triggering reconfiguration, write ru_config_sel_overwrite = 1 and ru_config_sel = 1 (select Application), then assert RU_nCONFIG. Remote System Upgrade Input Register
    • If your flow relies on “Factory boots first, reads UFM, then triggers a second reconfig to Application”, you must still generate that second reconfig event in your RTL/firmware after the Factory image comes up. RSU will not do it automatically. Updating Image and Triggering Reconfiguration using UART
    • Also check the user watchdog timer. If enabled and not reset by the Application image soon enough, the device will revert to the Factory image.

    For reference patterns,  MAX 10 RSU lab and AN 741 show the intended “select image then trigger reconfiguration” sequence.

    Regards,
    Fakhrul