下ネタ(したねた)

bfin-gdbproxy.exe …あとちょっと.

刺身包丁を使って,Linux上ではgdbproxyが動いたよ (要約) をメールで頂いていたので,Win32ネイティブ版を目指す. 数時間後,できた. しかし,社内でドッグフードリリースしたところ…. GDBのコマンド「load」を使用すると、次のように出力することが…

自動検出不能

The optional instructions RUNBIST, IDCODE, and USERCODE are not supported by the ADSP-2136x processor.仕様上はoptionだってことは知っているけれどさ.欲しいよねぇ.IDCODEくらいは.UrJTAGで無理矢理IDCODEを流すと一応32bitsの値は取れて来るんだ…

MProgでread error.

USBデバイスとして認識されたので,MProgを使って設定の書込み…書込み…あれ? エラーが出るぞ??? 「Error reading device」 Google使って探しまわるも,変な英語のディスカッションログしか出なくて,要領を得ない.困ったなー.

0402metric SMD

以前書いたかもしれませんが,ADIのDSP用を狙ったJTAG podを作っています*1. コンパクトにしたいよねー. でも片面実装でコスト下げたいよねー. というわけで,気軽く選んだ 0402サイズ.茶屋メタファでお越しのITな方々はピンとこないでしょうから,言い…

Coldfire対応,続き.

おや,ピザなgccで,JSPカーネルまで作れちゃうではないですか.ターゲットに流すまで油断はできないけれど.

Coldfire対応

gcc3.4系でcoldfireするには,パッチが要るらしい? …いや,このパッチは,本家に採り込み済みだった.

カーネル2.6的プリンタポートドライバ

受託案件絡みなので詳しく書けないのが歯がゆいが,守秘性が高い部分を取り除いて,書けるだけ書いてみる.手元の環境(vPro Q35の普通のPC)では,register_region / register_irq / outb で作るトラディショナルなプリンタポートドライバは動かなかった.具…

コンパイラのバグ?

#define IO_BASE (0x378) iop_resource = request_region(IO_BASE, 3, devname); if (iop_resource == NULL) { printk(KERN_ERR "io 0x%3lX, which is busy.\n", IO_BASE); return -EBUSY; } printk("pooh.. %s %lx %lx %lx\n", iop_resource->name, iop_res…

静的アサーションにハマる.

irq_redirect.c:27: error: size of array 'type name' is negative うむ? module_param(devname,charp,S_IRUGO | S_IWUGO); linux/moduleparam.h をあちこち読み込むこと小一時間. < module_param(devname,charp,S_IRUGO | S_IWUGO); > module_param(devna…

モジュール書き

TOPPERSだけで住む世界ならどれほど楽か. …いや,そんな世界,つまらないな,

HVMにIRQを投げる

libxc関連は,英文も含めて,ほんっとに資料無いのね.ソース読めってか. #include <stdio.h> #include <xenctrl.h> #include <stdlib.h> void error_exit(const char *msg) { fputs(msg, stderr); exit(1); } int main(int argc, char **argv) { int xc_handle; domid_t dom; uint8_t irq</stdlib.h></xenctrl.h></stdio.h>…

64MbitsのSPIフラッシュを1980円で調達する.

SPIフラッシュ.アキバで小売りしてくれる店で誰もが思いつく,千石/秋月/若松/鈴商/マルツのいずれも扱っていないっぽい. まあ店を構えていない商社まで探せばリール在庫を持っている店があるかもしれないけれど,そんなに大量には要らない.DigiKeyか…送…

detach

連続運用中にちょっとだけ止めて中身を確かめたい,なんてことはよくある話.しかし,gdbスタブにDコマンド(GDBのdetachコマンドと相応)が無いと,ターゲットはGDBの終了後に止まった状態から復帰できない. GDBは,終了時にスタブに対してkコマンドを必ず*1…

カーネルデバッガ

出荷直前までデバッグをしなければいけないことは普通にある.場合によっては,出荷後も. 現在的なベスト解はJTAG端子を出しておくことのような気もするけれど,丸裸になりすぎるという理由で量産時には端子を殺されてしまうことも多い(気がする). そうい…

HVMドメインの状態保存/復帰

例によってXenのバージョンは3.1.割と簡単.ここでいう"状態"とは,広い意味でのレジスタを意味する. xen/include/public/hvm/save.h /* * Each entry has a datatype associated with it: for example, the CPU state * is saved as a HVM_SAVE_TYPE(CPU)…

DomUでのI/Oポート直叩き

これもHVMとパラバーチャルで挙動が異なる.引用コードは例によってXen-3.1.0-src.tgz. まず外部から見て. パラバーチャルでは.create時のコンフィギュレーションで ioports を指定すればよい,らしい.HVMでは,どうやら ioports の指定は効かない.エラ…

タイマ周りを追いかける.

実は受託案件が絡んでいる話の予備調査なので,組込み応用にするために具体的に何をすべきかは,ここでは書かない. ソースコードを斜め読みしただけで理解できることに疑いないところだけ書く. デバッガで追いかけたわけではないので,読み違えの可能性も…

追跡中.

コードリーディング中. μITRON仕様OSでも μITRON仕様OSでも,ハイエンドの規模では,パラバーチャルなハイパーバイザがあったほうがよいかも. メモリモデルっていうかMMUの違いっていうかは,ターゲット依存部で吸収するのも結構辛かったりするし,モジュ…

追いついていない.

ハイパーパイザごときで[下ネタ]タグは軟弱とか言われそうな気もしつつ. まあ,xen-3.1.0-src.tgz の中身を追いかけているので,下ねたってことでひとつ. このところ,Xenの中身を追いかけているのだけれども,Googleで当たる日本語の情報が,ことごとく古…

GDBスタブ

RedBootは多機能で良いブートローダですが,ちょいと大げさ. インタフェース誌のアレは,あまりにもアレ. gdbのコードを流用すると,GPLになっていい顔されない.Cとアセンブラで書くと,ステップ数はコメント除いて3000弱.メーカ内製は無理でない分量で…

V850E系のdbtrapと未定義命令例外

元祖V850には,デバッグ例外という概念そのものがなかったようで,後付けの常であるベクタアドレスの共有があります. 具体的には,未定義命令例外とのベクタアドレス共有となっています. デバッガでも作るのでなければこんな例外使わないわけだけれど,今…

V850ES/JG2用のgdbstub

ぶち切れながら休日を潰す. 公式締切数日前に来た執筆依頼. 他人の記事のプログラムだが,私が勤める会社で書く記事で(記事の企画上)使わざるを得ない. ところが,そのプログラム(gdbstub)はズタボロだった. 以前も同じ出版社絡みで,某セミコンメーカ製…

V850のブレイクポイント

備忘録,っていうか,まとめ.数ヶ月後の某誌を見れば,何にブチきれていたかが判るかもですね. かつて,初期V850には,dbtrap命令はありませんでした. tarp命令は4バイトでV850の最小命令長2バイトより大きいため, ブレイクポイント命令として使えません…

FT232RのEEPROM

先日騒いでいたJTAGネタではなく,真っ当な使い方で基板を起こしてみたところ…動かない. USB-Serialとして認識はされるものの,TxDから出力がないっぽい.結果,ターゲットデバイスからのRxDも静かなまま.製造した基板10枚,ゴミ箱遺棄か? こんなに小さな*…

引き続きFT232Rネタ

ふつーの使い方をしてみる. VCCIOを3.3VにしたFT232RのTxD/RxDを,AT91SAM7S128のPA9/PA10に繋いでみる. JSP sample1の入出力がふつーにできる.当たり前. そろそろ,ジャンプワイヤがスパゲティになってきた…. 先達 頂いたコメントによると,なひたふさ…

とりあえず,繋いでみる.

ワタクシ的にはまだ25日26時なワケですが,写真を撮ってみたので,翌日にしてみる.繋いでみました.はい.文字通り,直結しただけです. コンデンサ? フェライトビーズ? なにそれ? …エレキ屋さんが見たら卒倒しそうな状態ですねぇ. こんなんでも,OSXであ…

FT232RでJTAG,の続き

頂いたコメントを検討してみました. まず,CBUS bit bangの場合,フレームに乗るのは,1bitではなくて,CBUSの全ビットではないでしょうか. それでも焼け石に水であるのは確かで,TCK速度換算で125Hz(?).IEEE1284系パラレルポートを使ったJTAGポッドの限…

ARMのJTAGからのリセット

FT232RでJTAGというアイデアの続き. 狭義のJTAGでは気にならないことだけれども,JTAG-ICEとして使うには,リセットの扱いが気になる. FT232RのGPIOは5本.狭義のJTAGでは4本使うから,リセットに使えるのは1本.ARMの場合,リセットはnSRSTとnTRSTの2本.…

OpenOCDのドライバ

FT232RでJTAGというアイデアが頭から離れない. ft2232.cを見ると ftdic.bitbang_mode = 2; /* MPSSE mode */ ftdi_enable_bitbang(&ftdic, 0x0b); /* ctx, JTAG I/O mask */ FT232RにはMPSSEが無いようなので,流用は不可.残念.ていうか流用可能だったら…

mips64-elf-ldの続き

本家MLでNick曰く(超訳), PHDRSがないからだねハハン. 納得できねーよ*1. …でも仕様なら仕方あるまい.言われたとおりldscriptを修正しました. …500KBだったはずのバイナリが3GBになりました.納得できねーよ 試しに3GBバイナリをreadelf に与えたら,コ…