Flashにsample1を焼く

Windows環境で作業する場合、LPC2388へのFlashへの書き込みにはFlashMagicを使います。FlashMagicの代わりにLinux用ではフリーなlpc21ispを使う事が出来ます。

lpc21ispの取得とmake

Sourceforgeのlpc21ispプロジェクトからソースをダウンロードします。この文書を書いている時点でバージョンは1.64でした。解凍してmakeを実行するだけです。特にビルドには問題は起きないはずです。

以下にインストールスクリプトを示します。

  1. #! /bin/bash
  2. # lpc21isp :
  3. # Run this script to get the source of lpc21isp, build and install
  4. # The home of lpc21isp is http://sourceforge.net/projects/lpc21isp/
  5. # The down load site is mirror at JAIST
  6. wget http://downloads.sourceforge.net/project/lpc21isp/lpc21isp/1.64/lpc21isp-1.64.tar.gz?use_mirror=jaist
  7. tar xvzf lpc21isp-1.64.tar.gz
  8. cd lpc21isp-1.64
  9. make clean
  10. make
  11. sudo mkdir /opt/lpc21isp
  12. sudo mv lpc21isp /opt/lpc21isp
  13. echo
  14. echo The lpc21isp has been installed on /opt/lpc21isp
  15. echo
  16. echo
  17. echo Append following line into the ~/.bashrc
  18. echo '# ------------------Cut Here --------------------'
  19. echo 'export PATH=$PATH:/opt/lpc21isp'
  20. echo '# ----------------- Cut Here --------------------'
  21. echo

適当な場所にバイナリを置いてパスを通してください。例えば /opt/lpc23isp ディレクトリにバイナリを置き、.bashrc ファイルに以下の一文を追加しておきます。

  1. export PATH=$PATH:/opt/lpc21isp

sample1のhexを作る

現時点でTOPPERS/JSPはhexファイルを生成しません。将来的にはソースツリーを変更してhexファイルも生成するように変更しますが、取得したソースツリーからhexファイルが生成されないときには以下のコマンドを実行するとhexファイルを作ることが出来ます。

  1. arm-none-eabi-objcopy -O ihex -S jsp jsp.hex
jspファイルはELFです。objcopyはELFの再配置情報を読み取って、バイナリデータを対応するアドレスのhexレコードに変換します。 (チケット#18448で対策を打ちました。以後、コンフィグレータが生成するMakefileにはhexの生成コードが含まれます)

sample1を焼く

CQ-FRK-NXP-ARMへの書き込みは以下のように行います(コマンドを実行する前に、基板上のJP2をショートしたままJP1を一回ショートしてリセットする)。

suikan:~$ lpc21isp -hex jsp.hex  /dev/ttyUSB0 57600 4000
lpc21isp version 1.64
File jsp.hex:
	loaded...
	converted to binary format...
	image size : 26216
Synchronizing (ESC to abort). OK
Read bootcode version: 3
3
Read part ID: LPC2388, 512 kiB ROM / 98 kiB SRAM (0x1800FF35)
Will start programming at Sector 1 if possible, and conclude with Sector 0 to ensure that checksum is written last.
Sector 1: ...............................................................................................
Sector 2: ...............................................................................................
Sector 3: ...............................................................................................
Sector 4: ...............................................................................................
Sector 5: ...............................................................................................
Sector 6: ...........................................
Sector 0: ...............................................................................................
Download Finished... taking 139 seconds
Now launching the brand new code
ここで、/dev/ttyUSB0は、USBケーブルで接続したCQ-FRK-NXP-ARMのUSBシリアル変換チップのLinuxでのデバイス名です。この名前はシステムごとに変わると思われますので、自分のシステムでのデバイス名を確認しておいてください。57600は転送速度です。どのくらいの速度まで転送できるか試してみると良いでしょう。4000はkHzで表したクロック周波数です。