新千葉 ガーベージ・コレクション

FPGA マガジンやインターフェースで書けなかったこと等をちょぼちょぼ書いてます。@ryos36

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

IF 2012 3月号フォローアップ

雑誌インタフェースの記事のフォローアップを書き始めた。書くのが遅い、、、 http://www.sinby.com/tech/linux/uClinux-MicroBlaze根性があれば記事をよみながら、linux を動かすことができるはず、、、コメントのある方は下記のコメント欄からどうぞ。

OS も復活

OS も復活した。i386 でまず動き出した。次は A9。

東方画廊復活

http://www.sinchiba.com で復活した。

QEMU

Xilinx の QEMU を動かした。QEMU 上の C のデバイスも書けるようになった。System C にも対応した。 http://www.sinby.com/tech/hackers/000-qemu/ もうチョイ記事を増やしていこう。

QEMU と SystemC

とりあえず QEMU から SystemC を呼び出して TLM をつかって read/write ができた。

ポインタ

複雑だと思ったのはポインタを複雑に使っているからだった、、、bus は irq 用のポインタを用意している。 qemu_irq *irqp[QDEV_MAX_IRQ]; 簡単にするために配列を考えずに考えよう。(少し簡単になった) qemu_ira *irqp sysbus_init_irq でデバイス側の ir…

QEMU の割り込み

irqp = arm_pic_init_cpu(env); こんなかんじで platform から初期化する。どんな割り込みモデルを持っているかを知っているのはプラットフォームだから。ターゲットは知りえない。これで、割り込みルーチンが登録される。arm_pic_init_cpu では arm 用に設…

TLM もくりあ

TLM は簡単なモデルは簡単だな。当たり前か。

Zynq と gdb

QEMU 上の Zynq でも gdb でアクセスできた。bss をクリアするアセンブラコードも書いたので c が使えるようになった。gdb から step 実行も可能。 > =1/arm-softmmu/qemu-system-arm -S -gdb tcp::1234 -M xilinx-zynq-a9 -m 256 -kernel callMain.elf -nog…

elm-chan の fs のページ

http://elm-chan.org/fsw/ff/00index_e.htmlIE からアクセスすると yahoo へ ridrect するようにできている。IE が嫌い?

v7-A とARM7TDMI (v4T)

ARM Architecture Reference Manual によるとvector は同じ構造らしい。アドレス0がreset時のスタートも同じ(モードによって変えられるみたいだが)。だから、昔書いた(8年くらい前) ARM7 のコードも動く。しかも QEMU で動く。 なんか OS の開発楽だなぁ、…

QEMU に昔のソースを

QEMU versatilepb でむかしの ARM-7 のソースを載せてみる。意外と簡単に動いちゃった。まずは qemu の起動。gdb サーバの指定をしておく。 qemu-system-arm -S -gdb tcp::1234 -M versatilepb -m 256 -kernel sdramTest_32bit.elfで、gdb を起動し接続。 > …

FROM_SYSBUS

state = FROM_SYSBUS(sign_gpio_state, sys_bus_dev); // 先頭が SysBusDevice であるという前提があります。 // FROM_SYSBUS を使っていますが、単純なキャストの方がわかりやすい。 // FROM_SYSBUS は sysdev をキーワードに container_of を使いますが //…

graphviz

あとどうでもいいけど graphviz の話題 digraph QEMU_SystemC { size="8,5" //node [shape = box, fixedsize=true, width="3"]; node [shape = box]; edge [dir=both]; QEMU [label=<<table border="0" cellborder="0" cellpadding="3" bgcolor="white"><tr><td bgcolor="black" align="center" colspan="2"><font color="white">State #…</font></td></tr></table>

QEMU (Linux/Zinq(Qemu))

まず Linux 上で作業。ToDoとして QEMU で あるアドレスをアクセスしたら呼ばれるコールバックルーチンを登録 コールバックルーチンから SystemC を呼び出す そのためには QEMU でファイルシステムを用意せずに実行できる環境作る必要があるかも。 う〜ん。…

道具としての MinGW

MinGW は Cygwin を必要としないミニマムな Unix 環境(らしい)。 http://ja.wikipedia.org/wiki/MinGWどうも、私の使っている Cygwin は -mno-cygwin に対応している gcc が入っているらしく MinGW をインストールしなくても gcc -mno-cygwin test.c -o te…

QEMU の起動まで

各 machine の init がよばれる。例えばversatile_init。これは main の延長上呼ばれる。ここで、arm_load_kernel が呼ばれる。kernel といいつつ elf と uboot とベタイメージに対応している。必要があれば、linux であると判断されて、initrd が定義されれ…

cpu_register_io_memory の関数群

すぐわかった。32, 16, 8 bit アクセスだ、、、ぎゃくだ 8, 16, 32 の順。配列は4つあるので無駄が一つある、、、なんかセンスないな、、、 整理はされているけど、大昔のトリッキーな C のコーディングを見ているみたいだ。

東電のプロパガンダ

東電の輪番停電(計画停電)は原子力がなくなると大変なことになりますよというプロパガンダだったの?(文春の記事から)あー「東京電力 プロパガンダ」で検索するといっぱい出てくるね。だとするとこれだけ経済を停滞させたのだから、民事的に賠償責任がある…

まずは Xilinx の qemu を試してみる。http://wiki.xilinx.com/zynq-qemu の指示に従い、 http://www.xilinx.com/member/zynq_linux/zynq_linux.tar.gz をダウンロードして実行。あっさり動く。 意外と速い。プロセッサーは2つ 。neon をちゃんとサポートし…