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」。