1117114_ja-JP

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

1117114_ja-JP

1117114_ja-JP

KW35 - OTAPクライアントソフトウェアを使用したKW35デバイスの再プログラミング

はじめに

このドキュメントでは、KW35 の OTAP (Over The Air Programming) ブートローダを使用して、新しいソフトウェア イメージを KW35 デバイスにロードするためのガイダンスを提供します。この記事では、チュートリアルで使用する SDK をダウンロードしてインストールするために必要な手順についても説明します。

ソフトウェア要件

  1. IAR Embedded Workbench IDEまたはMCUXpresso IDE。
  2. SDK MKW36A512xxx4 RC4以上

ハードウェア要件

  1. MKW35A512xxx4デバイス。

OTAPソフトウェアの導入に使用されるKW35フラッシュメモリ

KW35 フラッシュは、次のように分割されています。

  • 2x256 KB プログラム フラッシュ (P-Flash) アレイを 2 KB セクタに分割し、フラッシュ アドレス範囲は 0x0000_0000 から 0x0007_FFFF です。

 

pastedImage_1.png

 

OTAPクライアントソフトウェアとその機能がどのように機能するかを理解するためのステートメントは次のとおりです。

  1. OTAPクライアントソフトウェアは、OTAPブートローダーとOTAPクライアントサービスの2つの部分に分かれています。OTAPブートローダは、デバイスを再プログラムするための新しいイメージがすでにあるかどうかを確認します。OTAPクライアントサービスソフトウェアは、新しいイメージファイルを含むサーバーとの通信に必要なBluetooth LEカスタムサービスを提供します。したがって、テストを開始する前に、デバイスは 2 回プログラムされており、最初は OTAP ブートローダーを使用して、次に OTAP クライアント サービス プロジェクトを使用してプログラムされています。同じデバイスに 2 つの異なるソフトウェアがある場合に使用されるメカニズムは、それぞれを異なるメモリ領域に格納することであり、これはリンカ ファイルによって実装されます。KW35 デバイスでは、ブートローダー アプリケーションが 16KB のメモリ スロットを 0x0 アドレス (0x0 から 0x3FFF) に予約しているため、最初の P-Flash メモリ バンクの左メモリは、特に OTAP クライアント サービス アプリケーションによって予約されます。

     

    pastedImage_6.png
  2. クライアント デバイス用の新しいイメージ ファイルを作成するには、開発者は、最初のアドレスがブートローダー用に予約されているため、コードが 16KB のオフセットで保存されるようにリンカー ファイルに指定する必要があります。

    pastedImage_12.png
  3. 接続イベントでは、サーバーはすべてのコードチャンクをBluetooth LE経由でクライアントに送信します。クライアントは 2 番目の P-Flash メモリ バンクにコードを保存しますが、まだ実行できません。

     

    pastedImage_14.png
  4. ブロードキャストが終了し、すべてのチャンクが送信されると、OTAPブートローダはこの状況を検出し、新しいアプリケーションでデバイスを再プログラムするコマンドをトリガーします。新しいアプリケーションが 16KB のオフセットでビルドされたため、OTAP ブートローダーは 0x3FFF アドレスから始まるデバイスをプログラムし、OTAP クライアント サービス アプリケーションは新しいイメージで上書きされます。次に、OTAPブートローダが新しいアプリケーションをトリガーし、コードの実行を開始します。

     

    pastedImage_16.png

ソフトウェア開発キットのダウンロードとインストール


  1. MCUXpressoのWebページに移動します。

  2. 登録したアカウントでログインします。

  3. 「MKW36A」デバイスを検索します。次に、推奨されるプロセッサをクリックし、[MCUXpresso SDKのビルド]をクリックします。

    pastedImage_50.png
  4. 次のページが表示されます。[ツールチェーン/IDE] コンボ ボックスで [すべてのツールチェーン] を選択し、パッケージを識別する名前を指定します。pastedImage_52.png

  5. 「ソフトウェアコンポーネントの追加」をクリックし、コンボボックスをデプロイして「すべて選択」オプションをクリックします。変更を保存します。pastedImage_55.png

  6. 「SDKのダウンロード」ボタンをクリックして、ライセンス契約に同意します。

  7. MCUXpresso IDEを使用している場合は、「Installed SDK's」パースペクティブのSDKzipフォルダをドラッグアンドドロップしてパッケージをインストールします。



IAR Embedded Workbenchを使用してKW35デバイス用OTAPをテストするためのソフトウェアの準備

 

このセクションでは、KW35 で OTAP ソフトウェアをテストするために必要な手順について説明します。

  1. KW35でOTAPブートローダーをプログラムします。

    1.1 次のパスにあるOTAP_bootloaderプロジェクトを開きます。

    \ボード\バーチャルボード-kw35\wireless_examples\framework\bootloader_otap\bm\iar\bootloader_otap_bm.eww



    1.2プロジェクトをフラッシュします(Ctrl + D)。デバッグ セッションを停止します (Ctrl + Shift + D)。
  2. OTAP クライアント アプリケーションを KW35 でプログラミングします。

2.1 以下のパスにあるOTAPクライアントプロジェクトを開きます。
         \ボード\frdmkw36\wireless_examples\bluetooth\otac_att\freertos\iar\otac_att_freertos.eww


2.2 4.1.AN12252「MKW36Z512xxx4からMKW35Z512xxx4への移行ガイド」 アプリケーションノートの「プロジェクトオプションと設定に必要な変更」セクション。

 

2.3 app_preinclude.hを開きますワークスペースのソースディレクトリの下にあるファイル。次に示すように、"gEepromType_d" 定義を見つけ、値を "gEepromDevice_InternalFlash_c" に更新します。

 

#define gEepromType_d gEepromDevice_InternalFlash_c‍‍‍‍‍

 

2.4 次の場所にある MKW35Z512xxx4_connectivity.icf ファイルを保存します。

               \middleware\wireless\framework_5.4.4\Common\devices\MKW35Z4\iar               

OTAP Client ATT プロジェクトのフォルダに移動します。

               \ボード\frdmkw36\wireless_examples\bluetooth\otac_att\freertos\iar

pastedImage_155.png

 

2.5 プロジェクトオプションウィンドウを開きます(Alt + F7)。[Linker/Config] ウィンドウで、リンカ パスの横にあるアイコンをクリックし、リンカ設定ファイル "MKW35Z512xxx4_connectivity.icf" を選択します。"gUseInternalStorageLink_d" フラグを 1 に設定します。

 

pastedImage_166.png

 

2.6プロジェクトオプションウィンドウの[OK]ボタンをクリックして、新しい構成を保存します。

2.7 プロジェクトをフラッシュします (Ctrl + D)。デバッグ セッションを停止します (Ctrl + Shift + D)。

  

MCUXpresso IDEを使用してKW35デバイスのOTAPをテストするためのソフトウェアの準備

 

このセクションでは、KW35 で OTAP ソフトウェアをテストするために必要な手順について説明します。

  1. KW35でOTAPブートローダーをプログラムします。

1.1 MCUXpresso IDEを開きます。[Quickstart Panel] ビューの [Import SDK example(s)] オプションをクリックします。pastedImage_176.png

 

1.2 virtual-board-kw35 SDKアイコンをクリックします。
pastedImage_178.png1.3 wireless_examples\framework\bootloader_otapフォルダをデプロイし、bmプロジェクトを選択します。「完了」ボタンをクリックします。                                                                          1.4クイックスタートパネルで「デバッグ」オプションを選択します。プロジェクトがデバイスに既に読み込まれたら、デバッグ セッションを停止します。

 

2.OTAP クライアント アプリケーションを KW35 でプログラミングします。

2.1 MCUXpresso IDEを開きます。[Quickstart Panel] ビューの [Import SDK example(s)] オプションをクリックします。pastedImage_81.png


2.2frdmkw36アイコンを2回クリックします。                                                                 pastedImage_83.png 2.3 例のテキストボックスに「otac_att」と入力し、wireless_examples\bluetooth\otac_att\freertos の freertos プロジェクトを選択します。最後に、[完了]ボタンをクリックします。

 

pastedImage_85.png

 

2.4 5.1.アプリケーションノート「MKW36Z512xxx4からMKW35Z512xxx4への移行ガイド」AN12252の「プロジェクトオプションと設定に必要な変更」セクション

 

2.5. ワークスペースのソースディレクトリの下にあるapp_preinclude.hファイルを開きます。次に示すように、"gEepromType_d" 定義を見つけ、値を "gEepromDevice_InternalFlash_c" に更新します。

#define gEepromType_d gEepromDevice_InternalFlash_c‍‍‍‍‍

 

2.6 次の場所にある MKW35Z512xxx4_connectivity.ld ファイルを保存します。

               \middleware\wireless\framework_5.4.4\Common\devices\MKW35Z4\gcc

ワークスペースのソースフォルダーに移動します。

 

pastedImage_18.png

 

2.7 プロジェクト/プロパティウィンドウを開きます。次に、MCU Linker/Managed Linker Scriptパースペクティブに移動し、Linker Scriptの名前を「MKW35Z512xxx4_connectivity.ld」に編集します。

 

pastedImage_20.png

 

2.8 MCUリンカ/その他ビューに移動します。下のアイコンを押すと、新しいウィンドウが展開されます。「その他のオプション」ボックスに次の定義を追加します: --defsym=gUseInternalStorageLink_d=1。

 

pastedImage_22.png

 

2.9 プロジェクトオプションウィンドウの「適用して閉じる」ボタンをクリックして、新しい構成を保存します。

2.10 クイックスタートパネルで「デバッグ」オプションを選択します。プロジェクトがデバイスに既に読み込まれたら、デバッグ セッションを停止します。

 

IoT Toolbox アプリを使用した OTAP デモの実行

  1. 付録Aまたは付録Bの手順で作成したSレコードファイルをスマートフォンの既知の場所に保存します。
  2. IoT Toolbox アプリを開き、OTAP デモを選択します。「スキャン」を押して、適切な広告主のスキャンを開始します。

  3. KW35でPTB18で立ち下がりエッジを行い、広告を開始します。

  4. 作成したデバイスとの接続を作成します。

    pastedImage_94.png
  5. 「開く」を押して、Sレコードファイルを検索します。

  6. 「アップロード」を押して転送を開始します。

    pastedImage_95.png
  7. 転送が完了したら、ブートローダーが新しいイメージのプログラミングを完了するまで数秒待ちます。新しいアプリケーションが自動的に起動します。

 

付録A IAR Embedded Workbenchを使用したKW35クライアント用S-Recordイメージファイルの作成

  1. SDK の OTAP ブートローダーを使用してプログラミングする接続プロジェクトを開きます。この例では、グルコース センサー プロジェクトを利用します。

    \boards\frdmkw36\wireless_examples\bluetooth\glucose_s\freertos\iar\glucose_s_freertos.eww
  2. 4.1. AN12252「MKW36Z512xxx4からMKW35Z512xxx4への移行ガイド」の「 プロジェクトオプションと設定に必要な変更」セクション アプリケーションノート 。

  3. 次の場所にある MKW35Z512xxx4_connectivity.icf ファイルを保存します。

    \middleware\wireless\framework_5.4.4\Common\devices\MKW35Z4\iar               

    プロジェクトの包含フォルダ内。

    \ボード\frdmkw36\wireless_examples\bluetooth\glucose_s\freertos\iar

    pastedImage_39.png
  4. プロジェクトオプションウィンドウを開きます(Alt + F7)。[Linker/Config] ウィンドウで、[Linker path] の横にあるアイコンをクリックし、リンカ設定ファイル MKW35Z512xxx4_connectivity.icf を選択します。次に、「構成ファイルのシンボル定義」テキストボックスで「gUseBootloaderLink_d」マクロを有効にします。pastedImage_79.png

  5. 「出力コンバーター」ウィンドウに移動します。「デフォルトを上書きする」チェックボックスの選択を解除し、「出力形式」コンボボックスを展開して、Motorola S-records形式を選択します。[OK]ボタンをクリックします。pastedImage_82.png

  6. プロジェクトをリビルドします。

  7. 次のパスで S レコード ファイルを検索します。

    \ボード\frdmkw36\wireless_examples\bluetooth\glucose_s\freertos\iar\debug

 

付録B. MCUXpresso IDEを使用したKW35クライアント用のSレコードイメージファイルの作成

  1. MCUXpresso IDE の OTAP ブートローダーを使用してプログラミングする接続プロジェクトを開きます この例では、グルコース センサー プロジェクトを使用します

  2. 5.1.AN12252「MKW36Z512xxx4 から MKW35Z512xxx4 への移行ガイド」「プロジェクト オプションと設定で必要な変更」セクション
  3. 次の場所にある MKW35Z512xxx4_connectivity.ld ファイルを保存します。

    \middleware\wireless\framework_5.4.4\Common\devices\MKW35Z4\gcc

    ワークスペースのソースフォルダーに移動します。pastedImage_193.png

  4. 「プロジェクト/プロパティ」ウィンドウを開きます。次に、MCU Linker/Managed Linker Script パースペクティブに移動し、Linker Script の名前を "MKW35Z512xxx4_connectivity.ld" に編集します。pastedImage_195.png

  5. MCU リンカ/その他ビューに移動します。下のアイコンを押すと、新しいウィンドウが展開されます。「その他のオプション」ボックスに次の定義を追加します: --defsym=gUseBootloaderLink_d=1。「適用して閉じる」ボタンをクリックします。pastedImage_197.png

  6. プロジェクトをビルドします。

  7. ワークスペースに "Binaries" アイコンをデプロイします。.axfファイル上でマウスの右ボタンをクリックします。「Binary Utilities/Create S-Record」オプションを選択します。S-Recordファイルは、ワークスペース内の「Debug」フォルダに拡張子「.s19」で保存されます。

 pastedImage_199.png

BLEソフトウェアkWKW35 |36
Tags (1)
No ratings
Version history
Last update:
‎01-05-2026 02:32 PM
Updated by: