少し前に作業した。
NXP社のLPCXpresso IDE 8.1.0 インストール
LPC810で、ファーム書込み / Lチカなど試してみたいと思います。
# 準備、(覚えている範囲で 抜けがあるかもしれません。)
# download
https://www.lpcware.com/lpcxpresso/download
# 参考, install , Activation など
LPC810(2) 〜 LPCXpressoを使う(1)
http://mits-whisper.info/post/81547764577/lpc8102-lpcxpresso%E3%82%92%E4%BD%BF%E3%81%861
http://suzuki-soft.jp/ucon-board/lpc810/lpc810-tool-install/
*) Activationは、
初期のコードサイズが8kの制限を拡張できました。
ROM= 8K 以下の容量であれば不要みたいです。
#ライブラリのインポート 作業フォルダにコピー、
パス例:
C:\nxp\LPCXpresso_8.1.0_597\lpcxpresso\Examples\Legacy\NXP\LPC800
NXP_LPC8xx_SampleCodeBundle.zip を解凍しておきます。
import
[File] -[import], Existing Project into Workspace を選択
CMSIS_CORE_LPC8xx
lpc800_driver_lib
ビルドしておきます。
# Lチカ
# Blinky を作業フォルダにコピー
例:work/Blinky
import
[File] -[import], Existing Project into Workspace を選択
Select root directory=
C:\nxp\work\Blinky
[Finish]おす
# 設定
project- 右クリック [Properties] - Project References
CMSIS_CORE_LPC8xx
lpc800_driver_lib
をチェック
# [C/C++ Build] - MCU setting - LPC8xx
LPC810 を選択。
# [C/C++ Build] -Settings- Build steps
通常ビルドすると、hex出力されませんので、処理追加します。
post-build steps を追加。
改行されていますが、文節は[;]などで連結が必要だったりルールに注意です。
arm-none-eabi-size "${BuildArtifactFileName}";
arm-none-eabi-objcopy -O ihex "${BuildArtifactFileName}" "${BuildArtifactFileBaseName}.hex";
# code : main.c
LPC810でLED 配線する為に
PIO 0_1に書き換えてます。
pinOut
# Build, 約 2.5KB程度
Building target: Blinky.axf
Invoking: MCU Linker
arm-none-eabi-gcc -nostdlib -L"C:\nxp\work\CMSIS_CORE_LPC8xx\Debug" -L"C:\nxp\work\lpc800_driver_lib\Debug" -Xlinker -Map="Blinky.map" -Xlinker --gc-sections -mcpu=cortex-m0 -mthumb -T "Blinky_Debug.ld" -o "Blinky.axf" ./src/cr_startup_lpc8xx.o ./src/crp.o ./src/main.o -llpc800_driver_lib -lCMSIS_CORE_LPC8xx
Finished building target: Blinky.axf
make --no-print-directory post-build
Performing post-build steps
arm-none-eabi-size "Blinky.axf";arm-none-eabi-objcopy -O ihex "Blinky.axf" "Blinky.hex";
text data bss dec hex filename
2372 4 132 2508 9cc Blinky.axf
Invoking: MCU Linker
arm-none-eabi-gcc -nostdlib -L"C:\nxp\work\CMSIS_CORE_LPC8xx\Debug" -L"C:\nxp\work\lpc800_driver_lib\Debug" -Xlinker -Map="Blinky.map" -Xlinker --gc-sections -mcpu=cortex-m0 -mthumb -T "Blinky_Debug.ld" -o "Blinky.axf" ./src/cr_startup_lpc8xx.o ./src/crp.o ./src/main.o -llpc800_driver_lib -lCMSIS_CORE_LPC8xx
Finished building target: Blinky.axf
make --no-print-directory post-build
Performing post-build steps
arm-none-eabi-size "Blinky.axf";arm-none-eabi-objcopy -O ihex "Blinky.axf" "Blinky.hex";
text data bss dec hex filename
2372 4 132 2508 9cc Blinky.axf
# 書込み ,Flash Magic で書込みます。
# ハマリどころ
ビルドエラーは、post-build steps の記述ミスや、
書き込んで、正常動作しない場合は、 MCU setting の設定が消去されていたり
再度 LPC810に設定など修正 がありました。
# Lチカできました。
上段の写真、電池BOXから 電源供給。
# まとめ
推奨は開発環境は 開発ボードで、
マイコン単体での、書込みは効率も悪い気がしました。
LPC810は ビルド面の情報も少なく、苦労ぎみでしたが、
コードを少ないROM容量内に収める事ができれば
小型のデバイス開発面では、選択肢としてはアリかと思います。
# 参考の記事
https://m.facebook.com/notes/nxpfan/lpc810-dip8_arm%E3%83%9E%E3%82%A4%E3%82%B3%E3%83%B3-lpcxpresso%E3%81%A7l%E3%83%81%E3%82%AB-led%E7%82%B9%E6%BB%85%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0%E3%82%92%E5%8B%95%E3%81%8B%E3%81%97%E3%81%A6%E3%81%BF%E3%82%8B/298643523596741/
# 関連の記事
RGB LED +LPC810 小型ランプ
http://knaka0209.blogspot.jp/2016/02/LED8mm-5.html
LPC810のオンラインコンパイラで書込み編、Lチカも
http://knaka0209.blogspot.jp/2015/11/LPC810-1.html
# 関連のまとめ:IoT な電子工作まとめ
http://knaka0209.blogspot.jp/2015/11/iot-matome.html
# まとめ
推奨は開発環境は 開発ボードで、
マイコン単体での、書込みは効率も悪い気がしました。
LPC810は ビルド面の情報も少なく、苦労ぎみでしたが、
コードを少ないROM容量内に収める事ができれば
小型のデバイス開発面では、選択肢としてはアリかと思います。
https://m.facebook.com/notes/nxpfan/lpc810-dip8_arm%E3%83%9E%E3%82%A4%E3%82%B3%E3%83%B3-lpcxpresso%E3%81%A7l%E3%83%81%E3%82%AB-led%E7%82%B9%E6%BB%85%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0%E3%82%92%E5%8B%95%E3%81%8B%E3%81%97%E3%81%A6%E3%81%BF%E3%82%8B/298643523596741/
# 関連の記事
RGB LED +LPC810 小型ランプ
http://knaka0209.blogspot.jp/2016/02/LED8mm-5.html
LPC810のオンラインコンパイラで書込み編、Lチカも
http://knaka0209.blogspot.jp/2015/11/LPC810-1.html
# 関連のまとめ:IoT な電子工作まとめ
http://knaka0209.blogspot.jp/2015/11/iot-matome.html
0 件のコメント:
コメントを投稿