jtagポートからFlash ROMを書き換える方法

openwince/jtagを使ってFlash ROMを書き換えてみた。

まず,玄箱の空きランドのJTAGポートにピンを立てて,PCと接続する。とりあえずザイリンクスのDLC5を使って,接続してみた。特に玄箱側にプルアップ抵抗は必要ないみたい。

PCでLPT1(0x0378)を使えるようにする。ModeはSPPでOK。

cygwin環境でjtag関連のツールをコンパイルする。

$mkdir jtagdir
$cd jtagdir
$tar xzvf jtagdir.tgz

で解凍する。

cd include
$./autogen.sh
$make install

これがエラーが出る場合はcygwin用の足りないライブラリを入れる。

$cd ..
$cd jtag
$./autogen.sh
$make
$make install

でコンパイル,インストールをする。

bootcode.binとfirmimg.binを,<ディレクトリ>\jtagdir\jtagにコピーする。

$ioperm -i

でパラレルポートを使えるようにするためのサービスを起動する。 ちなみに,

$ioperm -u

でサービス停止する。

jtagを起動

$jtag

でjtagツールを起動する。

jtag> cable parallel 0x378 DLC5

で,ザイリンクスのケーブルを使うようにする。

Initializing Xilinx DLC5 JTAG Parallel Cable III on parallel port at 0x378
jtag> detect
IR length: 8
Chain length: 1
Device Id: 0
chain.c(110) Part 0 without active instruction
chain.c(133) Part 0 without active instruction
chain.c(110) Part 0 without active instruction

こんなメッセージが出ればOK。

jtag> include data/motorola/mpc8241/1.2
jtag> endian big
jtag> instruction SAMPLE/PRELOAD
jtag> shift ir
jtag> shift dr
jtag> instruction EXTEST
jtag> shift ir
jtag> initbus mpc824x
jtag> detectflash 0xFFC00000

jtag> flashmem 0xFFF00000 bootcode.bin

でbootcodeを書き換える。30分くらいかかる。

jtag> flashmem 0xFFC00000 firmimg.bin

でfirmimgを書き換える。これは,24時間ぐらいかかる。

これでFlashを復旧できる。


新しくコメントをつける

題名
ゲスト名
投稿本文
より詳細なコメント入力フォームへ

トップ   凍結 差分 バックアップ 複製 名前変更 リロード   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom
Counter: 757, today: 1, yesterday: 5
最終更新: 2020-12-26 (土) 16:07:50 (JST) (1188d) by yuji