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"
    • C++11以降を使えるようになる設定、2016年以降に作ったサンプルでは一応必須。
      • [C/C++Build][Settings]で[Tool Settings]タブ選択。
      • [MCU C++ Compiler][Dialect]で、ISO C++14(-std=c++14)を選択
    • [Project][Build Project]でビルド。Releaseのフォルダにできるsample.hexを、後述の方法で書き込む。

LPC810に書き込むハード

FT231X LPC810のpin番号
DTR# 1
RXD 2
RTS# 5
3.3V OUT 6
GND 7
TXD 8
  • ブレッドボードで接続した図(見にくくてがっかりだ。結構がんばったのに。)


LPC810に書き込むソフト

  • FlashMagicを利用
  • インストールはインストーラのまま
  • 設定は下記
    • Step1-Communications
      • Select...: LPC810M021FN8 を選択。
      • COM Port: うちはCOM3だった。適当に合うのを探す。
    • Step2-Erase
      • Erase all Flash+Code Rd Protonをチェック
    • Step3 Hex File
      • ビルドしたsample.hexを指定
  • この設定で[Start]
  • 書き込み終わった時点で、LPC810が動作開始する模様。

まずは以上。
Lチカまでで終わらないことを祈る。

みっかぼの無料Androidアプリはこちら。