LPCXpresso LPC1768登場
デバッグ環境が3000円弱で揃うLPCXpressoシリーズにLPCXpressoLPC1768が登場しました。
日本国内での販売は間もなく始まる様です。NXPセミコンダクタージャパンの中の人によると、秋月電子でも取り扱いをするとの事です。
このXpressoを複数個入手した知人の好意により1つお譲り頂きました。という訳で,簡単ながらレビューを。当ブログではこれまでLPCXpressoについてちょっとだけ触れましたが、LPC1768についてもゆるーく書いてみます。
後半で取り上げますが、LPCXpressoはIDEが2010年8月10日現在Windowsしか対応しておりませんので、Mac/UnixユーザやLPCXpresso IDEの128kBのリミットに引っかからないようにするため、LPC21ISPを用いた書き込み方法も取り上げます。(んな、大袈裟な事じゃないんだけどネ)
●開封の儀
「ようこそサムライの国ジパングへ(ガラッ」
●比較
兄貴分LPCXpresso LPC1343と比較
シンプルな兄貴に比べて大分にぎやかです。PHYも載ってるし
LPC-Linkも多少変更があった模様。
●ホットボンド登場
危ないので固定します。
さっそくmbedの*.binファイルをLPCXpresso IDEを利用しLPCXpressoに書き込みます。
.binファイルの書き込みに付いては、本家に詳細がありますので参照ください。( 要Windows XP or Later)
前回mbed内蔵ストレージにShift-JISコードで保存した内容をOLEDで日本語表示しました。こちらのストレージをSDカードに変更し、更にmbedをLPCXpresso LPC1768に変更します。(注:LPC1768の内蔵フラッシュをUSBストレージと見せかける方法もありますが、ここでは取り上げません。)
おし、動いた。
- mbedの内蔵ストレージへアクセスするコードやEthernetを使うコードはそのままでは動作しません。(LPCXpressoのPHYがLAN8720Aに対して、mbedはDP83848Jと異なるため)
- LPC1768 CPUのみに依存するコードは動きます。
mbedは高機能なので、いろいろプログラミングしていると軽く(LPCXpresso IDEの書き込み上限である)128kB以上超えてしまいます。
LPC1343の時はビルトインUSBブートローダを使用しましたが、LPC1768でUSBブートローダを使用する際にはまず、USBブートローダを書き込む必要がある模様です。
NXP社のHPからKeilプロジェクト形式で入手可能ですが、少々面倒なのでこの方法はやめます。
ここを参考にしながら、秋月のFT232モジュールを使ってLPCXpressoに書き込みを行いました。
LPCXpressoに書き込みを行う際に使用するピンは以下の4ピンだけです。
- LPC1768はリセット時にP2.10ピンがLowになっているとブートローダモードになります。
- ブートローダモードではTXD0(P0.2),RXD0(P0.3)を使用しプログラムをLPC1768にダウンロードします。
なお、P2.10 P0.2 P0.3の3つのピンはmbedでは外部に引き出されていません。
FT232RLモジュールから3.3Vを供給するピン配置に設定し、(←こちらは購入時に付属する資料参照)
結線は
(FT232RL) | | (LPCXpresso1768) TXD | -> | RXD0 RXD | <- | TXD0
こんな感じ。ブレッドボード上では10分かからないと思います。ちゃんと3.3VをFT232からLPCXpressoに供給するようにしておきます。
ここで書き込みを行う前に、ターミナルでLPC1768が同期しているか確認します。
macでは
$ screen /dev/tty.usbserial-A600e0fn
と入力し
?
をキーボードから入力するとLPCXpressoは
Synchronized
と返してくるはずです。これで通信の確認が出来ました。LPCXpressoにlpc21ispを利用してLPCXpressoに書き込みが出来ます。mbedサイトでコンパイルしたファイルが「hoge.bin」とすると、FT232RLの通信速度を115200baudとし、LPCXpressoは100MHz動作ですので(=100,000kHz)、
$ ./lpc21isp -bin hoge.bin /dev/tty.usbserial-A600e0fn 115200 100000