STM32F103C8T6 Bluetooth OTA チュートリアル

ここに画像の説明を挿入
ここに画像の説明を挿入

1. 準備と導入

1. 材料を準備する

  記事内で使用されているソフトウェアとハ​​ードウェアは限定されません. 以下は参考用です. 記事内で使用されているすべてのプロジェクトは記事の最後で入手できます (Baidu Netdisk+Github)

1) STM32F103C8T6 コアボード

2) ダウンローダー(PWLINK)

3) Bluetoothトランスペアレント伝送モジュール(HC-04)

4) ソフトウェア: Keil5 MDK+ SecureCRT (Ymodem プロトコル伝送をサポートする端末エミュレーション ソフトウェア)

ここに画像の説明を挿入

2. OTA の概要

  OTA: Over-The-Air、つまり、無線通信ネットワークを通じてファームウェアまたはソフトウェアをアップグレードおよび更新する技術的手段。OTA を通じて、ユーザーはコンピューターに接続したり、データ ケーブルを使用して更新したりすることなく、ワイヤレス ネットワーク経由で最新のソフトウェア バージョンを直接ダウンロードしてインストールできます [データ ソース: CSDN-C はモデル トレーニング用の大規模な言語モデルを認識しています]。シングルチップマイコンの場合、簡単に言うと各種ダウンローダーを使ってプログラムをダウンロードする必要がなく、無線を利用することで遠隔からマイコンのファームウェアをアップグレードすることができます。

3. IAP の概要

  IAP: アプリケーション プログラミングにおいて、ユーザー独自のプログラムが実行プロセス中にユーザー フラッシュ領域の一部を書き込むことを意味します。その目的は、製品のリリース後に予約された通信ポートを介して製品内のファームウェア プログラムを簡単に更新およびアップグレードすることです。 , ここに書かれているように、上記のOTAと組み合わせると、今回のチュートリアルはIAPをベースにしたBluetoothシリアルポート透過伝送によるOTAを実現するということだと推測できます。

2.IAPのアップグレード

1. ブートロード

1 はじめに

  IAP技術を実現する核となるのは、MCU内に予めプログラムされたIAPプログラム、すなわちBOOTLOAD(ブートローダー)であり、従来のようにMCUの全データを消去するのではなく、ブートロードと2つの部分に分けられます。 APP(メモリ容量が大きい場合などはバックアップ領域を分割できますが、STM32F103C8T6のリソース空間を考慮して一時的にこの2つの領域を分割しています)。
ここに画像の説明を挿入

2) ブートロードプロジェクトのダウンロード

  まず第一に、STM32 公式 Web サイトで IAP アップグレードされたブートロード プロジェクトをダウンロードする必要があります: STMicroelectronics: STM32F10xxx に USART を使用するアプリケーション プログラミング - ダウンロード自分の関連情報を記入してください:その後、個人メールボックスでダウンロード リンクを受け取ることができます。ファイルをダウンロードして解凍し、MDK プロジェクトを開きます。
ここに画像の説明を挿入

ここに画像の説明を挿入

ここに画像の説明を挿入

ここに画像の説明を挿入

3) ブートロードプロジェクトの変更

MDK5 を使用しているため、最初の項目をクリックしてプロジェクトの古いバージョンに適応させることができます。
ここに画像の説明を挿入
まず、コンパイルして確認します。
ここに画像の説明を挿入
STM32F103C8T6 としてデバイスを選択します。
ここに画像の説明を挿入
  STM32F103C8T6 のメモリは中容量サイズであるため、次のことも必要です。以下のように変更すると、シャドウの「xxxHD_VL」が「コンテンツが「xxxMD」に置き換えられます。

ここに画像の説明を挿入
独自のバーナーを選択します。たとえば、PWLINK を使用する場合は CMSIS-DAP を選択し、リンクに従って入力します。
ここに画像の説明を挿入

以下も独自のバーナーに従って選択されます:ここに画像の説明を挿入
次に、ブートロードを小さいサイズに変更します:
ここに画像の説明を挿入
アプリケーション アドレスを調整します。注意: このアドレスは後で APP プロジェクトで使用されます。一貫性が必要です。この 0x8005000 を覚えておいてください: 再度コンパイルします
ここに画像の説明を挿入
。 :
ここに画像の説明を挿入
次に、ダウンローダーと STM32 を接続し、ダウンロードをコンパイルして書き込みます:
ここに画像の説明を挿入
[この手順は省略できます] 次に、シリアル ポート アシスタントを通じてシリアル ポート情報を確認します: 115200 ボー レートを選択すると、次のインターフェイスが表示されます。
ここに画像の説明を挿入
APP ファームウェアがあれば、ファームウェアの転送に SecureCRT を使用して、APP 部分について説明します。

2.アプリ

1 はじめに

  APP 領域はユーザーがカスタマイズした特定の機能領域です。ブートロード後、開始アドレスはブートロードを使用して APP 領域にジャンプします。ブートロードのジャンプ アドレスが開始アドレスである限り、ここではこれ以上説明する必要はありません。アプリのアドレス。

2) 土木工事

  アプリケーション層はよりカジュアルです。ここではシリアル ポート印刷を例に挙げます。シリアル ポート印刷の方法は誰もがよく知っていると思います。ここでは、誰もがデフォルトでシリアル ポート印刷プロジェクトを持っているか、私が使用したプロジェクトをダウンロードします。これは、時間厳守のアトミック標準に基づいています ライブラリ プロトコルの単純なシリアル ポート プロジェクトで、独自のプロジェクトを使用できますが、STM32 APP のストレージ サイズを超えないようにするため、プロジェクトは大きすぎてはなりません:
ここに画像の説明を挿入

3) アプリアドレス

ここで重要な点は、アドレスがブートロード内の APP のアドレスと一致している必要があるということです。
ここに画像の説明を挿入

4) bin ファイルの生成

  もう 1 つの重要な点は、IAP がアップグレードされるときに、SecureCRT ソフトウェアを使用して、Ymodem プロトコルを使用してシリアル ポート経由で .bin ファームウェア ファイルを送信するため、まずコンパイル後に bin ファイルを生成する必要があることです。次の図に追加します

$K\ARM\ARMCC\bin\fromelf.exe --bin --output=@L.bin !L

ここに画像の説明を挿入
再度コンパイルします。

ここに画像の説明を挿入
ここに画像の説明を挿入
次に、IAP アップグレードに SecureCRT を使用できます。

3. シリアルポート IAP アップグレード

ここに画像の説明を挿入

1) SecureCRT ソフトウェアをインストールする

SecureCRT ソフトウェアは自分でダウンロードしてインストールします。オンライン リソースは多数あります

2) 新しいシリアルポートターミナルを作成します

まずクイック接続をクリックします:
ここに画像の説明を挿入
シリアル ポートを選択します:
ここに画像の説明を挿入
独自のシリアル ポートとボー レート 115200 を選択します:
ここに画像の説明を挿入
接続をクリックした後、STM32F103C8T6 のリセット ボタンを押します:
ここに画像の説明を挿入
次にキーボードの数字 1 を押します (SecureCRT はエコーを提供しません)
ここに画像の説明を挿入
。 Ymodem 送信を選択します。
ここに画像の説明を挿入
次に、上記で生成された APP ファームウェアの bin ファイルを選択します。
ここに画像の説明を挿入
ここに画像の説明を挿入
送信速度が非常に速いことがわかります。次に、「3」を押して APP を実行します。
ここに画像の説明を挿入
APP ファームウェアの変更を反映するために、ここで変更します。 APP プログラム:
ここに画像の説明を挿入
次に、ファームウェアをコンパイルして生成します:
ここに画像の説明を挿入
上記の番号 1 を入力し、送信するファームウェアを選択します:
ここに画像の説明を挿入
ここでは、シリアル ポート IAP のファームウェア アップグレードが完了しました。次に、Bluetooth を使用してワイヤレス アップグレードを完了します。 、太田。

3. Bluetooth OTA

1 はじめに

  IAP アップグレードでは、実際の bin ファイルがシリアル ポートを介して送信されることがわかります。次に、STM32 のシリアル ポートを Bluetooth シリアル ポート透過伝送モジュールに接続し、PC の Bluetooth を Bluetooth に接続します。データは STM32 のシリアル ポートに送信されます。
ここに画像の説明を挿入

2. Bluetoothの設定

理論的には、Bluetooth トランスペアレント伝送をサポートするモジュールであればどれでも使用できますが、私は HC-04 Bluetooth モジュールを使用していますが、
ここに画像の説明を挿入
他の Bluetooth モジュールを選択することもできます。

1) ボーレートは 115200 に設定されています

ここに画像の説明を挿入

2) トランスペアレント伝送モードに入る

私が使用している HC04 のボーレート設定の AT コマンドは「AT+BAUD=115200」です。

ここに画像の説明を挿入他の Bluetooth モジュールを使用する場合は、独自のモジュールのマニュアルに従って設定してください。

3) ピン接続

ここに画像の説明を挿入

4) PCのBluetoothペアリング

ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入

ここに画像の説明を挿入

3. Bluetooth OTA

1) 新しい接続を作成する

ここに画像の説明を挿入
ここに画像の説明を挿入
次に、IAP アップグレードの操作を繰り返します。たとえば、数字の 3 を押して直接実行します。MDK
ここに画像の説明を挿入
プロジェクトを変更し、ファームウェアを更新します。
ここに画像の説明を挿入

次に、リセットを押し、数字 1 を送信し、独自のファームウェアを選択してアップロードします。ファームウェアが
ここに画像の説明を挿入
ここに画像の説明を挿入
  更新されたことがわかります。ここでは、Bluetooth OTA 機能が実現されています。SecureCRT ソフトウェアを使用して、シリアル経由で bin ファイルを送信します。興味のある方は、Ymodem ファームウェアの配信を完了するために自分の PC または Android ホスト コンピュータを作成してみることができます。


  今回の内容は以上です。運用中に質問がある場合は、公式アカウント「IOT Fun Production」にメッセージを残してください。本号の関連情報はすべてアップロードされています。キーワードを返信するだけです。 「BLEOTA」または「0809」。

おすすめ

転載: blog.csdn.net/weixin_43351158/article/details/132179094