最新 RSS

tips@free BLOG

レトロなマイコン、電子工作、PCやフリーソフト関係のTipsと私的備忘録

次の3件>

2012/10/10

[ARM]LPC1114 (ARM Cortex-M0)始めました

トラ技10月号の付録は、ARM Cortex-M0コアのCPUと開発環境が入ったDVDでしたので久しぶりに買ってみました。

CPUはNXP社のLPC1114で、今時珍しくパッケージはDIP28、型番はPLC1114FN28/102のようです、スリムタイプだったらもっとよかったのに、残念。

特徴は以下のとおり

  • 32bit CPUなのに秋月で1個 110円!
  • シリアルワイヤデバッグ対応
  • クロック: 50MHz max、12MHzのRCオッシレータ内蔵(精度1%)、 PLL内蔵
  • メモリ: Flash 32KB ページ(256バイト)単位で、IAPで消去可、RAM 4KB
  • タイマ: 32bit x 2、 16bit x 2(PWM)、 systick、 ウオッチドック
  • 周辺: UART(RS485) x 1、I2C x 1、 SPI x 1、 ADC x 6、 GPIO x 22
  • アクティブ電流 @3.3V 50MHz 5.8mA、 12MHz 1.4mA、 3MHz 600uA
  • Flashメモリプログラミングファームウェア内蔵、シリアルポートから書込み可

詳しくは参考リンクのデータシートやユーザーズマニュアルを参照。

さて、ブレッドボードで簡単にLチカまでやってみたメモです、環境はWindows7/Linux Ubuntu12.04(64bit)。

Windowsでは開発環境はLPCXpresso IDE、プログラムの書き込みはFlashMagic。 まずは動くかどうかTeratermでチェックし、その後FlashMagicで書込みました。

  1. 秋月USB-シリアル変換モジュールで3.3V電源をUSBから供給し、RXDとTXDをクロス接続
  2. CPUのP0_1をGNDに落としリセットする、PCはWin7でTeraTermを使用、ボーレイトは自動判別なんでとりあえず9600bps 8bit1Stop、パリティなし、改行は<CR><LF>
  3. PCから?を送るとSynchronizedが返ってくるので、更にSynchronizedを送るとOKが返ってきてISPセッションが始まる
  4. ISPコマンドはFlashの読み書き(W,R)やイレース(E)、ブランクチェック(I)、指定アドレスからの実行(G)もある。 他にもPartID(J),BootCodeVersion(K),ReadUID(N)とか。 例えば、R 268435456 512 と打ち込むとアドレス0x1000 0000から512バイト読み出す、ただし UU-encodeされてる
  5. LPCXpress IDE を、付属のDVDからトラ技を見ながら入れる。 Eclipseじゃん、、 (汗
  6. 後は付属のDVDからFlashMagicをインストールして書き込む、取りあえずサンプルを入れてsw_led_testのhexファイルを書き込みました(MyARM_sample、フォルダはC:\workspace)

Linuxでは開発環境はLPCXpresso for Linux、書込みはlpc21ispを使用。

  1. LPCXpresso for Linuxからダウンロードして解凍・インストールする。その前に sudo apt-get install ia32-libs-multiarch:i386が必要だった
  2. pc21ispのソースコードをダウンロード。LPC1114FN28は定義が無いのでLPC1114FN28 with Open Source Toolsを参考に追加してコンパイル
  3. Windows側からサンプルソースをコピーするがビルドできないので、CMSISv2p00_LPC11xxはlinux側で追加し、main.dとcr_startup_lpc11.dのパスの\と/を書き換える
  4. 書込みは lpc21isp -wipe -verify filename /dev/ttyUSB0 115200 12000  接続チェックは -detectonly や -termonly
次の3件>