こんにちは、
「frdmimxrt1186_lwip_ipv4_ipv6_echo_freertos_cm33」と「frdmimxrt1186_flexspi_nor_polling_transfer_cm33」という2つのSDK例を組み合わせると、「FLEXSPI_SoftwareReset(base);」という関数を実行した後に最終的にハードフォルトが発生します。また、「ベース」アドレス0x445E0000が変化することも確認しました。私はFRDM-RT1186 EVAキットを使用しています。これは何が原因でしょうか?
私はMCUXpressoIDE_25.6.136を使用しています。
フィードバックありがとうございます。
こんにちは、パブロさん。
連絡してくれてありがとう。
私はSDK 26.03.00(928 2026-03、Manifest バージョン3.15.0)を使っています。
「frdmimxrt1186_lwip_ipv4_ipv6_echo_freertos_cm33」から始めます。
これは特定の条件なしに、常に発生する現象です。
例「frdmimxrt1186_flexspi_nor_polling_transfer_cm33」からファイルをインポートします。
board/hardware_init_Flash.c
ドライバ/fsl_flexspi.C
ドライバ/fsl_flexspi.H
source/appFlash/flexspi_nor_flash_ops.c
source/appFlash/flexspi_nor_polling_transfer.c
board/app.h// これには app.h の両方が含まれています
source/lwip_ipv4_ipv6_echo_freertos.c // これには2つの関数呼び出しが含まれます。
int main(void)
ヤージュ
BOARD_InitHardware();
BOARD_InitHardware_Flash();
main_Flash();
void BOARD_InitHardware_Flash(void)
ヤージュ
BOARD_CommonSetting();
// BOARD_ConfigMPU(); // bord.c= identisch mit Lwip prj
// BOARD_InitBootPins(); // pin_mux.c「」
BOARD_InitFLASHPins();
// BOARD_InitBootClocks(); // clock_config.c「」
// BOARD_InitDebugConsole(); // board.c「」
}
int main_Flash(void)
ヤージュ
uint32_t i = 0;
status_t ステータス;
uint8_t vendorID = 0;
// BOARD_InitHardware_Flash();
...
1を返す。
/*
(1)
ヤージュ
}
*/
}
これで全部だと思います。
事前に感謝いたします。
ゲルト
こんにちは、 @GerdMartin さん。
2つのSDKの例をどのように組み合わせたのか、もう少し詳しく教えていただけますか?
どのような変更が加えられましたか?
どの例を起点として使いましたか?
現在どのSDKバージョンを使っていますか?
また、FLEXSPI_SoftwareReset(base); を実行した後に最終的にハードフォルトが発生するとおっしゃっていましたね。この現象は、関数が呼び出されるたびに必ず発生しますか、それとも特定の条件下でのみ発生しますか?
よろしくお願いします、
パブロ