• 検索結果がありません。

本ドキュメントについて 的 ARM 統合開発環境である ARM IAR Embedded Workbench(EWARM) と ST マイクロエレクトニクス社 (ST 社 ) 提供のサンプルプロジェクト および設計 援ツールを使 して ST 社評価ボード のソフトウェアを実際にビルド デバッグする

N/A
N/A
Protected

Academic year: 2021

シェア "本ドキュメントについて 的 ARM 統合開発環境である ARM IAR Embedded Workbench(EWARM) と ST マイクロエレクトニクス社 (ST 社 ) 提供のサンプルプロジェクト および設計 援ツールを使 して ST 社評価ボード のソフトウェアを実際にビルド デバッグする"

Copied!
45
0
0

読み込み中.... (全文を見る)

全文

(1)

STM32 M0&M0+

ソフトウェア開発⼊⾨

(2)

本ドキュメントについて

2

⽬的

ARM⽤統合開発環境であるARM⽤IAR Embedded Workbench(EWARM)

とSTマイクロエレクトニクス社(ST社)提供のサンプルプロジェクト、およ

び設計⽀援ツールを使⽤して、ST社評価ボード⽤のソフトウェアを実際にビ

ルド・デバッグする⼿順を紹介します。

内容

STM32 M0/M0+評価ボードラインナップ

STM32CubeLx/Fx同梱サンプルプロジェクトのビルド

サンプルプロジェクトを実ボードでデバッグ実⾏

EWARMのデバッグ機能⼀部紹介

STM32CubeMXのプロジェクト設定⽅法

STM32CubeMX⽣成プロジェクトをEWARMで実装してデバッグ

※本ドキュメントは、2015年4⽉現在のIARシステムズWebサイト、およびEWARM バージョン7.40.2を基に作成しています。

(3)

168 Employees with HQ in Uppsala, Sweden Listed in Stockholm/Nasdaq

R&D investment 32% of revenue 32 years in the industry

Uppsala Munich Sao Paulo Tokyo Seoul Shanghai London Paris San Francisco Dallas Boston Los Angeles +Distributor representation in

43

countries

24

hour technical support in

13

languages

Stability and growth

(4)

STM32 M0/M0+

(5)

STM32L0(M0+)/F0(M0)

NUCLEO-L053R8(L0)を例に記載

他のボードは置き換えて、読むことで対応可能 STM32F0DISCOVERY F0 STM32F051R8T6 M0 64 48 64 8 NUCLEO-F072RB F0 STM32F072RBT6 M0 64 48 128 16 NUCLEO-F030R8 F0 STM32F030R8T6 M0 64 48 64 8 NUCLEO-L053R8 L0 STM32L053R8T6 M0+ 64 32 64 8 F0シリーズ⽤ ボードプロジェクト

(6)

STM32CubeLx/Fx

(7)

EWARMを起動

スタートメニューから起動

すべてのプログラム > IAR Systems > IAR Embedded Workbench for ARM 7.xx.x > IAR Embedded Workbench

(8)

STM32CubeL0のサンプルを起動

8

GPIO_IOToggleプロジェクトを開く

Project.ewwを選択 して、[開く] [ファイル] > [開く] > [ワークスペース] STM32Cube_FW_L0_V1.1.0¥Projects¥STM32L053R8-Nucleo¥Examples¥GPIO¥GPIO_IOToggle¥EWARM

(9)

STM32CubeL0のサンプルをビルド

ソースコードを表⽰

(10)

STM32CubeL0のサンプルをビルド

10

⾏番号を表⽰する

ツール>オプション エディタ > [⾏番号の表⽰]にチェック

(11)

STM32CubeL0のサンプルをビルド

メイクを実⾏する

エラーが0なら成功

ツール > オプション メッセージ > ビルドメッセージの表⽰ > [全て]

(12)

サンプルプロジェクトを

実ボードでデバッグ実⾏

(13)

ST-LINKの接続

ST-LINKとPCの接続 > デバイスドライバインストール

デバッグ⽤ オンボードST-LINK メインMCU 初回のみデバイスドライバのインストールが実⾏ USBミニケーブル http://www.st.com/web/jp/catalog/tools/FM116/SC959/SS1532/LN1847/PF260001 2015年4⽉1⽇ ST社Webサイトより抜粋

(14)

STM32CubeL0のサンプルをデバッグ

14

デバッグモードに移動

実⾏ファイルのフラッシュ書き込み、 デバッグセッション初期化 デバッグモード開始

(15)

STM32CubeL0のサンプルをデバッグ

実⾏の制御

実⾏ 次のステートメント カーソルまで実⾏ デバッグの終了

(16)

STM32CubeL0のサンプルをデバッグ

16

実機でデバッグ実⾏

グリーンのLD2 LEDが 200msで点滅 Main関数 whileループ内にブレークポイント設置 ⾏番号の左をシングルクリック ※もう⼀度クリックで解除 ステップ実⾏で、コードの動作を追う

(17)
(18)

EWARMの豊富なデバッグ表⽰

18

表⽰メニュー概要

各種ブレークポイント情報 逆アセンブリ画⾯ メモリ表⽰ CPUレジスタ、周辺レジスタ表⽰ 変数ウォッチ Printf出⼒表⽰ 静的変数リアルタイムウォッチ

(19)

EWARMのデバッグ機能:レジスタ

GPIO変化をレジスタウィンドウで⾒てみる

(20)

EWARMのデバッグ機能:ターミナルI/O

20

ソースコードを編集し、EWARM内でprintfを表⽰する

#include “stdio.h”を追記 printf(“Hello!World¥n”);を追記 [メイク] [ダウンロードしてデバッグ] 表⽰ > ターミナルI/O printfの実⾏結果がターミナルI/Oに表⽰される

(21)

EWARMのデバッグ機能:ライブウォッチ

ソースコードを編集し、定期的にカウントアップされる静的変数を表⽰

static int count = 0;を追記

count++;を追記

[メイク] [ダウンロードしてデバッグ]

(22)

STM32CubeMXの

プロジェクト設定⽅法

(23)

STM32CubeMXを起動

スタートメニューから起動

すべてのプログラム > STMicroelectronics> STM32Cube >

STM32CubeMX

(24)

STM32CubeMXでプロジェクト設定

24

デバイスをベースとするか、評価ボードをベースとするか選択

タブクリックで切り替える 評価ボードをベースとすると基本的なピン配置は 設定済みで開始できる

(25)

STM32CubeMXでプロジェクト設定

Nucleoボードをベースとする

Nucleo

STM32L0

(26)

STM32CubeMXでプロジェクト設定

26

ピン配置および周辺機能の使⽤を選択

LED(LD2)は設定済み TIM2のClock Sourceを [Disable]から[Internal Clock]に変更

(27)

STM32CubeMXでプロジェクト設定

Clock Configurationで各ブロックへの供給クロックを設定

HSI 16MHzに変更する

システムクロック選択

(28)

STM32CubeMXでプロジェクト設定

28

各周辺機能の設定

Configurationタブからボタンクリックで設定 点滅⽤TIM2を設定 ボタン、LED⽤ GPIO設定

(29)

STM32CubeMXでプロジェクト設定

TIM2モジュールの設定

プリスケーラ 16000 リロードカウント 1000 TIM2global interrupt [Enabled]にチェック

(30)

STM32CubeMXでプロジェクト設定

30

GPIO設定

(31)

STM32CubeMXでプロジェクト設定

コード⽣成オプションの設定

ドライバ⽤のSTM32CubeL0を Webからダウンロード Project > Settings プロジェクトファイル名 ※LED_Blink プロジェクト保存場所

(32)

STM32CubeMX⽣成プロジェクトを

EWARMで実装してデバッグ

(33)

STM32CubeMXでプロジェクト⽣成

ソースコードとEWARM⽤プロジェクトファイルを出⼒

LED_Blink以下にプロジェクトファイルと ドライバなどが⽣成される

(34)

STM32CubeMXでプロジェクト⽣成

34

初期化コードを含んだプロジェクトが⽣成される

ユーザコードは

/* USER CODE BEGIN x */ /* USER CODE END x */ の間に記述する

HAL_xxx()はSTM32CubeL0の提供する ドライバAPI関数

MX_xxx()はSTM32CubeMXが⽣成した 初期化関数

(35)

アプリケーションコードを記述

タイマー開始関数と、タイマー割り込みでLEDトグル関数を追加

main関数内、初期化処理と whileループの間に HAL_TIM_Base_Start_IT(&htim2); を追加 main関数終了後に

void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) {

(36)

プロジェクトの実⾏

36

メイク後、ダウンロードしてデバッグ

実⾏ ステップアウト ステップイン ステップオーバ ブレーク リセット 次のステートメント カーソルまで実⾏ デバッグの終了

(37)

プロジェクトのデバッグ

ブレークポイントを設置し、コードの流れを解析

追加した割り込みハンドラ内にブレークポイントを設定

(38)

STM32CubeMXで設定変更

38

クロック設定を変更し、プロジェクト再⽣成

EWARMのデバッグを中⽌

PLLMulを×4に変更

System Clock Mux System Clock Mux をPLLCLKに変更

CPUクロック 32MHz

(39)

EWARMでプロジェクト再読み込み

プロジェクトを読み込んで、再ビルド

ソースコードの変更が通知されるので、[すべてはい]を選択

クロック設定コード が変更されている

(40)
(41)

まとめ (1/2)

STM32Cube Lx/Fx同梱のサンプルプロジェクトを使う

ことで、豊富な周辺機能を実機で、すぐに試すことがで

きる。

EWARMのデバッグ機能を使うことで、変数やメモリ、レ

ジスタなどの値を確認し、状態把握や問題の特定を効率

よく⾏うことができる。

(42)

まとめ (2/2)

42 

STM32CubeMXを使⽤することで、初期化設定をグラ

フィカルに⾏うことができる。

⽣成されたEWARM⽤プロジェクトで、すぐにビルドし

デバッグを試すことができる。

STM32CubeMXのルールに従ってユーザコードを記述す

ることで、何度でも初期化設定をやり直すことができる。

(43)
(44)

本資料取り扱い上の注意

44

本資料は2015年4⽉1⽇時点の情報を基に作成されており、将来変更の可能性

のあるものです。あわせてご紹介する設定や機能に関連して、動作保証をお約束す

るものではございませんので、ご了承ください

本資料で提供している情報は、ご利⽤されている⽅のご判断・責任においてご使⽤

ください。提供した情報に関連して、ご利⽤される⽅が不利益等を被る事態が⽣じ

たとしても、弊社及び執筆者は⼀切の責任を負いかねますので、ご了承ください。

本資料の内容に関する弊社または各社へのお問合せはご遠慮ください。

本資料及びデータの再配布・無断転⽤・転載等はご遠慮ください。

(45)

商標について

IAR Systems, IAR Embedded Workbench, C-SPY, C-RUN, C-STAT,

visualSTATE, Focus on Your Code, IAR KickStart Kit, I-jet, I-scope, IAR, お

よび IAR Systems のロゴタイプはIAR Systems ABが所有する商標または登録

商標です。

ARMおよびCortexは、ARM Limited(またはその⼦会社)のEUまたはその他の

国における登録商標です。CoreSightは、ARM Limited(またはその⼦会社)の

EUまたはその他の国における商標です。 All rights reserved.

参照

関連したドキュメント

現状の課題及び中期的な対応方針 前提となる考え方 「誰もが旅、スポーツ、文化を楽しむことができる社会の実現」を目指し、すべての

・本書は、

また,具体としては,都市部において,①社区

暑熱環境を的確に評価することは、発熱のある屋内の作業環境はいう

(ページ 3)3 ページ目をご覧ください。これまでの委員会における河川環境への影響予測、評

市民的その他のあらゆる分野において、他の 者との平等を基礎として全ての人権及び基本

ア  入居者の身体状況・精神状況・社会環境を把握し、本人や家族のニーズに

とである。内乱が落ち着き,ひとつの国としての統合がすすんだアメリカ社会