GDB用のシステムリセット機能を修正

屋上屋を重ねる形で開発を進めてきたこの機能ですが、思い切ってリファクタリングしました。だいぶすっきりしました。 Blackfin用のgdbproxyはどうもリセット機能が弱いらしく、安定して動作しないことがままありました。そこで、GDBでプログラムをロードし…

LDで不連続領域にセクションを割り当てる

BF518のRev 0.0つきEZ-BOARDを引き当てるという不幸を演じてしまったため、TOPPERS/JSPの実装が無駄に面倒になりました。現在のところ0.1を使う人は快適に、0.0を使う人だけが苦しい実装です。つーか、0.0付きのボード、回収しろよ > ADI Rev 0.0は、16kBの…

TOPPERS/JSP for BlackfinのC++に大域変数の初期化機能追加

長い間懸案でしたが、ようやく目鼻がついてきました。今のところ、次のような手順で動かすことができます。 $ jsp/configure -C blackfin -S kobanzame -l c++ -A cxx_sample1 $ make depend $ make lは、プログラミング言語の指定、-A cxx_sample1は、TOPPE…

crtbegin.oのソースコード

C++に対応するには、スタートアップで_initを呼ばなければなりません。なぜか。 _initは大域変数として宣言されたオブジェクトのコンストラクタを呼びます。そうしなければプログラムの初っぱなで大域変数であるオブジェクトを使えないからです。では_initは…

BF518用のMMR宣言できた

検証も完了しました。CVSにコミット済みです。BF518に関しては、Rev 0.0対応が終われば一段落です。問題はC++対応の方です。

GWの予定

BF518依存部 Rev 0.0依存部も Kobanzame依存部 BF533CBはオブソの方向で BF518依存部にMMRアクセス用宣言を追加 BF533/BF518にGDBからuBootをロードして実行する Asagaoが不要になる ユーザーズマニュアル仕上げ キャッシュの操作 SDRAMを使った動作試験 BF…

TOPPERS/JSP BF518依存部、動き出した

今朝からEZ-BOARD*1 BF518の裏面JTAGに対応するための引き出し線を作り、刺身包丁を使いやすくしました。 さて、おもむろにTOPPERS/JSP BF518依存部作成開始です。実はずいぶん前にビルドまで進めていましたので楽なはずでしたが、何しろ私のやることですか…

JTAGポートの5番ピン

ADIのJTAGポートの5番ピンには、うんざりするような歴史があって、うんざりするようなことになっています。しかし、いえることはただ一つ、「ADIの推奨通りに作った場合、5番ピンには抵抗を通してインターフェース電圧が出力される」ということです。そして…

おれがBlackfinに飽きてるって?

それは幻想だ!まずはそのふざけた幻想からぶっつぶす! いやぁ、買っちゃいましたよ。BF518のEZ-BOARD。もうさすがにシリコン・リビジョンも0.1だろうとおもったら、まだ0.0だし、ADSP-BF518FのEZ-BOARDという触れ込みなのに乗っているのはBF518だし、JTAG…

_init

C++に対応させるために、色々つつきまわしています。 C++対応に関してはTOPPERS/JSPにC++バインディングがあるのですが、限定されたターゲットにのみ対応しているだけです。ざっとドキュメントを読みましたが、特に同じ方法をとる必要は内容に思えます。 C++…

著作権表示に対応

TOPPERS/JSP for Blackfinは、log_taskが動き始めるまではシリアル出力にメッセージを出すことが出来ません。そのため、著作権表示や、Sample1終了後のメッセージが表示されていませんでした。 本日、この機能を実装しましたのでCVSのjspモジュールのヘッド…

C++ のnew演算子

C++

id:d:monamour555さんからコメントで monamour555monamour555 2010/03/29 23:29 C++目的なら,operator new をオーバーロードしたほうが手っ取り早くないですか. と、提案を受けました。調べてみるとnew演算子を多重定義する方法がいくつかネットでも解説さ…

newlibのmalloc()はスレッド・セーフじゃない

C++

Blackfin toolchain 2009R1.1のbfin-elf-gccは、newlibを使います。 で、調べた結果newlibのmalloc()はスレッド・セーフじゃありませんでした。 調査はこんな感じ takemasa@hilbert:~/foo$ bfin-elf-gcc -v Using built-in specs. Target: bfin-elf コンフィ…

スレッド・セーフなmalloc

C++

Blackfin用GCCでC++をビルドする方法がわかったので、もう一つ先に検討を進めています。 一番気にしているのはmalloc/freeがセーフか否かです。正直、これさえOKなら他のライブラリが全滅していてもかまいません。FIRフィルタやIIRフィルタといった信号処理…

[メモ] シミュレータでC++を動かす

C++

忘れないうちにメモ。環境は Ubunto 9.04 + Blackfin Toolchain 2009R1.1 takemasa@riemann:~/foo$ cat main.cpp #include <iostream> int main() { std::cout << "Hello, C++" << std::endl; return 0; } takemasa@riemann:~/foo$ bfin-elf-gcc main.cpp -msim -lstdc</iostream>…

Asagaoを書き換えるとしたら

AsagaoをC#で書くというのは、C#初心者の私には非常に大きな挑戦でしたし、良い勉強になりました。 一方で書き換えるとしたら改善すべき欠点は当然あります。 Linuxでの動作がほとんど絶望的。 GUIはとっつきやすいけどこの程度のプログラムなら不要 GUIは頭…

Asagao 1.7.0リリース

時間が取れたら…と先延ばしだったAsagao 1.7.0をリリースしました。 http://sourceforge.net/projects/asagao/files/ 書き込みの安定性が向上しています。

Blackfin toolchain 2009R1.1はいい感じ

いい感じもへったくれもないのですが、gdbproxyの使用感が大幅に改良されたのが気に入りました。なにしろちょっと前までVMwareの上からICEを使う事が出来なかったのですよ。それがすいすいダウンロード出来てブレーク・ポイントもステップ実行も平気で使える…

2009R1.1のgdbproxyが大改良されている

ARMにかまけているうちに、Blackfin KoopではToolchainの2009R1.1がリリースされていました。 試してびっくり。gdbproxyの動作速度が我慢の限度内に入ってきました。ARMのツールチェーンユーザーから見るとちゃんちゃらおかしいでしょうけど、ステップ実行に…

CORTEX-M4

少し前にARM社がCORTEX-M4コアを発表しました。Thumb/Thumb2命令セットのみを実装する小規模マイコン用コア、CORTEX-Mシリーズの最新作です。 CORTEX-M3は既にARM7TDMIが開拓した市場野火のように広がり、小規模マイコン市場を一気に塗り替えつつあります。C…

VisualDSP++が、なぜかBlackfin Koopに

http://blackfin.uclinux.org/gf/project/toolchain/frs/?action=FrsReleaseBrowse&frs_package_id=174 詳細は不明。ファイル置き場?それにしちゃおかしいです。Blackfin Koopの掲示板はVisualDSP++のVでも書こうものなら、激しい叱責を食らうところです。

DSPic

以前にもDSPicについて調べたことがありますが、今回、機会あってとある会合でマイクロチップ・テクノロジーの方の話を聞くことができました。 聞き終えて、改めてDSPicの設計の潔さに感心しました。メディア信号処理とかC言語との親和性に強くこだわらず、…

OOCDLink-sに対応

懸案だった、OOCDLink-sへの対応を行いました。 随分前にパッチを貰っていたのですが、うまく適用出来なかったのでほとんど手作業で切り貼りを行いました。Windows Vista上でターゲットを認識、書き込み出来ることを確認した上でAsagao ProjectのCVS HEADに…

Blackfin空挺団のEclipseのページをアップデート

先日見つけた情報を元に、解説ページをアップデートしました。 Eclipse 3.5ベースにした Eclipseに対するCDT/Blackfinソフトウェアのインストール方法を追加した Blackfin MMRの表示方法を追加した。 MMRの表示が可能になったことで、速度を除けばデバッガと…

BlackfinのJTAGをADI配列にする意味ってほとんど無いなぁ

いや、もちろんプロが会社の金でICEを買って使うときにはADIの14pin配列にしないといけないのですが。 「高いからADIのICEは買えない」と言っている人は、自動的にARMの20pin配列になるんじゃないかと思うのです。だって、1万円そこらのFT2232 ICEが直接刺さ…

EclipseでBlackfinのMMRを見る

表題のように、EclipseからBlackfinのMMRを見たいが為に、膨大なMMRの宣言を生成し、LDファイルと格闘し、U-BOOTのバグに空を仰ぎ、Eclipseとbfin-elf-gdbの不整合に涙を流していたわけですが………。 Blackfin KoopがEclipse用のMMR View Plug-inを公開してい…

2009R1 gdb/insight

2009R1を引き続き評価中です。 ビルドは問題無いようですが、Eclipse上でgdbが変数ビューにグローバル変数を表示出来ない問題は相変わらずです。start.S、main.c、bf533.ldという最小構成でプログラムを組んでみましたが、同じです。これはBlackfin Koopにレ…

2009R1のgdbproxy

[Blackfin Koop]でリリースされたツールチェーンですが、gdbproxyのコマンドライン引数が変わっています。 2008R1.5では bfin-gdbproxy bfin --connect="cable jtagkey ftdi-mpsse 0403:6010"だったのが、2009R1では bfin-gdbproxy bfin --connect="cable jt…

Eclipseでグローバル変数を見る

Eclipse 3.4 GanymedeとBlackfin gnu toolchain、TOPPERS/JSPには何らかの不整合があるらしく、Variable Viewからグローバル変数を見ることが出来ません。 TOPPERS/JSP for LPC2388の移植も終わり、いろいろ別世界の経験も積むことが出来ましたので本日久し…

Twitter良し悪し

試行錯誤の愚痴はTwitterに書くことにしてそろそろ1ヶ月でしょうか。良いところも悪いところもあります。悪いところの方が目立つかな。 一番悪いのは、メモとして機能しないこと。吐き捨てるのと一緒ですね。そのためのTwitterなのですが、あとから「あの進…