フォト
2025年4月
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30      
無料ブログはココログ

« ATtiny13AでUART-I2Cブリッジを試作したが微妙 | トップページ | LPC810でI2Cでフリーズする »

2015年3月29日 (日)

LPC810始めました

ATtiny13Aを使って、UART-I2Cブリッジを試作したらダメダメだったので、
代わりに、LPC810を使うことにしました。

当然今まで使ったことが無いので、色々と勉強しないといけません。
トラ技 2014年2月号(最軽量! 8ピンDIP ARMエントリ誕生)を片手に
昨日から、勉強始めました。

Dscn3702

LPC810は、ARM Coretex-M0搭載の32ビットマイコンです。
8ピンDIP形式で75円なので、気楽に使えそうです。

機能的にもI2C、UART、SPI等の通信が使えるので色々と使えそうです。
ただし、Flashメモリが4KB、RAMが1KBしかないんですよねぇ

Dscn3701

取りあえず、トラ技をみて開発ツール LPCXpressoをインストールして、Lチカ、
シリアル通信、7セグ表示のサンプルをコンパイル&書込みして問題なく動きました。

ドキュメント類も色々と印刷して目を通しています。
マイコンには8KBのROMが搭載されているのですが、ブート処理プログラムや、
ROM APIと呼ばれているライブラリも乗っているようです。
使い方によっては、フラッシュメモリの節約ができるかもしれません。

2015/04/01 追記
トラ技 2014年2月号(最軽量! 8ピンDIP ARMエントリ誕生)の内容は、
一見入門には良さそうですが、GPIO操作等においてちょっとチンプンカンプンです。
解説も、雑誌付属CD-ROMのサンプルを解凍して利用するだけです。

LPC810でプログラムを作成するには、まずARMでのアプリケーション開発の作法を
知っておく必要があるようです。

ARM系のアプリケーション開発では、様々なベンダーがあるわけで、
そのための開発環境の共通ルールが決められているようです。

まずは、「ARM® Cortex™マイクロコントローラ ソフトウェア インタフェース規格(CMSIS)」
を知っておく必要がありあそうです。

簡単にいうと、「ベンダ非依存ハードウェア抽象化レイヤ」のようです。
下図のように、アプリケーションはライブラリを使って、CPUに用意されている
機能を利用することが出来ます。

01_2

上記のCMSIS-CORE、CMSOS-Driver、CMSOS-DSPは
開発環境 LPCXpressoのインストールディレクトリに圧縮ファイルで格納されています。
今回使うlpc810用も用意されているようです(無修正で利用できるかは未確認です)。
\lpcxpresso\Examples\NXP\LPC800\LPC8xx_Libraries.zip

解凍すると次のフォルダが作成されます。上記のレイアのライブラリに対応します。

02

lpc_driver_libのヘッダファイルの中はこんな感じです。

03


これを使えば、I2CやUART等の利用が出来そうです。

またこのライブラリを使ったサンプルソースもあります。
\lpcxpresso\Examples\NXP\LPC800\NXP_LPC8xx_SampleCodeBundle.zip








« ATtiny13AでUART-I2Cブリッジを試作したが微妙 | トップページ | LPC810でI2Cでフリーズする »

ARM」カテゴリの記事

LPC810」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック


この記事へのトラックバック一覧です: LPC810始めました:

« ATtiny13AでUART-I2Cブリッジを試作したが微妙 | トップページ | LPC810でI2Cでフリーズする »