[Keil] 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 インストール

  1. ダウンロード後、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 の点滅) をコンパイルします。

おすすめ

転載: blog.csdn.net/qq_52201641/article/details/127175778