由於 Agliex™ 7 FPGA 安全設備管理員 (SDM) 忙於FPGA初始化的問題,Nios®運行 SDM 引導載入程式時, mailbox_client_flash_open() 後 mailbox_client_open V HAL 函數可能無法打開快閃記憶體。
要在 Agliex™ 7 FPGA 安全設備管理員中解決此問題,請在函數 mailbox_client_flash_open() 之後添加延遲嘗試以在 <專案位置>\top_project\mailbox_bootloader\app\mailbox_bootloader.c 的主函數中打開快閃記憶體。
下面顯示的最大嘗試次數為 1000,每次嘗試延遲 10 毫秒。
attribute_((noreturn)) int main(int argc, char **argv){
intel_mailbox_client* mbox_client = mailbox_client_open(MBOX_NAME);
int record_address_ptr = PAYLOAD_OFFSET;
獲得專屬快閃記憶體訪問許可權
int 嘗試 = 0;
int MAX_TRY = 1000;
while((mailbox_client_flash_open(mbox_client)!=0) &&(++try < MAX_TRYS)){ usleep(10000);
if (try == MAX_TRYS) error();
......