Hack BBS

[全部のスレッド一覧][新規投稿][記事の削除・変更] [Home Page]

返信投稿はタイトルのリンクをクリックして下さい
スレッド【No.2913】の中の記事をすべて表示しています

【No.2913】のスレッド
05/08/27(土) 23:55:09 投稿者[umino] <http://f30.aaa.livedoor.jp/~umino/pukiwiki.php?Linkstation> [No.2913]のスレッド内
【No.2913】 タイトル[JTAGでFlashが読めるが書けない] この記事がスレッドの最初です
こんばんは

openwince/jtagを使ってFlashの書き込みに挑戦しているのですが、
読み込みができても書き込みがどうも出来ません。

openwince/jtagにはNo.2417のスレッドのhnishiさんのパッチを当てた
ものを使用しています。環境はcygwinで、書き込み先はHGLAN(STmicro)です。

No.2510のスレッドでわんこさんが同じSTmicroのflashに書き込みをされていますが
No.2538のパッチを当ててもうまくいきませんでした。
No.2538のパッチを当てる前と後で、detectflashしたときに表示されるブロック構成は
変わっています。

どなたか、成功されているかたはいらっしゃいませんか?

以下失敗時のメッセージです。

jtag> flashmem 0xffff5000 test.bin
Chip: AMD Flash
Manufacturer: ST/Samsung
Chip: Unknown (ID 0x0000)
Protected: 00ca
program:
flash_unlock_block 0xFFFF5000 IGNORE

block 63 unlocked
flash_erase_block 0xFFFF5000
flash_erase_block 0xFFFF5000 DONE
erasing block 63: 0
addr: 0xFFFF5110 (done)
verify:
addr: 0xFFFF5000
verify error:
readed: 0x00000000
expected: 0x00000054


05/09/11(日) 16:45:38 投稿者[HATO] [No.2913]のスレッド内
【No.3004】 タイトル[Re: JTAGでFlashが読めるが書けない] 【No.2913】に対する返信
はとです。

jtag> detectflash 0xFFC00000
Query identification string:
Primary Algorithm Command Set and Control Interface ID Code: 0x0002 (AMD/Fujitsu Standard Command Set)
Alternate Algorithm Command Set and Control Interface ID Code: 0x0000 (null)
Query system interface information:
Vcc Logic Supply Minimum Write/Erase or Write voltage: 2700 mV
Vcc Logic Supply Maximum Write/Erase or Write voltage: 3600 mV
Vpp [Programming] Supply Minimum Write/Erase voltage: 0 mV
Vpp [Programming] Supply Maximum Write/Erase voltage: 3600 mV
Typical timeout per single byte/word program: 128 us
Typical timeout for maximum-size multi-byte program: 128 us
Typical timeout per individual block erase: 1024 ms
Typical timeout for full chip erase: 0 ms
Maximum timeout for byte/word program: 256 us
Maximum timeout for multi-byte program: 4096 us
Maximum timeout per individual block erase: 16384 ms
Maximum timeout for chip erase: 0 ms
Device geometry definition:
Device Size: 4194304 B (4096 KiB, 4 MiB)
Flash Device Interface Code description: 0x0002 (x8/x16)
Maximum number of bytes in multi-byte program: 32
Number of Erase Block Regions within device: 2
Erase Block Region Information:
Region 0:
Erase Block Size: 65536 B (64 KiB)
Number of Erase Blocks: 63
Region 1:
Erase Block Size: 8192 B (8 KiB)
Number of Erase Blocks: 8
jtag> flashmem 0xffff5000 fl2.bin
セグメンテーション違反です

と表示されます。
パッチ等は当てています。

上記がlogですが、どこが悪いのでしょうか。
よろしくお願いします。

05/09/11(日) 22:00:05 投稿者[umino] <http://f30.aaa.livedoor.jp/~umino/pukiwiki.php?Linkstation> [No.2913]のスレッド内
【No.3006】 タイトル[Re: JTAGでFlashが読めるが書けない] 【No.3004】に対する返信
> Region 0:
> Erase Block Size: 65536 B (64 KiB)
> Number of Erase Blocks: 63
> Region 1:
> Erase Block Size: 8192 B (8 KiB)
> Number of Erase Blocks: 8

 表示されるブロックの構成が私の手元のM29W320DTと違ってますね。
もしフラッシュの型番が違うのなら、みなさんのpatchで動くかどうかは分らないです。
パッチは正しく当ってますか?

05/09/11(日) 22:15:54 投稿者[HATO] [No.2913]のスレッド内
【No.3007】 タイトル[Re: JTAGでFlashが読めるが書けない] 【No.3006】に対する返信
uminoさん
ありがとうございます。
何回かdetectflash 0xFFC00000を実行時に
Erase Block Region Information:
Region 0:
Erase Block Size: 65536 B (64 KiB)
Number of Erase Blocks: 63
Region 1:
Erase Block Size: 8192 B (8 KiB)
Number of Erase Blocks: 8

とか、
Erase Block Region Information:
Region 0:
Erase Block Size: 5242880 B (5120 KiB)
Number of Erase Blocks: 1
Region 1:
Erase Block Size: 128 B (0 KiB)
Number of Erase Blocks: 1
Region 2:
Erase Block Size: 128 B (0 KiB)
Number of Erase Blocks: 1
Region 3:
Erase Block Size: 65536 B (64 KiB)
Number of Erase Blocks: 63
Region 4:
Erase Block Size: 8192 B (8 KiB)
Number of Erase Blocks: 8
と表示されます。
jtag> detectflash 0xFFC00000
jedec_detect: mid 0, did 0
Flash not found!
の表示もあります。
フラッシュは富士通製です。(29PL32TM)



05/09/18(日) 00:00:23 投稿者[umino] <http://f30.aaa.livedoor.jp/~umino/pukiwiki.php?Linkstation> [No.2913]のスレッド内
【No.3021】 タイトル[Re: JTAGでFlashが読めるが書けない] 【No.3007】に対する返信
富士通のFlashの個体を持っていないので実験できませんが
データシートを見るに 64KB*63 + 8KB*8 の構成みたいですね。

detectflashの結果が変わるってことは、通常無いように思うので
パッチが正しく当ってないとか、JTAGアダプタがおかしいとか、PC
が早すぎてタイミングが取れてないぐらいしか思いつかないです。
(しかもどれも当てずっぽう(^^;)
力になれず申し訳ない。

05/09/21(水) 22:44:59 投稿者[HATO] [No.2913]のスレッド内
【No.3035】 タイトル[Re: JTAGでFlashが読めるが書けない] 【No.3021】に対する返信
uminoさん
ありがとうございます。
Jtagアタブターは自作しています、ので怪しい気がします。もう一度見直してみます。
PCは1Gを使用しています。

05/08/29(月) 23:25:26 投稿者[はと] [No.2913]のスレッド内
【No.2919】 タイトル[Re: JTAGでFlashが読めるが書けない] 【No.2913】に対する返信
こんばんは

openwince/jtagを使ってFlashの書き込みに挑戦しているのですが、

NO.2422のスレッドでhnishiさんのBSDLとamd.cのパッチは、ファイル内全ての内容を変更でよろしいのでしょうか。

05/09/03(土) 13:39:58 投稿者[umino] <http://f30.aaa.livedoor.jp/~umino/pukiwiki.php?Linkstation> [No.2913]のスレッド内
【No.2946】 タイトル[Re: JTAGでFlashが読めるが書けない] 【No.2919】に対する返信
はとさん、こんにちは

パッチは、素直に(?)すべて適用しています。No.2945のとおり、かいへいさんの
アドバイスで無事書き換えることが出来ました。

05/09/04(日) 22:46:14 投稿者[はと] [No.2913]のスレッド内
【No.2955】 タイトル[Re: JTAGでFlashが読めるが書けない] 【No.2946】に対する返信
uminoさん、ありがとうございます。

ホームページにでもUPしてくれると助かりますが・・・
わがままですみません。
もう少し、がんばってみます。

05/09/04(日) 23:04:07 投稿者[umino] <http://f30.aaa.livedoor.jp/~umino/pukiwiki.php?Linkstation> [No.2913]のスレッド内
【No.2956】 タイトル[Re: JTAGでFlashが読めるが書けない] 【No.2955】に対する返信
Webにコンパイルの過程はまとめた(書き殴った)のですが
ファイルそのものは上げてないです。
(ライセンス関連をきちんと調べていないため)

読み込みまでしか手順書いてないですが、今回書き込みも出来るようになったので
そのへんも追々まとめるつもりです。

#フラッシュのChip IDがちゃんと読めてないのが気になる...

05/09/10(土) 22:51:38 投稿者[HATO] [No.2913]のスレッド内
【No.3000】 タイトル[Re: JTAGでFlashが読めるが書けない] 【No.2956】に対する返信
はとです。

detectflash 0xFFC00000
を実行時に
jedec_detect: mid 0, did 0
Flash not found!
と表示されフラッシュ情報が表示されません。
パッチ等は間違いなく当てたつもりです。
HLAN-ST(M29W320DT)
よろしくお願いします。


05/09/04(日) 23:23:11 投稿者[はと] [No.2913]のスレッド内
【No.2957】 タイトル[Re: JTAGでFlashが読めるが書けない] 【No.2956】に対する返信
uminoさん、ありがとうございます。

JTAG関係の少し名前えお変えたホルダーを置いているため、違うフォルダー内の実行ファイルを呼び出しているのでしょうか。

LINUXは初めてなので、

05/08/28(日) 07:35:36 投稿者[わんこ] [No.2913]のスレッド内
【No.2915】 タイトル[Re: JTAGでFlashが読めるが書けない] 【No.2913】に対する返信
わんこです。

jtag> flashmem 0xffff5000 test.bin
FLASHの消去は64K単位なので、開始アドレスがまずいと思います。

試しに、flashmem 0xFFF70000 test.bin では、どうでしょうか?

05/08/28(日) 10:29:54 投稿者[umino] <http://f30.aaa.livedoor.jp/~umino/pukiwiki.php?Linkstation> [No.2913]のスレッド内
【No.2916】 タイトル[Re: JTAGでFlashが読めるが書けない] 【No.2915】に対する返信
わんこさんアドバイスありがとうございます。

0xfff70000から書いてみましたが、やはりverify errorでした。
0xfff70000から0x100byteほど読んでみましたが、eraseさえされて
いませんでした。(データに変化なし)

CFIはわんこさんのpatchで読めているように見えるのですが...

JTAG Tools 0.6
Copyright (C) 2002, 2003 ETC s.r.o.
JTAG Tools is free software, covered by the GNU General Public License, and you
are
welcome to change it and/or distribute copies of it under certain conditions.
There is absolutely no warranty for JTAG Tools.

Warning: JTAG Tools may damage your hardware! Type "quit" to exit!

Type "help" for help.

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
jtag> include motorola/mpc8241/1.2
jtag> endian big
jtag> instruction SAMPLE/PRELOAD
jtag> shift ir
jtag> shift dr
jtag> dr
01011111000011101101111100001000000000000000000000000000000000000000000011111111
11110111111111111111111111111010111100000000000000000000000000000000100000000000
00000000000000000000000000000011111010010000000110001101111111111110000001100000
00000000000000010010000000000001100001011011111111111101111110111101011111101100
01011000000010010111111100000011111101111110000010101101100010001011111111010000
00000000000000000000000000000000000000000100011111010011111011001110011001111101
111111100000000000000000000
jtag> instruction EXTEST
jtag> shift ir
jtag> initbus mpc824x
jtag>
jtag> detectflash 0xFFC00000
Query identification string:
Primary Algorithm Command Set and Control Interface ID Code: 0x0002 (AMD
/Fujitsu Standard Command Set)
Alternate Algorithm Command Set and Control Interface ID Code: 0x0000 (n
ull)
Query system interface information:
Vcc Logic Supply Minimum Write/Erase or Write voltage: 2700 mV
Vcc Logic Supply Maximum Write/Erase or Write voltage: 3600 mV
Vpp [Programming] Supply Minimum Write/Erase voltage: 11500 mV
Vpp [Programming] Supply Maximum Write/Erase voltage: 12500 mV
Typical timeout per single byte/word program: 16 us
Typical timeout for maximum-size multi-byte program: 0 us
Typical timeout per individual block erase: 1024 ms
Typical timeout for full chip erase: 0 ms
Maximum timeout for byte/word program: 512 us
Maximum timeout for multi-byte program: 0 us
Maximum timeout per individual block erase: 16384 ms
Maximum timeout for chip erase: 0 ms
Device geometry definition:
Device Size: 4194304 B (4096 KiB, 4 MiB)
Flash Device Interface Code description: 0x0002 (x8/x16)
Maximum number of bytes in multi-byte program: 1
Number of Erase Block Regions within device: 4
Erase Block Region Information:
Region 0:
Erase Block Size: 65536 B (64 KiB)
Number of Erase Blocks: 63
Region 1:
Erase Block Size: 32768 B (32 KiB)
Number of Erase Blocks: 1
Region 2:
Erase Block Size: 8192 B (8 KiB)
Number of Erase Blocks: 2
Region 3:
Erase Block Size: 16384 B (16 KiB)
Number of Erase Blocks: 1
jtag> flashmem 0xfff70000 test.bin
Chip: AMD Flash
Manufacturer: ST/Samsung
Chip: Unknown (ID 0x0000)
Protected: 00ca
program:
flash_unlock_block 0xFFF70000 IGNORE

block 55 unlocked
flash_erase_block 0xFFF70000
flash_erase_block 0xFFF70000 DONE
erasing block 55: 0
addr: 0xFFF80000 (done)
verify:
addr: 0xFFF70000
verify error:
readed: 0x00000000
expected: 0x00000054
jtag> quit

05/09/01(木) 00:13:27 投稿者[かいへい] [No.2913]のスレッド内
【No.2932】 タイトル[Re: JTAGでFlashが読めるが書けない] 【No.2916】に対する返信
私も同じようにverify errorで書き込みができませんでしたが、
データシートを見ていろいろ試していたらうまくいきました。

hnishiさんとわんこさんのパッチを適用して、さらにamd.cの207行目
bus_write( bus, 0, 0x00ff00ff ); を
bus_write( bus, adr+0x0, 0x00f000f0 );
に修正しました。

なお、FlashはST M29W320DTです。


05/09/03(土) 13:34:05 投稿者[umino] <http://f30.aaa.livedoor.jp/~umino/pukiwiki.php?Linkstation> [No.2913]のスレッド内
【No.2945】 タイトル[Re: JTAGでFlashが読めるが書けない] 【No.2932】に対する返信
かいへいさん、こんにちは

お教えの通りソースを書き換えて試してみると、書き換えに成功しました。
アドバイスありがとうございました。

以下detectflash以降のlogです

jtag> flashmem 0xffff0000 test.bin
Chip: AMD Flash
Manufacturer: ST/Samsung
Chip: Unknown (ID 0x0000)
Protected: 00ca
program:
flash_unlock_block 0xFFFF0000 IGNORE

block 63 unlocked
flash_erase_block 0xFFFF0000
..................................................flash_erase_block 0xFFFF0000 D
ONE
erasing block 63: 0
flash_unlock_block 0xFFFF8000 IGNORE

block 64 unlocked
flash_erase_block 0xFFFF8000
................................flash_erase_block 0xFFFF8000 DONE
erasing block 64: 0
flash_unlock_block 0xFFFFA000 IGNORE

block 65 unlocked
flash_erase_block 0xFFFFA000
................................flash_erase_block 0xFFFFA000 DONE
erasing block 65: 0
flash_unlock_block 0xFFFFC000 IGNORE

block 66 unlocked
addr: 0x00000000 (done)FC000
verify:................................flash_erase_block 0xFFFFC000 DONE
addr: 0xFFFFFFFF: 0
Done. 0xFFFFDB2D
jtag> readmem 0xffff0000 0x100 bbb.bin
address: 0xFFFF0000
length: 0x00000100
reading:
addr: 0xFFFF0100
Done.
jtag> quit

05/09/01(木) 00:33:33 投稿者[かいへい] [No.2913]のスレッド内
【No.2933】 タイトル[Re: JTAGでFlashが読めるが書けない] 【No.2932】に対する返信
すみません。207行目ではなく、237行目でした。