TOPPERS/JSP

BF518 port

ここ数日、幾分気持ちがよどんでいるので気分転換に違う作業をすることにしました。で、BF518ポート用にCVSブランチを追加です。2004年に最初のBlackfinポートを行った際、リリース名にKokuraまで使ったので、ブランチ名はHimejiとしました。とりあえず、com…

Release 3.0.0

https://sourceforge.jp/forum/forum.php?forum_id=17347

Blackfin依存部 3.0.0

VisualDSP++対応部とのマージも終わりました。ドキュメントも修正完了。頭を冷やしたあと、一両日中にコードと文書をチェックしてCVSにタグをうち、リリースする予定です。

VisualDSP++での動作確認

リリース準備中のBlackfin依存部 3.0ですが、今日1日かけてVisualDSP++での動作確認を行いました。VisualDSP++に関しては継続的なメンテを行う気はないのですが、虫だしには格好の題材ですので取り組んでみました。 いやぁ、手こずること手こずること。 Visu…

CVSたてた

「チップ共有部を分離する」というアイデアがあまりにも上手くいったため、これを使った新しいソースツリーをリリースするという誘惑に屈してしまいました。 TOPPERS/JSP for Blackfin CVSROOT/jsp これまで、モジュールはblackfin依存部だけでしたが、今回…

盆栽いじり

今回のチップ共有部分くくりだしが非常にうまくいっているため、CVSを立て直そうかと本気で思い始めています。 もともと同じチップを使う別ボードのシステム依存部を作り直すとき、どこを修正すればいいのか書いた本人も忘れているという大問題は認識してい…

チップ共有部をくくりだしてみた

先日のコメントを参考に、チップ共有部を_common_bf533, _common_bf537としてくくりだし、システム依存部を本当のシステム依存部だけにしました。 非常にすっきりします。 .cがシステム依存部から消え、非常にわかりにくかったsys_config.h, sys_defs.hのサ…

release 2.3.0

リリースする度に「これで最後」と思っているんですけどね。 イベント突入時に作るフレームのFPを保存するようにした。ポストモーテムダンプを助けるための仕掛け。 board_config.hのUSE_HW_ERRORマクロを廃してQUICK_HW_ERRORマクロで置き換えた その他実行…

新しいシステム依存部を作るときにコピーするモノが多すぎる

たとえば、新しくBF533を使ったボードを作りたいとします。その場合やることは、 blackfin/ezkit_bf533の内容をごっそりコピーして、 board_config.hを変更し sys_config.hを変更する ということになります。あとのファイルは変更しません。変更しないならな…

 イベント・エントリのFPフックを実装してみた

割り込みや例外のイベントハンドラに遷移した際、コンテキストを保存するスタック・フレームを作ります。そのフレームの位置を示すFPを保存するように変更しました。 とりあえず手元の動作では快調です。 あと、出張中はLinuxの作業になりますので、Eclipse…

ポストモーテム・ダンプ できた

出来たのは出来たのですが、いろいろと問題があります。 最初の問題は、ハードウェア・エラーの取り扱いに関わります。ハードウェア・エラーはIDLE命令中に検出できません。一方で、IDLE命令を使わない場合は消費電力が増大してしまいます。 そこで、ハード…

ポストモーテム・ダンプ

実はCVSにコミットしているLEDチカチカが不調です。数回点灯したあと、割と高い頻度で動作を停止します。デバッガを持っていないのでこれはまずかろうと思い、ポストモーテム・ダンプを作成中です。ハードウェア・エラー割り込みあるいは例外を受けて、異常…

リリース2.2.0

半年ぶりのリリースです ezkit_bf533, ezkit_bf537, bf533cb, rebun システム依存部を追加。 bf533, bf532, bf537システム依存部は、今回リリースを持ってサポート終了。次回リリースでは廃止。 dis_intのバグを修正 UARTの初期化構造体をstatic constから大…

それでいいのか?!

システム依存部を整理するついでに、メモリ構成も見直しました。これまでキャッシュのことは考えずにSRAMのサイズを確保していましたが、今回リリースに向けて用意しているシステム依存部は、いずれもコード、データ双方に16kBのキャッシュを割いています。 …

次のリリースでやること

決定事項 PLLの条件付き設定 現在、有無を言わさずPLLの設定を行っていますが、SDRAMコントローラが動作しているか、またはPLLデバイダの値がリセット値ではないときには変更しないように改良します。これは、SDRAMやPLLの設定を行うブートローダーと共存す…

クロックの不一致

WanderlustさんのBF533CBを連休の間いじっていました。で、その間ちょこっとハックを行いまして、現在9600bps、内部ティック1mSで動いています。なんでこんな当たり前のことをわざわざ書くかというと、PizzaFactoryはBSPベースでパッケージ化しているので、…

Sample1

続いて、TOPPERS/JSPのSample1の実行に成功しました。現在端末画面にどんどんメッセージが表示されています。これでBF533の実験環境として PizzaFactory Express版 TOPPERS/JSP for Blackfin Asagao Blackfin JTAG Pod BF533CB と、チェーンがつながりました…

Atomのことを調べてみた

先週末からの流れでAtomマザーの動向を調べてみました。 チップセットの消費電力が高い Atomプロセッサ自身は最大でも4W(TDP)程度のようですが、システムに組むとアイドル時消費電力が40W近くなります。これの犯人は945Gという古いチップセットにあります*1…

VMWareのPCIデバイスをリストしてみた

Cyber PeripheralsのPCI Configurationページや、OS WikiのPCIに関するページを参考にして、VMWareの仮想マシンのPCIバス0のデバイスを列挙しています。 TOPPERS/JSP Kernel Release 1.4 (patchlevel = 3) for IA-32(PC/AT) (Sep 21 2008, 10:02:51) Copyrig…

VMWareでTOPPERS/JSPを動かした

PizzaFactoryでTOPPERS/JSP for x86のsample1を作り*1、Grubから起動する場合 - お仕事メモ帳を参考にしてGrubを設定してみました。見事、Ubuntuに相乗りする形でブートします。 TOPPERS/JSP Kernel Release 1.4 (patchlevel = 3) for IA-32(PC/AT) (Sep 21 …

サンプルプログラムの修正

PizzaFactoryがBF532に対応したのを受けて、サンプル・プログラムを修正しましたが、これに結構手間がかかりました。プログラム側の修正は簡単です。 新規のBF532サンプルプログラムを作る sample1.h, sample1.cを消す 以前のサンプルのソースとcfgファイル…

システム略称

jsp/doc/config.txtを読んでいて、これまでシステム略称を間違って設定していたことに気づきました。config.txtには (8) ターゲット識別マクロの定義cpu_defs.h ではプロセッサ略称(cpu_defs.h の置かれているディレクトリ名 を大文字にしたもの),sys_def…

PizzaFactoryがBF532に対応

やった! ということで、早速ビルドし、焼いてみました。動きます。簡単、痛快です。 ちょっと気になったのが、先週作ったのがサンプル・プロジェクト。これのターゲットは、PizzaFactory上ではBF533になっており、周波数は600MHzのまま強引にメモリ配置のみ…

消費電力低減策を検討中

さて、ボードが出来上がり、自分が移植したOS上でソフトが走り出すと、いろいろ脇においていたことがまた気になり始めます。 現在ubuntu上でビルドした400MHz版のsample1を延々と走らせていますが、結構BF532が暖かくなります。熱いというほどでもありません…

Blackfin port 2.1.0をリリース

CVSの再動作を受けて、Blackfin port 2.1.0をリリースしました。このリリースはBF532対応の追加のみが前回のリリースから異なります。 リリース文書 BF532ポートはBF533とはメモリ配置が異なる他、コアクロック周波数がBF532の上限にあわせて修正され、それ…

ROM化成功

以前試して失敗した、TOPPERS/JSPのROM化に成功しました。gnuツールチェーンで生成したTOPPERS/JSPプログラムをROM化できたのは、手元では初めてです。詳細はまたの機会に送るとして、とりあえずメモ代わりに。 まずはgnu側の処理 bfin-elf-objcopy --strip-…

スタックをさかのぼる

例外やハードウェアエラー、スプリアス割り込みが発生した場合、プログラムはそこで止めるしかありません。止めた場合、当然問題発生時のレジスタの状態および問題発生アドレスを知りたいという要求が出てきます。問題発生アドレスはretxあるいはretiレジス…

コメントを追加したほうがいいかな。

TOPPERS/JSP for Blackfinは、一旦安定したように見える事、PizzaFactoryで対応していただいたこと、新規プロセッサ追加の予定がないことなどから、「こうしたほうが良さそうだから」という軽い気持ちでいじることを止めています。本当はいじりたいんですけ…

検死情報

プログラムのバグの中には致命的なものもあります。保護違反や特権命令、未実装命令の実行、非整列アクセスなどがそれです。Blackfinの場合、それらは例外かハードウェア・エラーを引き起こします。これらが発生したら、復帰は不能です。製品としてはリセッ…

Blackfin依存部リリース

Release 2.0.2を公開しました。 https://sourceforge.jp/forum/forum.php?forum_id=12102