Lynx-EyEDの電音鍵盤 新館

広帯域制御屋の駄文とか

LPCXpresso LPC1768登場

デバッグ環境が3000円弱で揃うLPCXpressoシリーズにLPCXpressoLPC1768が登場しました。
日本国内での販売は間もなく始まる様です。NXPセミコンダクタージャパンの中の人によると、秋月電子でも取り扱いをするとの事です。
このXpressoを複数個入手した知人の好意により1つお譲り頂きました。という訳で,簡単ながらレビューを。当ブログではこれまでLPCXpressoについてちょっとだけ触れましたが、LPC1768についてもゆるーく書いてみます。

後半で取り上げますが、LPCXpressoはIDEが2010年8月10日現在Windowsしか対応しておりませんので、Mac/UnixユーザやLPCXpresso IDEの128kBのリミットに引っかからないようにするため、LPC21ISPを用いた書き込み方法も取り上げます。(んな、大袈裟な事じゃないんだけどネ)

●開封の儀
「ようこそサムライの国ジパングへ(ガラッ」
f:id:Lynx-EyED:20100722190016j:image



●比較
兄貴分LPCXpresso LPC1343と比較
シンプルな兄貴に比べて大分にぎやかです。PHYも載ってるし
f:id:Lynx-EyED:20100722190835j:image
LPC-Linkも多少変更があった模様。



●クローズアップ
ちょ、クリスタルさんw
f:id:Lynx-EyED:20100722190623j:image



ホットボンド登場
危ないので固定します。
f:id:Lynx-EyED:20100722192347j:image



さっそくmbedの*.binファイルをLPCXpresso IDEを利用しLPCXpressoに書き込みます。
.binファイルの書き込みに付いては、本家に詳細がありますので参照ください。(Windows XP or Later)
前回mbed内蔵ストレージにShift-JISコードで保存した内容をOLEDで日本語表示しました。こちらのストレージをSDカードに変更し、更にmbedをLPCXpresso LPC1768に変更します。(注:LPC1768の内蔵フラッシュをUSBストレージと見せかける方法もありますが、ここでは取り上げません。)
f:id:Lynx-EyED:20100722202605j:image
おし、動いた。

  • 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ピンだけです。
f:id:Lynx-EyED:20100810221123j:image

  • 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

しばらく待つと書き込み完了します。
f:id:Lynx-EyED:20100810220226j:image
これで128kBの壁も怖くないっす。