In Quartus® Prime Pro Edition Software version 24.1, you might observe the HAL Application Programming Interface (API) drivers of Mailbox Client IP are not available in the BSP for Nios® V designs targeting all Agilex™ 5 family devices.
Other SDM-based devices are not affected.
To work around this problem in the Quartus® Prime Pro Edition Software version 24.1, follow these steps:
-
Start a Nios® V processor system with Mailbox Client IP in Quartus® Prime Pro Edition Software version 24.1.
-
Generate the BSP, you might see that the Driver Name and Driver Version for the Mailbox Client IP are none.
-
Navigate to the <BSP project folder>/drivers.
-
Separately navigate to <Quartus Prime directory>/24.1/ip/altera/pgm/altera_s10_mailbox_client/HAL.
-
Observe that both folder directories are the same – inc and src.
-
Copy the contents of Quartus® Prime HAL folders into the BSP drivers folders respectively.
-
Navigate to <Quartus Prime directory>/24.1/ip/altera/pgm/altera_s10_mailbox_client/inc.
-
Copy altera_s10_mailbox_client_regs.h into the BSP drivers/inc folder.
-
Verify the content of the BSP inc folder is as below.
-
-
Verify the content of the BSP src folder is as below.
-
Modify the target_sources in BSP CMakeLists.txt.
-
Add the C files in the PRIVATE column.
-
drivers/src/altera_s10_mailbox_client.c
drivers/src/altera_s10_mailbox_client_flash.c
drivers/src/altera_s10_mailbox_client_flash_rsu.c
drivers/src/altera_s10_mailbox_client_rsu.c
drivers/src/librsu.c
drivers/src/librsu_cb.c
drivers/src/librsu_cfg.c
drivers/src/librsu_ll_qspi.c
drivers/src/librsu_misc.c
drivers/src/rsu_client.c
…
-
-
Add the header files in the PUBLIC column.
-
drivers/inc/altera_s10_mailbox_client.h
drivers/inc/altera_s10_mailbox_client_flash.h
drivers/inc/altera_s10_mailbox_client_flash_rsu.h
drivers/inc/altera_s10_mailbox_client_regs.h
drivers/inc/altera_s10_mailbox_client_rsu.h
drivers/inc/librsu.h
drivers/inc/librsu_cb.h
drivers/inc/librsu_cfg.h
drivers/inc/librsu_ll.h
drivers/inc/librsu_misc.h
drivers/inc/rsu_client.h
…
-
-
-
Modify the alt_sys_init.c in the following sections.
-
Device headers.
-
#include "altera_s10_mailbox_client.h"
-
-
Allocate the device storage.
-
ALTERA_S10_MAILBOX_CLIENT_INSTANCE ( MAILBOX_CLIENT, mailbox_client);
-
-
Initialize non-interrupt controller device.
-
ALTERA_S10_MAILBOX_CLIENT_INIT ( MAILBOX_CLIENT, mailbox_client);
-
Proceed to compile the Software project.
This problem is scheduled to be fixed in a future release of the Quartus® Prime Pro Edition Software.