LPC1114
LPC1114FN28(DIPタイプ)
- は、こちら
トラ技増刊【2枚入り】LPC1114 MARY基板を使ってみる。 (予定稿)
- LPC1114はCortex-M0だ。M3より低消費電力らしいが、命令セット等はどの程度違うのだろうか?
- ここを見る限り、M3に割り算器が付いていることと、あとはハードウェア上の割り切り方の違いっぽい。M0のほうはFPGAマクロとしての提供が主力だったような気もする。
- M0のほうはM3にくらべてゲート数がかなり少ない。性能も少し落ちるようだ。
CQ出版社:MARY特設サイト
- http://toragi.cqpub.co.jp/tabid/412/Default.aspx
- 何はともあれ、ここからCQ.zipをダウンロードするところから始めてみる。本誌にはCDROM類は付いてこない。
Flash書き込みソフトについて
- LPC1114はUSBを内蔵しない。
- さらに言うとクロック48MHz/Flash 32kB/ SRAM 8kB しかない。
- でもBOOT ROMは16kBもある。シリアル(UART)ブートではボーレートを自動認識するし、CANインターフェースによるブートモードもある。BOOT ROM内にはISP(In System Programming)/IAP(In Application Programmingつまり自己書き換え)サポートのルーチンが含まれているようだ。
- LPC2388のときと同じようにシリアル(UART)ブートの書き込みツールにFlashMagicを使え、とあるが
- FlashMagicはまっぴらごめんだ。
ChanさんのlpcspをMARY対応させている人がいるので、ありがたく使わせていただく。
- そっかー、teratermなど普通の無手順ttyはDTRをアサートするのでリセットかかりっぱなしになるなぁ・・・。
LPC1114のブートモードについて
BOOTスイッチが無いなぁ・・・と思ってマニュアルを摘み読み
RESET後のBOOTシーケンスとしては
- (1)大前提として、WATCHDOGがEnableになっていたり、CRP3/NO_ISPモードのときはBOOTモードにならずに即座にユーザーコードを実行する。
- ただし、ユーザーコードが正しく書き込まれていない(リセットベクタのチェックサムが合わない)場合はその限りで無い。
- (2)PIO0_1=LOWかつPIO0_3=LOWのときはC_CANからブートする。
- (3)PIO0_1=LOWかつPIO0_3=HIGHのときはUARTからブートする。
- (4)PIO0_1=HIGHで、ユーザーコードが正しく書き込まれているなら、ユーザーコードを実行する。
ちなみにPIO0_1はCP2104のRTS出力(OC)とつながっている。
PIO0_0(RESET)は基板上の押しボタンスイッチと、CP2104のDTR出力(OC)の両方に繋がっている。
PIO0_3(CAN BOOTセレクト)はMARYの他の基板へと繋がるようなので、他の基板からのLOW信号が来ているとUARTブートではなくCANブートになる可能性がある。
もちろん、CP2104側から、RESET(=DTR)とBOOT(=RTS)を同時アサートしない(ブートローダーを起こさない)なら無問題。
コンパイラ(開発環境)は?
- CQ.zipを開いてみたけれど、コンパイラが見つからない。
- あれ?LPCXpressoを入れろって?
- まさか、あのEclipseじゃないよね。
- って、やっぱりそのまんまじゃん。
なんだそれー、がっくりじゃないか。おれGUI嫌いなんだ。
- GUIが嫌いというよりはEclipse嫌いかな。VisualStudioも嫌いだが・・・。とにかく重い奴はだめだ。
- マシンとか液晶解像度が非力なだけなんだけど。
- DOS窓とLinuxコンソールとgccとmakeと秀丸(か、適当な軽いエディタ)があればそれで満足。
続きを読む・・・