2004-07-01から1ヶ月間の記事一覧

kumamotoほぼ終了。

アプリケーション側の対応は、コンフィグレーションファイルの中でシステムタイマー割り込みハンドラの登録先がINH_TIMERからINH_TICに変わったことだけです。

うぎゃ!

kumamotoのデバッグ中にふと「コアタイマーのTICも動作確認しておこう」と思い立ちました。これまでうじのすけさんが実装してくれたGPTimerによるTICばかり使っていたからです。 …うごかない… ま、私の作ったコードですから。ということで腰を据えて追跡する…

kumamoto

SourceforgeへのCVS登録は何とか完了しました。7月28日時点の最新をkagoshimaと名づけ、以後kumamoto、kokuraとリリースを重ねていきます。 kumamoto 割り込みハンドラを改良してアプリケーション側の負担を軽くしたもの。 kokura 割り込みハンドラと同様の…

ソースツリー登録

結局VDSP++からCVSをいじるのはやめてWinCVS+SSH+TCLを使ってソースツリーをアップロードしました。手間がかかりましたが、後で元がとれることを期待しています。 https://sourceforge.jp/projects/toppersjsp4bf/ アップロードしたソースツリーはconfig/bla…

Sourceforge

ようやく承認が降りてsourceforge上にプロジェクトが現れました。 https://sourceforge.jp/projects/toppersjsp4bf/ まだソースを上げていないのは日本語対応Windows版CVSを探しているからです。

関数呼び出し規約(その2)

昨日の書き込みに対してうじのすけさんから質問がありました。 関数呼び出し規約ですが、例えばvoid func(char *c,...)といったような引数可変関数を使用しない限り大丈夫と認識していますが、この認識は正しいでしょうか? これは、引数可変で無い場合でも…

RTOSによるダブル・バッファ処理

TOPPERS/JSPを使ったアプリのコードサイズをリンカーによって小さく押さえることができるため、これまで単なるアイデアであったことを試して見たくなりました。例えば、ダブル・バッファ処理がその一つです。この処理は割り込みハンドラとDMAとアプリケーシ…

関数呼び出し規約

致命的と言うほどでもありませんが、間違いを一つ発見しました。関数を呼び出すときには最初の三つの引数をR0からR2に格納します。しかし他方で引数の数がたとえ0であっても、この三つの引数のための領域をスタック上に確保しなければなりません。これを忘れ…

Sourceforge

これまでいやだいやだと避けていたsourceforgeへの登録を行いました。TOPPERS/JSPのデバッグが進むに連れて私の不注意でソースを壊しかねないためです。sourceforgeのCVSを使えばうまいこと世代管理ができるんじゃないでしょうか。 現在プロジェクトの承認待…

お知らせ

明日から今週いっぱい夏休みです。

オブジェクトサイズ

実行オブジェクトの命令部分 debugビルド 24KB リリースビルド 20KB リンカーオプションで不要なオブジェクトを削るよう指定すると、4KB 8KB位まで縮小できました。

dispatch実行時間

上記条件で、subがdispatch()に入ってからmainがdispatch()から抜けるまでの時間は110サイクル程度です*1。これはまぁまぁ妥当だと思います。SH2は80サイクル程度のようですが、BLACKfinはパイプラインが長いため仕方がないでしょう。 *1:測定値は125サイク…

タスク切り替え時間評価

vxget_timの使用が可能になりましたので、タスク切り替え時間を測ってみました。 二つのタスクmainとsubがある。mainはsubより優先順位が高い。mainはwai_sem(S)によって待ち状態にあり、実行状態のsubがsig_sem(S)を実行する。 このとき、subのsig_sem()実…

セマフォの動作確認

セマフォを使ったタスク間同期の確認を行いました。vxget_timの実装不具合を発見したので修正しました。vxget_timはコアの64bitサイクルカウンターを直接読んでいるので性能評価が楽です。また、コアクロック選択マクロとPLLの設定に不整合があったため少々…

デバッグちょっと前進

いきなりプログラムが暴走してあせりましたが、原因はivg14handlerのバグでした。ivg14はカーネルが割り込み待ちに使うイベントです。このハンドラの終わりにrti;を書き忘れていたためにディスパッチ時に割り込み待ちになると暴走していたのでした。rti追加…

ようやくビルド完了

うじのすけさんが協力の名乗りをあげてくれたおかげで、ようやくコンフィグレーターを乗り越えることができました。結論から言えば手取り足取り教えていただいたわけですが、ようやくビルドにこぎつけたところです。おまけに結構恥ずかしいバグもいくつか見…

今日…というより昨日*1ですが、トランスコーダというものを見せてもらいました。ビデオをデコードせずに圧縮率だけ変える仕組みです。回線品質の変動に動的に対応できるとのことで、実に印象的でした。 *1:ただいま15日の朝2時です

ニュース

「H.264/AVC改良版」で動き出すか? 次世代光ディスク情勢 (1/3)

電車の中でITRON4の仕様書を読んでようやくコンフィグレーターのことがわかってきました。静的APIはITRON4の仕様の一部なのですね。道理でTOPPERS/JSPの文書に説明が無いはずです。

コンフィグレーター

CRE_TSKのパラメータですが、タスクの初期化パラメータなどを与えることがわかってきました。一応でたらめなパラメータで生成できるようになってきました。まだ先は長いです。

新キーワード

キーワード「サンプル集」を作りました。また、以前日記に書いていたサンプルプログラムを、キーワードに移しました。キーワード名は他のキーワードと衝突を避けるため、「サンプル::xxxx」になっています。例えば: サンプル::MDMA サンプル::LED点灯

JSP-1.4のconfigurator.txtを読んでいますが、まったく理解できていません。図も無いし。皆さんこれでがりがりやっているのですから、自分の頭の悪さをのろうしかありません。m68kを参考にしたいのですが、こいつを構築したいなら、gccのソースから持ってき…

Configurator

朝の涼しいうちにと思ってCygwinでビルドしたcfg.exeを使ってみましたが、m68kのhw_serial.cfgすらエラーが出ます。hw_serial.cfgはこんな感じです。 #include INCLUDE(""); DEF_INH(INHNO_SIO, { TA_HLNG, sio_handler }); エラーメッセージを読むと、#incl…

Stretch ISEF

Tensilica社のブース内にStretch社が展示を出していました。ISEFはXtensaのコプロセッサで、C言語中のサブルーチンをハードウェアによって実行します。ISEFのコンパイラはXtensa用プログラムの中からISEFに展開する目印をつけられたサブルーチンを横取りして…

ESEC二日目。昨日に輪をかけた暑さです。しかし、ハイテク業界って喫煙率低いんじゃなかったんですかね。煙もうもう。

IPFlex DAP/DNA

IPFlexは今年リリースしたDAP/DNA2のデモを行っていました。DAP/DNAは平面状にALU、メモリー、DAGといったユニットをばら撒いておき、動的に再配線して使う動的可構成論理回路です。今回説明を見て感じたのは、このシステムがデータフローにぴったりと当ては…

ESECに仕事で行ってきました。仕事はそこそこに可構成論理回路のベンダーブースにいそいそと。

Cygwin

スクリプト環境としてCygwinを導入しました。苦労してようやく動作するように。ワーニングが出まくりますが、なんとかcfg.exeをビルド完了。 アルコールが入っていますので今宵はこれまでにしとうございます。

LDF

TOPPERS/JSPはどうやらコードサイズが10数キロから20数キロではないかと見積もっています。一つビルドしてみれば済むことですが、今のところBFはまだビルドできていないのであくまで予想です。 このサイズなら問題なくBF533のL1メモリに収まりますが、BF531/…

Anomaly #55

The Anomaly #55 of ADSP-BF533 Rev0.2 says : The CDPRIO bit in the EBIU_AMGCTL register selects the priority of core vs. DMA accesses to external memory. This bit is not functional and set to zero. Therefore, core accesses have always prior…