LPC1769を使う3

mbedやLPCxpresso,Arduino等の圧倒的な利点というのは、ベースとなるハードウエアが
共通かつ基礎的なアプリケーションフレームワークがおぜん立てされているという点で、
他の方が作られたすぐれたアプリケーションを手元で誰でも簡単にすぐに追実験できる
ということに尽きると思います。
1年前はまだまだ秘境だったARMの分野の裾野を一気に広げたというのは賞賛すべきこ
とだと思いました!一方、情(に)弱(い)ねむいさんは足しか出ていないような中華LPC1769
基板をひたすらどうにかしていた…。




un
超高速なIOを利用して件のSPI接続可能でQVGAな液晶をSoft-SPIで…。SPIバス接続して
さらにDMAでぶん投げられたらもっと早くなるでしょう。


さて、先日NxPのサイトにてLPC17xx用のペリフェラルライブラリがアップデートされました。
こちらを元にテスト段階のLPC1769の環境も固めていきたいとおもいます。
このライブラリはGCC向けにはCodeSourceryG++の使用を前提としてスタートアップ・
リンカスクリプト・etcが用意されています。LPC13xx,LPC11xx系はほぼ自前でこさえま
したがせっかくなのでLPC17xx系は豊富なメモリ資産があるのでCodeSourcery提供のも
のを積極的に使用していきます。

で、注意しなければならないのがそのスタートアップ等なのですが、そっくりそのまま使う
人はべつにどうということはないのですが私のようにCRPの記述入れてたりChecksum
Valitdateを直打ちな人は不整合が起こらないようにしなければなりません。あと見落と
しづらいのがdataやbss領いk(iruka氏が分かりやすく解説してくれてますので省略)



んでもってaudin氏に尋ねられた浮動小数点演算でハングする件をちょっと試してみました。
冒頭のカワウソ画像に見える浮動小数点演算の結果はsprintf(書式は%f)+FONTXドライバの
文字表示で表示していますが、NxPのLPC17xxのライブラリのGCC向けで使用されているCodeSourceryのスタートアップ(CodeSourcery Common Start-up Code Sequence (CS3))
を使うとsyscalls.cというかsbrkを作り込まなくてもふつーにsprintf関数とか使えました。
しらんかった…。ということで私の環境では浮動小数点演算OKでした。

そろそろベースも固まってきたことですからLPC1769用のとっかかりプログラムも更新するつ
もりです。またaudin氏がOpenOCD+Insightから利用できるIOビュー画面機能を実現する方法
を公開されていますのでこちらもありがたく使わせてもらいます!






今日はもう一件、どちらかというとこっちの方が重要な事柄なんですけどVersaloonで使用で
きるSWD接続なOpenOCDデバッグがまだ制限付きですがLPC11xx,LPC13xx系でようやく
出来るようになっています!
LPC1114,LPC1343はJTAG接続というものが存在せず、SWDでしか接続できません。
OpenOCDが0.5.0に上がるのを機にSWD接続も対応になるとのことですがそれに先立って公開
されていたパッチを適用してデバッグを試してみました。

↓フェイクじゃなくてマジもんです。SWD接続に使用したデバイスはもちろんVersaloon。
un

キャプ画像見てもらったら分かるともいますが、audin氏のIOView機能をLPC11xx系に
適用して、ビット単位でGPIOのポートを見れるようにしています。コレめちゃくちゃ便利すね…!
もうLPC-LinkとかLPCXpressoのIDEとか必要ですらないです…これで勝つる!!1!
…と言いたいところですがデバッグは問題ないですがOpenOCDからのフラッシュメモリ操作
がまだLPC11xx系には完全対応しておらず(LPC13xx系は普通に使えること確認しました!)、
eraseしかできません。
まぁvsprogがあるので書き込みはこっち使っておいて正式対応までちょっと我慢です。

un
↑おまけ。LPC1114の基板に改造加えてEtherPodっぽくしてみました

Go to top of page