TOPPERS/ASP
表記の件をこそこそ実験中です。CMSISのビルドはできていますが、DSP関数はまだつかったことがありません。 とりあえず、ビルドをする上で以下の点は注意が必要です(LPC1768用) arm_math.hをインクルードする ARM_MATH_CM3をプリ・デファインする chip_stdd…
TOPPERS/ASPのドキュメントを読むと、カーネルのライブラリ化が可能であるかのように書かれています。 しかしながら、これには注意が必要です。TOPPERS/ASPのコンフィギュレータが行うカーネルのライブラリ化は、特定のアプリケーションに依存します。つまり…
TOPPERS/ASP for LPCには嫌な問題があります。デバッガを使用していないときには起動しないと言う問題です。 この問題、なかなか再現が難しいです。少なくとも私の手元では再現率は低いです。いったん再現すると同じコードでは高い確率で再現しますが、そこ…
最近の動き、などと書く時にはあまり進展がないわけですが、まずはご報告。 CORTEX-M3依存部 先日発表されたTOPPERSプロジェクト公式のCORTEX-M3依存部は、無事TOPPERS/ASP for LPCプロジェクトに組み込まれました。当プロジェクトではこれまでカーネルのタ…
長らく、アップデートされないままになっていたTOPPERS/ASP CORTEX-M3依存部が1.7.0になりました。これで最新版ASPカーネルに追いついたことになります。 ざっと見たところ、大きな変化としては構造の改良が上げられます。 これまではarch/arm_m_gcc/ の直下…
表題の通りです。 TOPPERSプロジェクト/ASPカーネル まだダウンロードしていませんが、リンク先ページを見る限り、CQ-STARMがサポート対象から落ちている可能性があります。コアのバージョンが古いですからね。 時期を見てマージを検討します。
表記の通り、TOPPERS/ASP for LPCプロジェクトは、LPC1768用カーネル・ソースをTOPPERS/ASPカーネル ターゲット非依存部1.7.0に対応させました。 ニュース 同時にサンプルプログラム集もアップデートしています。
周到に準備をしたつもりだったけど、Subversiveによるマージ結果は結構がっかり。うまくマージできたては居るようだが、過去のバージョンとの差分がうまく働かないのはなぜだろう。そこが肝心なのに。
プライベート・ブランチ上で、TOPPERS/ASP for LPC1768 カーネル 1.7.0のビルドに成功しました。まだ成功しただけです。実行試験は来週以降かなぁ。 あらかじめ、カーネル1.7.0とLPC1768版の違いを洗い出していたのでさほど手間はかからないと思っていました…
TOPPERS/ASP 1.7.0がリリースされてしばらく経ちます。現在TOPPERS/ASP for LPCプロジェクトではカーネル1.6.0を使っており、適当な時点*1でアップデートが必要です。 以下、カーネル1.6.0に対して、TOPPERS/ASP for LPCが施した変更を列挙しました。このう…
TOPPERS/ASPのカーネル1.6.2をリリースしました。 ニュース: TOPPERS/ASP for LPC 1.6.2 および LPCXpresso版サンプルをリリースしました - TOPPERS/ASP for LPC - OSDN 例によってリリースは1日作業です。今回はサンプルとドキュメントも同時リリースしまし…
昨日書いたシリアルのバグですが、夜におっかけた段階ではまだ詰め切れていません。 uartc.の割込みサービス・ルーチンの中では「受信割り込み可能で、受信データがある」ことを認識しているようです。また、デバッガで追った限りでは、その後受信レジスタも…
TOPPERSプロジェクトからASPカーネル 1.7.0がリリースされました。 これを受けて、1.6.xのバグフィックス集積リリースの準備中です。 今日、試験中にUART1-3でしか起きないバグを見つけたため、これがショー・ストッパーになっています。
TOPPERS/ASP for LPCXpressoのユーザーズ・マニュアルを書きました。昨日アップロードしたサンプル・プログラム集と同じところからダウンロードできます。 リリース Samples Sample_LPCXpresso1768_20110507.zip - TOPPERS/ASP for LPC - OSDN 開発環境の入…
連休中作業していたI2Cサブシステムが完成し、サンプルとしてリリースすることが出来ました。 リリース Samples Sample_LPCXpresso1768_20110507.zip - TOPPERS/ASP for LPC - OSDN 以下の環境でテストしています Ubuntu 10.04 LPCXpresso 3.8.2 [Build 129]…
先日コメント欄で教えていただいたcfgコマンドの --external-id オプションを試してみました。 このオプションは、静的コンフィギュレータが生成するオブジェクトのIDを定数ではなく変数として生成するものです。 なぜこのような物が必要かということを最初…
スレッドセーフで使いやすい関数のセットを開発中です。とりあえず動き始めました。当然割り込みベースなのでポーリングなど一切ありません。 使用例を下に示します。これはI2C SRAMへの書き込みと読み込みを行った例です。最初はライト・オンリ、次はライト…
Lynxeyedさんが、RX62マイコンへのTOPPERS/ASPの移植を計画されているようです。調べてみるとRX61に対してはすでに公式ポートが公開されていますから、どうやらターゲット依存部だけか、あるいはそれに毛が生えた程度の作業だけでなんとかなりそうです。 お…
TOPPERS/ASPはカーネルをターゲット依存部と非依存部に分けているわけですが、どうもこのターゲット依存部について、JSP時代のシステム依存部から違和感を感じていました。汎用性が悪いのです。 たとえば、あるLPCXpresso 1768や、EZ-KIT BF533のようなEVBを…
たとえば、i2cのサブシステムを考えます。 i2c_master_write(int peripheral, char buf[], int count);みたいな関数を実装します。この関数は内部でi2c転送をトリガーします。i2c割り込みハンドラは転送が終了する毎にbuf[]からデータを取り出してi2cペリフ…
LPCXpresso IDEのマネージド・プロジェクトとして動作するASPアプリケーションのサンプルの詰め合わせをアップロードしました。これを利用することで、LPCXpressoでの利用の障壁がずいぶん下がるはずです。試験環境は以下の通りです。 Ubuntu 10.04 LPCXpres…
TOPPERS/ASP for LPCXpresso1768 アプリケーション用のスケルトンをLPCXpresso用に作ろうとしていたのですが、今日、挫折しました。軽い方向転換が必要です。以下、まとめ
TalkThroughプログラムはPCMオーディオ信号入力をそのままPCMオーディオ信号として出力します。従って内部ではデータコピーしかしていません。 ここから考えを推し進めると、内部のデータコピー部だけ書き換えてオーディオ・アルゴリズムにすると、そのまま…
ASPアプリケーションをマネージド化した際、extensionサブディレクトリを含めるとビルドに失敗したため、不審に思っていました。 改めて調べたところ、doc/extension.txtに記述がありました。拡張機能を使いたいときだけ、extensionからコピーしなさいとのこ…
表記の方法のスケルトン・プロジェクトを公開しました。http://sourceforge.jp/forum/forum.php?forum_id=25615まだTOPPERS/ASPのソースコードについて理解しきれていない部分*1があるうえ、ドキュメントが粗っぽすぎて公開する水準に至っていないと思うので…
Linux版LPCXpresso IDEからTOPPERS/ASPアプリをデバッグすることが可能になったわけですが、手元では今ひとつ安定しません。主な問題は次の二つです。 LPC-Linkへの接続が失敗することがある デバッグ・セッションを起動するたびにデバッグ設定が作られる 前…
"TOPPERS/ASP, LPCXpresso, CMSIS"というタイトルにしようと思ったのですが、そのまんまタグでした……。 かなり時間がかかりましたが、Linux上で、LPCXpresso IDEを使い、CMSISのドライバライブラリをリンクしたTOPPERS/ASPアプリケーションを構築してLEDチカ…
LPCXpresso 1769をShinta式に改造しました。いまのところ別に改造しなくてもいいのですが、これで通常のARM JTAGデバッガとLPC-Linkを双方使えるようになったのは目出度いです。 で、せっかくなので以前入手していた小型のブレッドボード*1に組んで、やはり…
あとでプロジェクト・プロパティの設定方法をREADMEに追加する。
TOPPERS/ASPは OBJEXTをsample/Makefileで定義しているものだから、ターゲット依存部固有の拡張子を与えることができない。ものすごく面倒。どうせ定義内容は空なんだから、無定義にしてくれればいいの。そうしたら、Makefile.targetでたとえば OBJEXT=axp …