wiki:armv6_m_gcc

Version 7 (modified by nmir-saito, 4 years ago) ( diff )

--

TOPPERS/SSP Kernel for ARMv6-M (separate package)

ARMv6-Mプロセッサ向けTOPPERS/SSPカーネルの個別パッケージです.
ターゲットボードとして LPC812-LPCXpresso Board で動作確認しています.

必要なもの

動作を確認するには,以下のものを用意してください.

  • TOPPERS/SSPカーネル 1.3.0
    • TOPPERS/SSPカーネルの非依存部個別パッケージです.
  • このプログラム(ARMv6-Mプロセッサ向け個別パッケージ)
    • subversion が使用できる場合,以下のコマンドで最新版を入手できます.
      $ svn co http://dev.toppers.jp/svn_user/contrib/ssp_armv6_m_gcc/trunk
      
    • または,ブラウザで ソースのブラウズ画面を開き,画面下部にある"Download in other formats: Zip Archive" のリンクをクリックします.そうすると ZIPアーカイブしたソースコードをダウンロードすることが出来ます.
    • 入手したファイルの armv6_m_gcc および lpcxpresso_lpc812_gcc を,先に取得したSSPカーネルの arch および target ディレクトリの下に,それぞれ配置します.
  • コンフィギュレータ
    • カーネルのコンフィギュレーションに使用します.1.8.0での動作を確認しています.
    • 実行ファイルを <カーネルのトップディレクトリ>/cfg/cfg に配置するか,もしくは別の場所においた場合 configure スクリプトの実行時に -g オプションで cfg の実行ファイルの位置を指定することで使用できます.
  • LPCXpresso IDE
    • コンパイルやデバッグに使用します.コンパイルのために GCC だけが必要であれば https://launchpad.net/gcc-arm-embedded/ からもダウンロードすることが出来ます.動作確認には GCC 4.9.3(LPCXpresso IDE 7.7.2) を使用しました.
  • UART通信モジュール.
    • サンプルプログラムはシリアルポートを使用しますのでPCとシリアル通信するために使用します.たとえばこちらのようなものがあればよいでしょう.
  • 端末エミュレータソフト.
    • シリアル通信結果を確認するために使用します.たとえばTera Termのようなものがあればよいと思います.

手順

  • Makefile およびサンプルプログラムのセットアップをします.ビルドするディレクトリの場所はこの例の通りでなくても基本的には構いません.
    $ cd <カーネルトップディレクトリ>
    $ mkdir build; cd build
    $ ../configure -T lpcxpresso_lpc812_gcc
    
  • 次にビルドして実行プログラムを作成します.
    • コンパイル方法は他のTOPPERSカーネルと同様です.LPCXpresso IDE でビルドするか,もしくはコマンドラインで以下のように実行します.
      $ make depend
      $ make
      
  • プログラムのダウンロードまたはデバッグには LPCXpresso IDE を使用しました.使用方法についてはツール説明文書を参照してください.
    • この IDE は,メニュー「File --> Import」で開かれる Import ダイアログから 「Existing Code as Makefile Project」で Makefile を直接インポートすることが可能です.
  • マイコンボード(LPC812)とUART通信モジュールとは以下の条件で接続しました.
    • LPC812ボードの GND, P0_0(RX), P0_4(TX) を使用.ブレッドボードを使用すると簡単に結線して試すことが出来ます.
    • UART ピンの電圧は 3.3vで,シリアルUSBモジュールの端子電圧もそれにあわせること.
    • 通信条件 19200bps, 8bit, 1stop, parity-none, no-flow
Note: See TracWiki for help on using the wiki.