Keil のビルドと構成
MDK はドイツの KEIL 社が発祥で、RealView MDK の略です。MDK は、世界中の 100,000 人を超える組み込み開発エンジニアによって使用されています。最新バージョンは次のとおりです。uVision5 IDE 統合開発環境を使用する MDK5.21A は、現在 ARM プロセッサ、特に Cortex M コア プロセッサに最適な開発ツールです。
1. 構成環境
1.MDKのインストール
MDK (マイクロコントローラ開発キット) は、ARM プロセッサ、特に Cortex-M コア プロセッサに最適な開発ツールです。
1.1 MDK5 ダウンロード
②百度ネットワークディスク共有・ダウンロード
抽出コード:8520
1.2 インストール
- ダウンロード後、mdk_xxx.exe をクリックして MDK ソフトウェアをインストールしてください。
2. [次へ] をクリックします。3、チェックして [次へ] をクリックします
。 4. インストール パスを選択し、[次へ>>] をクリックします。
5. 名前と電子メールを自由に入力し、[次へ>>] をクリックします。
6. インストールが完了するまで待ち、[完了] をクリックします
7. [OK] をクリックすると、さまざまなパックがオンラインでインストールされているため、マウスが円に変わりますが、インストールは失敗します。心配しないで、右上隅のウィンドウを閉じてください、以下のパックの手動インストールを開始します。
2. stm32 パックをインストールする
(1) 新しく解凍されたファイルで、ARM.CMSIS.3.20.4 パッケージをダブルクリックして開き、インストール インターフェイスが表示されたら、[次へ>>] をクリックしてインストールを開始します。
(2) [完了] をクリックします。
(3) 新しく解凍されたファイルで、Keil.STM32F1xx_DFP.1.0.4 パッケージをダブルクリックして開き、インストール インターフェイスが表示されたら、[次へ>>] をクリックしてインストールを開始します。
(4) インストールが完了したら、[完了] をクリックします。
(6) 2.2.0 の STM32 パックをインストールする
2、Mdk 使用構成スキル
1.タブキーを2つのスペースに設定します
Configuration->Editor に入り、次のように設定します:
タブにスペースを挿入項目にチェックを入れる、つまり、タブ キーはスペースで埋められ、埋められるスペースの数はタブ サイズの値を設定することで設定できます。 2または4です
2. コードのオートコンプリート
Configuration->Text Completion を入力し、次のように設定します。
「Symbols after」をチェックし、ボックスに「3」を入力します。つまり、3 文字を入力して文字照合を開始します。最後に、マウスの左ボタンを使用して [OK] をクリックし、構成を保存します。
3. 構文動的エラー検出
[構成] -> [テキスト補完] に移動し、次のように設定します:
チェックして、構文の動的エラー検出を有効にします。
4. 右マージン表示
Configuration->Editor に入り、次のように設定します:
区切り記号の位置番号を編集します。位置番号のデフォルト値は 80 で、範囲は [1-999] です。
ドロップダウンして選択:
なし: フラグなし。
垂直線: 点線マーク;
色付き背景:背景色のマーク。
3. 簡単なアセンブラを書く
1. 新しいプロジェクトを作成する
1.1 プロジェクトの作成
①Project をクリックし、New uvison Project を選択
②ファイルを保存するパスとファイル名を選択
2. 環境設定
①この記事で使用する対応するチップを選択STM32F103C8T6
②動作環境の選択、CMSISは主にCORE、スタートアップファイルを含むDeviceはStartupを選択
それ以来、プロジェクトの設立は完了しています。
2.ファイルを追加する
1. ソース グループ 1 を右クリックし、[新しい項目をグループに追加] を選択します。
2. Asm ファイル (.s) を選択し、ソース ファイルの名前を設定して、[追加] をクリックします。
ここから、ファイルを追加するプロセスが完了し、アセンブラーの作成を開始できます。
3. アセンブラ
コード
AREA MYDATA, DATA
AREA MYCODE, CODE
ENTRY
EXPORT __main
__main
MOV R0, #10
MOV R1, #11
MOV R2, #12
MOV R3, #13
;LDR R0, =func01
BL func01
;LDR R1, =func02
BL func02
BL func03
LDR LR, =func01
LDR PC, =func03
B .
func01
MOV R5, #05
BX LR
func02
MOV R6, #06
BX LR
func03
MOV R7, #07
MOV R8, #08
BX LR
エミュレータの選択
ハードウェア エミュレータを ST_Link に設定し (実際の状況に応じて選択)、エミュレータのモードを JTAG インターフェイスまたは SW に設定します (実際の状況に応じて選択します)。設定が完了すると、対応するエミュレータに接続すると、対応する情報が表示されます。
シミュレーションのデバッグ (ブレークポイントの設定はコード行の前をクリックすると、赤い点が表示され、ブレークポイントの設定が成功したことを示します)
デバッグ効果
最終結果は、レジスタの値が設定値と一致していることがわかります。
4. コンパイルによって生成された Hex ファイルを分析する
1. 最終的に生成されたプログラムの各部分のサイズ
2. Hex ファイルの最初の行を分析する
最初の行の内容は、それぞれ 0x02、0x00、0x00、0x04、0x08、0x00、0xF2 です。
0x02
このデータ行には 2 つのデータがあります
0x00 0x00
このデータ行の開始アドレス ビット
0x04
は、拡張リニア アドレスのレコードを識別するために使用されます
このバイトは他の値にすることもできます。他の
値00: データを記録するために使用されます。HEX ファイルのほとんどのレコードはデータ レコードです
。
拡張セグメント アドレスのレコード 03
: 開始セグメント アドレス レコード
05: 開始リニア アドレス レコード
0x08 0x00
この行の 2 バイトのデータ タイプ
は 04、つまり、この行は拡張アドレスを記録します (0x08 0x00 はアドレス情報であり、使用法は、このアドレス (0x0800<<16) を検証合計
のベース アドレス 0xF2 として使用することです
。チェックサム = 0x100 - 累積合計
5.参考文献
MDK に基づく純粋なアセンブリ言語 STM32 プロジェクトの作成 - LED の点滅を実現するためのアセンブリ
ARM 開発: MDK を使用して stm32 の簡単なプログラム (LED の点滅) をコンパイルします。