LPC810メモ:共通の準備
初心者脱却を目指すべく、サンプルコードを書きながらLPC810の機能を勉強する。
自分が見てきた限り、ライブラリで隠蔽されたコードは理解が困難だったので、なるべくハードの機能を直接叩くコードを書きながら、この手のものに詳しくなっていきたい。
以下、サンプルコードを書く前の共通の準備。
※2017/07/23 タワさんのコメントを元に更新
開発環境
- LPCXpresso IDEを利用。v8.2.2を利用(当初v7.5.0を使っていたが更新)。
- インストールはインストーラのまま
- ただしインストール先だけは変えた。
- 変更前 C:\nxp\LPCXpresso_8.2.2_650
- 変更後 D:\etc\LPCXpresso
- インストール後に、CMSIS_CORE_LPC8xxをインポートする。
- QuickstartPanel(画面左下にあった)から[Import project(s)]を実行。
- ArchiveのBrowseから、LPCXpressoをインストールした場所の以下を指定して[NEXT]
- Examples\Legacy\CMSIS_CORE\CMSIS_CORE_Latest.zip
- ProjectsからCMSIS_CORE_LPC8xxを選択して[Finish]
- インポートしたCMSIS_CORE_LPC8xxをビルトする
- 左上のProjectExplorerからCMSIS_CORE_LPC8xxを選択
- [Project]メニューより[BuildConfigurations][SetActive][Release]を選択
- [Project]メニューより[BuildProject]を実行
プロジェクト
- LPCXpressoにて、下記手順で新規プロジェクトを作る。
- [File][New][Project]
- 「LPCXpresso C++ Project」を選択して[Next]
- 「LPC81x」の「C++ Project」を選択して[Next]
- Project nameに「sample」と入力して[Next]
- targetとして「LPC810」を選択して[Next]
- CMSIS Core libraryに、CMSIS_CORE_LPC8xxを選択して[Next]
- CMSIS DSP Library to link project toは、NONEのまま[Next]
- Enable(略)MTBのチェックは外して[Next]
- Enable(略)CRPのチェックは外して[Finish]
- プロジェクトができるまで待つ
- [Project][Build Configurations][Set Active]で、Releaseを選択
- [Project][Properties][C/C++Build][Settings]で、[Build steps]タブ選択。
- Post-build stepsを[Edit]、下記の1行を加える(書き込みに使うhex形式が生成されるようになる)
arm-none-eabi-objcopy -O ihex "${BuildArtifactFileName}" "${BuildArtifactFileBaseName}.hex"
-
- 下記の2行がコメントアウトされているので、'#'を取る(必須ではないが、bin形式も一応作るため)
arm-none-eabi-objcopy -v -O binary "${BuildArtifactFileName}" "${BuildArtifactFileBaseName}.bin" checksum -p ${TargetChip} -d "${BuildArtifactFileBaseName}.bin"
LPC810に書き込むハード
- FT231Xを利用。micro USBケーブルでPCとつなぐ
- 接続は以下
FT231X | LPC810のpin番号 |
DTR# | 1 |
RXD | 2 |
RTS# | 5 |
3.3V OUT | 6 |
GND | 7 |
TXD | 8 |
- ブレッドボードで接続した図(見にくくてがっかりだ。結構がんばったのに。)