ARM(STM32)

Linux上でSTM32のプログラミング・デバッグ環境を整える - STM32

概要

Linux上でのSTM32(ARM Cortex-M3,M4)向けツールチェインのビルドと,ST-Linkを使用するためのツール群のインストールを行う.

ツールチェインのビルド

いろいろややこしいのでgcc-4.8.1ベースのツールチェインをビルドできるスクリプトを書いた.
tokoro10g / stm32-toolchain-builder

ツールチェインは/opt/cross/arm-none-eabi-x-toolsの中に入る.
もちろんgdbも使用可能.
この環境に対応したMakefileについては このへん を参考に.

Ubuntuの場合

$ sudo apt-get install g++ autoconf texinfo gcc-multilib g++-multilib libncurses5-dev
$ git clone https://github.com/tokoro10g/stm32-toolchain-builder
$ cd stm32-toolchain-builder
$ make && sudo make install

その他の場合

必要なもの(gcc,g++,texinfo,autoconf)を入れて

$ make && sudo make install

ST-Linkを使う

texane / st-linkを使う.

$ ./autogen.sh
$ ./configure
$ make
$ sudo make install

インストールできたら,ST-Linkをつないで

$ st-util

で起動. すると,GDBサーバがlocalhostのポート4242で立ち上がる.

5febef265509842237d2699e17fe5675.png

(画像はSTM32VLDiscoveryを接続した際の例.)

次に,デバッグ対象のバイナリを指定してGDBを起動.

$ arm-none-eabi-gdb main.elf

接続

> target extended-remote localhost:4242

略式としてこれも可能:

> tar ext :4242

elfの書き込み

> load

実行

> continue

まとめると,

$ arm-none-eabi-gdb main.elf
> tar ext :4242
> load
> continue

GDBの使用方法については他を参照のこと.

シリアル書き込み用プログラム

stm32flash / stm32flashを使う.

$ git clone git://gitorious.org/stm32flash/stm32flash.git
$ make && sudo make install

バージョンが新しくなって使い方が微妙に変わったので使う機会があれば使用方法を書く. manpageも用意されているようなので,知りたい人はインストールした上で

$ man stm32flash

とでもすれば幸せになれると思う.


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2014-01-13 (月) 21:34:05 (1378d)