2009-06-01から1ヶ月間の記事一覧

結局MMR定義セクションは、OBJCOPYで削除する方向で

GDB

id:/suikan/20090628で検討したgdb向けのMMR定義セクションですが、いろいろ考えてもgdbでロードしない方法がわかりませんでした。仕方がないので、Makefileを書き換える方向で進んでいます。 TOPPERS/JSPのコンフィグレータはjsp/sample/Makefileを元にそれ…

チケット17557 コールド・ブート時に再起動する

まだ現象報告を受けただけですが。 チケット17557 コールド・ブート時に再起動する うーむ。「コールド・ブート時のみ再起動」というのは以前GDBのリセット問題の対策用に入れたコードを思い出させます。 GDBのリセット問題 もうちょっときれいに 検討したと…

LDで逃げられないかも

gdb

レジスタ宣言を変数として行ったとき、gdbがいらない領域をelfからロードする問題。 LDスクリプトの .sysmmr : { . = ALIGN(0x0100); sys_mmr.o(SYSRST)} > MEM_SYSMMRとなっているところを、 .sysmmr (NOLOAD) : { . = ALIGN(0x0100); sys_mmr.o(SYSRST)} >…

レジスタ宣言の効果を確認

gdb

レジスタ宣言を組み込んだjspでsample1を作り、gdbに与えてみました。 とても便利です。 そのまま与えると、MMR領域にやはり何か値を書き込もうとします.そこで、 $ bfin-elf-objcopy -R .sysmmr jsp $ bfin-elf-objcopy -R .coremmr jspとして、データを引…

ADSP-BF533のレジスタ宣言完了

gdb

出張中でしたので、移動時間を使ってCORE MMRとSYSTEM MMRの宣言を全部終わらせました。アドレスの正しさの検証には、unixのフィルタ群を活用しているので、ほとんどストレスなしに正しさのチェックを行えます。 明日実験してみるつもりですが、今のところ気…

レジスタの宣言

gdb

Blackfin用のプログラムでは、例えば次のようにしてレジスタへのアクセスを提供するのが普通です。この方法はVisualDSP++で用いられている方法です。 #define pPLL_CTL ((volatile unsigned short *)PLL_CTL)これで例えば *pPLL_CTLとすればC言語プログラム…

google docs

チャットで技術的な話というか、ほとんど打ち合わせに近いことをします。そんなとき、google docsを使えれば便利そうです。なにしろ文書に対して行った編集が、ほぼリアルタイムに共同編集者に伝わるので、絵やスクリーンショットを共有しながらあーでもない…

CVSの使い方を間違えているらしい

間違えているというか、うまく使っていないようです。 HEADを擁するトランクの上でリリースしていたのですが、それは駄目だそうで、トランクはあくまで開発のメインライン、で、リリース用にR3.0.xといったブランチを作り、トランクからブランチへどんどんマ…

実験失敗

GDBでメモリ・マップ・レジスタをアクセスする方法を検討中です。 chip_config.hで extern unsigned int regSIC_IMASK;と宣言して、.ldファイルで _regSIC_IMASK=0xFFC0 010Cのように宣言して見たのですが、駄目です。ELFの中でちゃんと実体のあるオブジェク…

BF52x

周囲で 「BF52xもよくなくね?」 的な話があがってまして、ちょっと検討しました。悪くないけどCFとかSDへのインターフェースがないのが、今となっては寂しいですね。でもハードが手に入るようならTOPPERS/JSPは移植します。曲がりなりにもbfin-gdbproxyを使…

MMA7455Lの変な癖

Freescaleの加速度センサ MMA7455Lをつついています。 昨晩からいじりはじめて、加速度をようやく読み取れたのは先ほどでした。こんなに時間がかかった原因は、MMA7455Lの初期化に手間取ったからです。このICは初期状態ではスタンバイ状態にあり、Modeレジス…

EMUDATレジスタ

d:id:monamour555さんとなぜUrJTAGのデータ書き込みは遅いのか意見を交わしています。たぶん外野からは何の事やらちんぷんかんぷんだと思いますので補足をば。 UrJTAGは外部Flash ROMの書き込み時にJTAG Boundary Scan Register (BSR)をスキャンしてROMへの…

gdbproxyで再度悩む

以前、gdbproxy自動実行用の1CD Linuxを作ったことがあります。 20MBでgdbproxy これはCygwin上でGnu Toolchainを動かしていたときに、Windows上でgdbproxyをビルドできなかったためです。 さて、最近では私もLinuxに何とか慣れてきました。そこで思い切って…

g++4.3への対応

g++ 4.3ではヘッダの整理が行われており、ヘッダの暗黙のインクルードを当てにしているビルドが通りません。 チケット #17210 g++ 4.3でコンフィグレータをビルド出来ない 修正しました。大丈夫のよう。近いうちにMAINにマージします。

レジスタ・アドレス

現在、TOPPERS/JSP for Blackfinのレジスタ・アドレスはADIのインクルード・ファイルをそのまま使っています。しかし、これを変更しようかと思っています。 理由の一つは、ライセンスが不定であること。通常、半導体メーカーが自社半導体上のアプリケーショ…