Agliex™ 7 FPGA セキュア・デバイス・マネージャー (SDM) が FPGA 初期化でビジー状態になっているという問題により、SDM ブートローダーの実行時に Nios® V HAL機能 mailbox_client_flash_open() が mailbox_client_open() の後にフラッシュを開くことができないことがあります。
セキュア・デバイス・マネージャー FPGA Agliex™ 7 でこの問題を回避するには、関数 mailbox_client_flash_open() の後に遅延試行を追加して、 <プロジェクトの場所>\top_project\sw\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_ATTEMPTS = 1000;
while((mailbox_client_flash_open(mbox_client)!=0) &&(++attempt < MAX_ATTEMPTS)){ usleep(10000);
if (try == MAX_ATTEMPTS) error();
......