2005-03-01から1ヶ月間の記事一覧

構成マクロ

昨日追加したINHNO_HW_ERROR対応マクロですが、これは条件コンパイルにせずに条件ジャンプにするという手もあります。影響を受ける部分は割り込み待ちコードですので、ここで条件ジャンプのひとつやふたつを行っても性能に影響はありません。 しかしながら、…

冗長コード削除

冗長コード Bug #5724の冗長なコードを削除しました。これは管理外割り込み時のimask復帰コードの中に、冗長なコードがあったというものです。機能的なバグではなく2サイクル消費していただけです。 コードは削除しました。当然ですが機能に影響はありません…

アノーマリ#23

気になっていたアノーマリ#23のワークアラウンドを移動しました。このアノーマリはBF533のみに存在するにもかかわらず、CPU依存部にあるため何らかの対策が必要でした。 調べた結果、PLLに触る前ならどこでもワークアラウンドは動作しそうであったため、sys_…

sns_loc/isns_loc

sns_loc, isns_loc, exc_sns_locを管理外割り込み使用時にも正しく動作するよう変更しました。

また更新

BF533のアノーマリがさらに新しくなっています。Rev 0.4の情報も出てきました。 http://www.analog.com/en/prod/0,2877,ADSP%252DBF533,00.html

CRAY-2

はてなでDSP関連の自作をやっている方を発見。 kokekomeのハードウェアな日記? C64xxでオーディオ・プロセッサの自作をしていらっしゃるようです。筐体デザインはCRAY-2を目指していらっしゃるとのことです。CRAY-2というと、われわれ世代はリリースをリア…

更新

BF531,2,3のアノーマリが2月8日版に更新されています。

Blackfin依存部1.2.1リリース(続)

サンプルコードをアップロードしました。 C++ C++対応コードに関しては、最近書いた方法より単純な方法が見つかりました。何のことはありません、ヘッダファイルで以下のように記述するだけです。 #ifdef __cplusplus extern "C" { #endif void main_task(VP…

C++対応をアップデート

CVS更新 以下の二点の変更を施したコードをCVSにアップロードしました。 C++対応(条件マクロで制御) 非タスクコンテキストで使用するスタックの名前をevent_stackをからldf_stack_topに変更 いずれも修正箇所はわずかで、動作に対する影響はありません。な…

C++

昨日の改造を施したstartup.asmを使って、C++のオブジェクトを動的生成し、きちんと動くことを簡単な試験で確認しました。 例題プログラムを整理しなおしてコードのマイナー・リリースに進みます。

C++ malloc()は横に置いたまま、ちょっとTOPPERS/JSPでC++を試してみました。 TOPPERS/JSPでC++を使うには、あらかじめ次の二つの仕込が必要です。 OS実行前に___ctorloop関数を呼ぶ C++ランタイム用の領域を確保する これらをstart.asmに追加しました。通常…

MTライブラリ化

VisualDSP++のMT(Multi-Thread)ライブラリはVDK前提なので、TOPPERS/JSPで利用するのはあまりに困難です。現在のサンプルはVDKのライブラリでお茶を濁していますが、これは浮動小数点ライブラリを使うとエラーが出るなどアドホックなものでしかありません。 …

sil_loc_int()とsns_loc()

管理外割込みごと割り込みを禁止するsil_loc_int()をかけている最中にsns_loc()はどう答を返すべきかTOPPERSのMLで聞いてみました。いただいた返事によるとこの問題は未定義のようです。今後状況が変わるかもしれませんが、今は sil_loc_int()の中ではsns_lo…

懸案事項

ライブラリのスレッド・セーフ化をどうするか、暇を見ては考えていました。結局行き着いたのはこんなところです。 malloc()をスレッド・セーフ化する。 rand()はスレッド・セーフ化しない。 errnoはスレッド・セーフ化しない。 標準入出力はスレッド・セーフ…

だいぶ間が空きました

先日PCの再インストールをした後、思いのほか復旧にてこずりました。オフィスやFirefoxなどの通常アプリは簡単だったのですが、困ったのがWinCVS。どんな設定だったかすっかり忘れていました。SSHのキーなどはあらかじめ退避していたのですが、sourceforge用…