How to use TOPPERS/ASP for LPC

以下ではubuntu 10.04で開発する際の、デバッガ、端末ソフトの利用方法を説明します。

kermitを使う


「インストールの仕方」通りにツール類をインストールすると、ホームディレクトリに.kermrcファイルが作られ、基本的な回線設定を行っています。これをそのまま使うのが簡単な方法です。なお、設定は /dev/ttyUSB0, 57600baud, 8bit, 1stop bit, parityなしです。
最初にUSBシリアル変換アダプタをPCのUSBポートへ挿してください。この作業はJTAG ICEを挿す前に行います。これは~/.kermrcが/dev/ttyUSB0を仮定しているからです。挿す順番を変えるとUSBシリアル変換アダプタが/dev/ttyUSB0になりません。
USBシリアル変換アダプタを挿したら、shellのコマンドラインからkermitコマンドを実行してください。するとkermitが起動します。この状態ではkermitは対話モードですので、"c"コマンドを入力して端末モードに入ります。
  1. (/home/takemasa/) C-Kermit> c

このモードで通信端末として使うことができます。kermitの詳しい使い方は、WEBサイトなどを参照してください。

OpenOCDを使う


GDBを使ってターゲットを操作するためには、GDBサーバーとして動作するOpenOCDを起動しなければなりません。
最初にUSB ICEをPCのUSBポートとターゲットのJTAGポートにも接続します。当プロジェクトではAlpha Project製のHJ-LINK/USBとCQ出版社が紹介しているマルチJTAGアダプタ対応の設定ファイルを用意しています。
設定ファイルはSVNサーバーにあります。インストール時にASPのソースツリーを取得したときと同じ手続きで、SVNからinstallerプロジェクトをワークスペースにチェックアウトします。チェックアウトが完了したらshellコマンドラインで以下のコマンドを実行します。
  1. $ cd ~/workspace/installer
  2. $ openocd -f hjlink.cfg -f lpc1768.cfg

正常動作すると、port 3333でGDBからの接続を待ちます。

GDBからプログラムをダウンロードする


まず、サンプルプログラムをビルドします。今回はSRAM実行用にビルドし、GDBを起動します。
  1. $ cd ~/workspace
  2. $ mkdir sample1
  3. $ cd sample1
  4. $ ln -s ../asp kernel
  5. $ kernel/configure -T lpc1768_generic_gcc
  6. $ make depend
  7. $ make sram
  8. $ arm-none-eabi-gdb asp

GDBが起動したら、OpenOCDに接続し、ターゲットをリセットしてオブジェクトをロードし、実行します。
  1. (gdb) target remote localhost:3333
  2. (gdb) monitor soft_reset_halt
  3. (gdb) load
  4. (gdb) c

正常に実行したばあいには、kermitにメッセージがあらわれます。

FLASH ROMに焼く


Flash ROMに焼くには、kermitを終了してターゲットのシリアルポートを開放します。LPC1768にはUART0からFlashを焼くコードが内蔵されていますので、それを使用します。
まずROM化コード用にmakeをやり直します。引数なしのmakeはROM化コードを生成します。なお、SRAMモードのオブジェクトをいったんクリアしておきます。
  1. $ make clean
  2. $ make

そして書き込みツールを使ってIntelHEXファイルを書き込みます。
  1. $ lpc21isp asp.hex /dev/ttyUSB0 57600 4000

LPC1768への書き込みには、LPC1768側で特別な作業が必要です。LPC1768のユーザーズ・マニュアルを参照して下さい。

Doxygenドキュメントを生成する


Doxygenドキュメントを生成するには、aspプロジェクトを右クリックし、"Build Documents"を選択してください。asp/target/lpc1768_generic_gcc/htmlに文書が生成されます。