こんにちは、
私はMCU KW38で実行されるBLEアプリケーションに取り組んでいます。アプリケーションはシンプルで、BLE アドバタイズメントをスキャンし、データが特定のパターンと一致する場合に CAN 経由で送信します。追跡対象の BLE デバイスをエミュレートするには nRFConnect を使用します。
アプリケーションは、BLE コネクティビティをサポートするために、SDK_2.6.11_FRDM-KW38 に含まれる BLE ライブラリに依存します。
アプリケーションの動作は期待どおりですが、最終的に BLE コントローラ ライブラリでハードフォールトが発生します。具体的には、関数 ll_update_adv_report_event() です。詳細については、添付のスクリーンショットを参照してください。
問題を再現するために必要な時間は、環境内に存在する BLE デバイスの密度に大きく依存します。ホームで失敗すると、数分、あるいは数時間もかかります。しかし、オフィスでは1分ほどかかります。
この問題は既知の問題ですか?
それを見つける方法や解決方法について何か提案はありますか?
注: メモリ不足に関連する問題であるかどうかを追跡するために、メモリ障害 (stackoverflow と malloc の失敗) に関連するすべての FreeRtos フックを有効にしましたが、いずれもトリガーされませんでした。
Hello
説明されている問題を特定するには、アプリケーションのベースとなっている例と、問題を再現するために必要な変更を確認する必要があります。
カスタム コードを開始する場合は、NXP から提供される例をベースとして使用し、お客様の要件に合わせて変更することを強くお勧めします。
事前にボード上の SDK から BLE の例をテストできるかどうか確認してもらえますか?
よろしくお願いいたします。
ルイス
こんにちは。お元気ですか?
カスタム プロジェクト コードを開始するベースとして、最新の SDK の例を使用することを強くお勧めします。これは、BLE 関連の問題を回避し、最新の SDK バージョンからの改善を反映するためです。FRDM-KW38 の最新の SDK バージョンは 2.6.15 です。
複数のデバイスを接続する例としては、ワイヤレスUARTの例があります。
このアプリケーションは、最初は GAP セントラル ノードとして動作し、GAP 限定検出手順に入り、接続する他のワイヤレス UART デバイスを検索します。その後、ペリフェラルの役割に切り替えることができ、デバイスが GAP 一般検出可能モードに入り、GAP セントラル ノードが接続するのを待機します。このアプリケーションでは、考慮するだけでさらに多くのリソースが必要になります。
最新のSDKにアップデートして、結果をお知らせください。
これについてのご意見をお聞かせください。さらにご質問がございましたら、遠慮なくお問い合わせください。
よろしくお願いいたします。
ルイス