Show page source of BurnFlash #45812

= Flashにsample1を焼く
Windows環境で作業する場合、LPC2388へのFlashへの書き込みには[http://www.flashmagictool.com/ FlashMagic]を使います。FlashMagicの代わりにLinux用ではフリーな[http://sourceforge.net/projects/lpc21isp/ lpc21isp]を使う事が出来ます。
== lpc21ispの取得とmake
[http://sourceforge.net/projects/lpc21isp/ Sourceforgeのlpc21ispプロジェクト]からソースをダウンロードします。この文書を書いている時点でバージョンは1.64でした。解凍してmakeを実行するだけです。特にビルドには問題は起きないはずです。

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

{{{ code sh
export PATH=$PATH:/opt/lpc21isp
}}}
== sample1のhexを作る
現時点でTOPPERS/JSPはhexファイルを生成しません。将来的にはソースツリーを変更してhexファイルも生成するように変更しますが、取得したソースツリーからhexファイルが生成されないときには以下のコマンドを実行するとhexファイルを作ることが出来ます。
{{{ code sh
arm-none-eabi-objcopy -O ihex -S jsp jsp.hex
}}}
jspファイルはELFです。objcopyはELFの再配置情報を読み取って、バイナリデータを対応するアドレスのhexレコードに変換します。
(チケット#18448で対策を打ちました。以後、コンフィグレータが生成するMakefileにはhexの生成コードが含まれます)
== sample1を焼く
CQ-FRK-NXP-ARMへの書き込みは以下のように行います。
{{{
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で表したクロック周波数です。