Top
HIDaspx
DownLoad
HIDasp高速化
制作
AVR関係
AVR_Monit
AVR_term
W32_term
HIDmon88
HIDtester
usbRS232
Arduino2313
デジタルテスター
ATmega88生活
KeyBoardマニア
KeyBoardマニアII
Arduino400
PICライター
ARMライター
赤外線リモコン
ARM
STM32ブートローダー
STM8S-Discovery改造
STM8S-OpenOCDライター
LPCXpresso
LPC用ブートローダー
NXP用LPCUSB
NXP用ブートローダー
MARY基板
LPC1114FN28
OpenOCD JTAGアダプター
OpenOCDビルド方法
arm-gccビルド方法
mapleIDEの改造
libmapleで仮想COM
PIC32
PIC32MX
Pinguinoで遊ぼう
ブートローダーを作る
シリアルブートローダー
USB仮想シリアル
USBカスタムデバイス
USB簡易モニター
USBオシロスコープ
USBホスト
PIC32でBluetooth
USBAudio
USBStudy
VGA出力に挑戦
BASICを動かす
WinUSB
勝手に改蔵*PIC32
PIC18F
HIDブートローダー
AVR/PIC両用ライター
ARMライター
usb汎用クラス
usbシリアル変換
usbキーボード変換
sdccを使いこなす
mcc18を使いこなす
HIDmon-2550
HIDmon-14K50
PICmonitor
試行錯誤の記録
UBWを試す
旧HIDboot
PIC18F2550試用記
PIC18F4550試用記
その他マイコン
NEC78K
RX62N
SH2A
H8
FM3
XPからubuntuに乗り換え
Android
Xen-hypervisor
Windows8カスタマイズ
開発日記
2015-04
ノウハウ
AVRUSB_Tips
HIDasp情報
汎用USB-IO
・
リンク
フリースペース
ゲストブック
旧コンテンツ
WinVista
インターフェース考
最新の20件
2022-07-25
2008-10
HIDasp高速化
H8/3048F
AutoTicketLinkName
2021-12-11
FormattingRules
2021-12-08
PukiWiki/1.4/Manual/Plugin/O-R
PukiWiki/1.4/Manual/Plugin/L-N
PukiWiki/1.4/Manual/Plugin/V-Z
PukiWiki/1.4/Manual/Plugin/A-D
PukiWiki/1.4/Manual/Plugin/E-G
PukiWiki/1.4/Manual/Plugin/S-U
PukiWiki/1.4/Manual/Plugin/H-K
2020-02-23
YukiWiki
PHP
PukiWiki
WikiWikiWeb
2018-12-19
SandBox
InterWiki
2015-05-07
2015-04
2015-05-02
MenuBar
編集
差分
HIDasp速度比較 の編集
-- 雛形とするページ --
(no template pages)
[[HIDasp高速化]] #contents ---- *HIDasp-0928版の実行速度(UHCIの場合) [#td3ee350] -FUSIONの効果測定 |コマンド |評価内容| FUSIONなし |FUSIONあり| |hidspx -d0 2kB.hex |2kB Write/Verify |2.72秒 |2.14秒(957B/秒)| |hidspx -d0 8kB.hex |8kB Write/Verify |6.57秒 |5.56秒(1.47kB/秒)| -条件:ターゲット=ATmega88(8kBの場合)ATtiny2313(2kBの場合) - マザー=i815 ハブ無し直結。 -ログ -2kB書き込み. FUSION無し. bash-3.2$ time ./hidspx.exe -ph -d0 2kb.hex Detected device is ATtiny2313. Erase Flash memory. Write Flash: 2048/2048 B Verify Flash: 2048/2048 B Passed. real 0m2.722s user 0m0.020s sys 0m0.030s -2kB書き込み. FUSIONあり. bash-3.2$ time ./hidspx1.exe -ph -d0 2kB.hex Detected device is ATtiny2313. Erase Flash memory. Write Flash: 2048/2048 B Verify Flash: 2048/2048 B Passed. real 0m2.144s user 0m0.040s sys 0m0.010s -2kB読み出し. bash-3.2$ time ./hidspx.exe -ph -d0 -rp >out.hex Detected device is ATtiny2313. Read Flash: 2048/2048 B Passed. real 0m1.269s user 0m0.030s sys 0m0.030s -8kB書き込み. FUSIONなし. bash-3.2$ time ./hidspx.exe -ph -d0 8kB.hex Detected device is ATmega88. Erase Flash memory. Write Flash: 8192/8192 B Verify Flash: 8192/8192 B Passed. real 0m6.570s user 0m0.020s sys 0m0.020s bash-3.2$ time ./hidspx1.exe -ph -d0 8kB.hex Detected device is ATmega88. Erase Flash memory. Write Flash: 8192/8192 B Verify Flash: 8192/8192 B Passed. -8kB書き込み. FUSIONあり. bash-3.2$ time ./hidspx1.exe -ph -d0 8kB.hex Detected device is ATmega88. Erase Flash memory. Write Flash: 8192/8192 B Verify Flash: 8192/8192 B Passed. real 0m5.558s user 0m0.020s sys 0m0.030s -8kB読み出し. bash-3.2$ time ./hidspx1.exe -ph -d0 -rp >out.hex Detected device is ATmega88. Read Flash: 8192/8192 B Passed. real 0m2.924s user 0m0.020s sys 0m0.020s bash-3.2$ *HIDasp-0928版の実行速度(参考:OHCIの場合) [#td3ee350] -FUSIONの効果測定およびUHCIとの速度比較 |コマンド |評価内容| FUSIONなし |FUSIONあり| |hidspx -d0 8kB.hex OHCI|8kB Write/Verify |3.80秒 |3.60秒(2.27kB/秒)| |hidspx -d0 8kB.hex UHCI(上の表から写し)|8kB Write/Verify |6.57秒 |5.56秒(1.47kB/秒)| -条件:ターゲット=ATmega88(8kBの場合)ATtiny2313(2kBの場合) - マザー=SiS USB1.1ハブ経由にて接続。 -UHCI(インテル、VIA系のUSBホストアダプタ)でも、間にUSB2.0ハブを入れると、OHCI並みの速度になるかもしれない(マイクロフレーム効果がある。%%未確認%% --一応SiSマザー+USB2.0ハブで確認。intelマザーでは未確認) --但し、ホストPCとUSB2.0ハブ間が480Mbps接続でないとマイクロフレームがサポートされない。 -ログ -8kB書き込み. FUSIONなし. bash-2.02$ time ./hidspx.exe -ph -d0 8kB.hex Detected device is ATmega88. Erase Flash memory. Write Flash: 8192/8192 B Verify Flash: 8192/8192 B Passed. real 0m3.799s user 0m0.015s sys 0m0.015s -8kB書き込み. FUSIONあり. bash-2.02$ time ./hidspx1.exe -ph -d0 8kB.hex Detected device is ATmega88. Erase Flash memory. Write Flash: 8192/8192 B Verify Flash: 8192/8192 B Passed. real 0m3.597s user 0m0.015s sys 0m0.000s -8kB読み出し bash-2.02$ time ./hidspx.exe -ph -d0 -rp >out.hex Detected device is ATmega88. Read Flash: 8192/8192 B Passed. real 0m1.772s user 0m0.015s sys 0m0.000s bash-2.02$ exit ---- *HIDasp-0926版の実行速度 [#td3ee350] |コマンド |評価内容| 改良前 |高速化後| |hidspx -d0 test.hex |8kB Write/Verify |10.94秒 |5.56秒(1.47kB/秒)| |hidspx -d0 -rp >XX.hex |8kB Read |8.39秒| 2.93秒(2.79kB/秒) | -条件:ターゲット=ATmega88(20MHz水晶) - マザー=i815 ハブ無し直結。 -ログ bash-3.2$ time avrspx.exe -d0 -rp >1 Detected device is ATmega88. Read Flash: 8192/8192 B Passed. real 0m2.934s user 0m0.020s sys 0m0.020s bash-3.2$ time avrspx.exe -d0 xx.hex Detected device is ATmega88. Erase Flash memory. Write Flash: 8192/8192 B Verify Flash: 8192/8192 B Passed. real 0m5.558s user 0m0.030s sys 0m0.020s bash-3.2$ -intelのUSBホストの場合は、あまり速度が出ないようです。 *HIDasp-0926版の実行速度(OHCIの場合) [#g0b8661b] |コマンド |評価内容| 改良前 |高速化後| |hidspx -d0 test.hex |8kB Write/Verify |10.94秒 |3.75秒(2.18kB/秒)| |hidspx -d0 -rp >XX.hex |8kB Read |8.39秒| 1.71秒(4.79kB/秒) | -条件:ターゲット=ATmega88(20MHz水晶) - マザー=SiS USB1.1ハブ経由にて接続。 -ログ bash-2.02$ time ./hidspx.exe -ph -d0 test.hex Detected device is ATmega88. Erase Flash memory. Write Flash: 8192/8192 B Verify Flash: 8192/8192 B Passed. real 0m3.753s user 0m0.031s sys 0m0.000s bash-2.02$ time ./hidspx.exe -ph -rp -d0 >xx.hex Detected device is ATmega88. Read Flash: 8192/8192 B Passed. real 0m1.707s user 0m0.015s sys 0m0.000s bash-2.02$ ---- |コマンド |評価内容|高速化後| |hidspx -d0 test.hex |2kB Write/Verify |1.30秒(1.58kB/秒)| |hidspx -d0 -rp >XX.hex |2kB Read |0.60秒(3.41kB/秒) | -条件:ターゲット=ATtiny2313(25MHz水晶) - マザー=SiS USB1.1ハブ経由にて接続。 -ログ bash-2.02$ time ./hidspx.exe -ph -d0 2k.hex Detected device is ATtiny2313. Erase Flash memory. Write Flash: 2048/2048 B Verify Flash: 2048/2048 B Passed. real 0m1.299s user 0m0.015s sys 0m0.000s bash-2.02$ time ./hidspx.exe -ph -d0 -rp >temp.hex Detected device is ATtiny2313. Read Flash: 2048/2048 B Passed. real 0m0.596s user 0m0.015s sys 0m0.000s bash-2.02$ -tiny2313では、むしろ接続のネゴシエーションとかRESET初期化で時間を取られている感じ。 -ATmega644基板を作りたくなった。作ったらまたベンチマーク猿になるに違いない。(<アホ) ---- *比較表 [#qea2497d] |コマンド |評価内容| 改良前 |高速化後| |hidspx -d0 -rp >XX.hex |8kB Read |8.39秒| 2.22秒 | |hidspx -d1 -rp >XX.hex |8kB Read |8.40秒| 3.12秒 | |hidspx -d4 -rp >XX.hex |8kB Read |8.39秒| 4.63秒 | |hidspx -d0 test.hex |8kB Write/Verify |10.94秒 |4.86秒(1.64kB/秒)| |hidspx -d1 test.hex |8kB Write/Verify |10.96秒 |7.06秒(1.13kB/秒)| |hidspx -d4 test.hex |8kB Write/Verify |13.26秒 |9.98秒(821B/秒)| 結局、'-d0'のときだけ2倍程度の改善でした。 *旧バージョン計測結果 [#f23df48a] bash-2.02$ gawk -f hexgen.awk -v size=8 -v fill=random > 8kB.hex bash-2.02$ ls -l avrspx.exe 08-09-20 15:03 51,200 avrspx.exe ---- - HIDaspのファームは旧バージョン(2007.3)です. - avrspx.exe は最新版です. - 書き込み&ベリファイ bash-2.02$ time avrspx -d0 -ph 8kB.hex hidasp_init()... OK. hidasp_program_enable() Detected device is ATmega88. Erase Flash memory. hidasp_program_enable() Write Flash: 8192/8192 B Verify Flash: 8192/8192 B Passed. real 0m10.944s user 0m0.015s sys 0m0.000s bash-2.02$ time avrspx -d1 -ph 8kB.hex hidasp_init()... OK. hidasp_program_enable() Detected device is ATmega88. Erase Flash memory. hidasp_program_enable() Write Flash: 8192/8192 B Verify Flash: 8192/8192 B Passed. real 0m10.961s user 0m0.015s sys 0m0.015s bash-2.02$ time avrspx -d4 -ph 8kB.hex hidasp_init()... OK. hidasp_program_enable() Detected device is ATmega88. Erase Flash memory. hidasp_program_enable() Write Flash: 8192/8192 B Verify Flash: 8192/8192 B Passed. real 0m13.269s user 0m0.015s sys 0m0.000s bash-2.02$ time avrspx -d10 -ph 8kB.hex hidasp_init()... OK. hidasp_program_enable() Detected device is ATmega88. Erase Flash memory. hidasp_program_enable() Write Flash: 8192/8192 B Verify Flash: 8192/8192 B Passed. real 0m18.622s user 0m0.015s sys 0m0.000s bash-2.02$ time avrspx -d50 -ph 8kB.hex hidasp_init()... OK. hidasp_program_enable() Detected device is ATmega88. Erase Flash memory. hidasp_program_enable() Write Flash: 8192/8192 B Verify Flash: 8192/8192 B Passed. real 1m1.109s user 0m0.015s sys 0m0.000s bash-2.02$ ---- - 読み出し bash-2.02$ time avrspx -d0 -ph -rp >xx.rom Detected device is ATmega88. Read Flash: 8192/8192 B Passed. real 0m8.393s user 0m0.015s sys 0m0.015s bash-2.02$ time avrspx -d1 -ph -rp >xx.rom Detected device is ATmega88. Read Flash: 8192/8192 B Passed. real 0m8.397s user 0m0.015s sys 0m0.015s bash-2.02$ time avrspx -d4 -ph -rp >xx.rom Detected device is ATmega88. Read Flash: 8192/8192 B Passed. real 0m8.392s user 0m0.015s sys 0m0.000s bash-2.02$ time avrspx -d10 -ph -rp >xx.rom Detected device is ATmega88. Read Flash: 8192/8192 B Passed. real 0m8.504s user 0m0.015s sys 0m0.000s bash-2.02$ time avrspx -d20 -ph -rp >xx.rom Detected device is ATmega88. Read Flash: 8192/8192 B Passed. real 0m8.576s user 0m0.015s sys 0m0.000s bash-2.02$ time avrspx -d30 -ph -rp >xx.rom Detected device is ATmega88. Read Flash: 8192/8192 B Passed. real 0m8.718s user 0m0.015s sys 0m0.015s bash-2.02$ time avrspx -d40 -ph -rp >xx.rom Detected device is ATmega88. Read Flash: 8192/8192 B Passed. real 0m8.787s user 0m0.015s sys 0m0.000s bash-2.02$ time avrspx -d50 -ph -rp >xx.rom Detected device is ATmega88. Read Flash: 8192/8192 B Passed. real 0m17.042s user 0m0.015s sys 0m0.015s bash-2.02$ ---- * 新バージョン計測結果 [#b15fb1a6] - HIDaspのファームは高速化改造版です. - 書き込み&ベリファイ bash-2.02$ time ./hidspx -d0 -ph 8kB.hex Detected device is ATmega88. Erase Flash memory. Write Flash: 8192/8192 B Verify Flash: 8192/8192 B Passed. real 0m4.862s user 0m0.015s sys 0m0.015s bash-2.02$ time ./hidspx -d1 -ph 8kB.hex Detected device is ATmega88. Erase Flash memory. Write Flash: 8192/8192 B Verify Flash: 8192/8192 B Passed. real 0m7.057s user 0m0.015s sys 0m0.015s bash-2.02$ time ./hidspx -d4 -ph 8kB.hex Detected device is ATmega88. Erase Flash memory. Write Flash: 8192/8192 B Verify Flash: 8192/8192 B Passed. real 0m9.975s user 0m0.031s sys 0m0.000s bash-2.02$ time ./hidspx -d10 -ph 8kB.hex Detected device is ATmega88. Erase Flash memory. Write Flash: 8192/8192 B Verify Flash: 8192/8192 B Passed. real 0m15.610s user 0m0.015s sys 0m0.000s bash-2.02$ time ./hidspx -d20 -ph 8kB.hex Detected device is ATmega88. Erase Flash memory. Write Flash: 8192/8192 B Verify Flash: 8192/8192 B Passed. real 0m25.441s user 0m0.031s sys 0m0.000s bash-2.02$ time ./hidspx -d30 -ph 8kB.hex Detected device is ATmega88. Erase Flash memory. Write Flash: 8192/8192 B Verify Flash: 8192/8192 B Passed. real 0m35.030s user 0m0.015s sys 0m0.000s bash-2.02$ time ./hidspx -d40 -ph 8kB.hex Detected device is ATmega88. Erase Flash memory. Write Flash: 8192/8192 B Verify Flash: 8192/8192 B Passed. real 0m44.771s user 0m0.015s sys 0m0.015s bash-2.02$ time ./hidspx -d50 -ph 8kB.hex Detected device is ATmega88. Erase Flash memory. Write Flash: 8192/8192 B Verify Flash: 8192/8192 B Passed. real 0m54.396s user 0m0.031s sys 0m0.000s bash-2.02$ ---- - 読み出し bash-2.02$ time ./hidspx -d0 -ph -rp >XX.hex Detected device is ATmega88. Read Flash: 8192/8192 B Passed. real 0m2.223s user 0m0.015s sys 0m0.015s bash-2.02$ time ./hidspx -d1 -ph -rp >XX.hex Detected device is ATmega88. Read Flash: 8192/8192 B Passed. real 0m3.123s user 0m0.015s sys 0m0.015s bash-2.02$ time ./hidspx -d4 -ph -rp >XX.hex Detected device is ATmega88. Read Flash: 8192/8192 B Passed. real 0m4.630s user 0m0.015s sys 0m0.000s bash-2.02$ time ./hidspx -d10 -ph -rp >XX.hex Detected device is ATmega88. Read Flash: 8192/8192 B Passed. real 0m7.434s user 0m0.015s sys 0m0.000s bash-2.02$ time ./hidspx -d20 -ph -rp >XX.hex Detected device is ATmega88. Read Flash: 8192/8192 B Passed. real 0m12.289s user 0m0.015s sys 0m0.000s bash-2.02$ time ./hidspx -d30 -ph -rp >XX.hex Detected device is ATmega88. Read Flash: 8192/8192 B Passed. real 0m17.140s user 0m0.015s sys 0m0.015s bash-2.02$ time ./hidspx -d40 -ph -rp >XX.hex Detected device is ATmega88. Read Flash: 8192/8192 B Passed. real 0m21.889s user 0m0.031s sys 0m0.000s bash-2.02$ time ./hidspx -d50 -ph -rp >XX.hex Detected device is ATmega88. Read Flash: 8192/8192 B Passed. real 0m26.719s user 0m0.015s sys 0m0.015s bash-2.02$ ----
タイムスタンプを変更しない
[[HIDasp高速化]] #contents ---- *HIDasp-0928版の実行速度(UHCIの場合) [#td3ee350] -FUSIONの効果測定 |コマンド |評価内容| FUSIONなし |FUSIONあり| |hidspx -d0 2kB.hex |2kB Write/Verify |2.72秒 |2.14秒(957B/秒)| |hidspx -d0 8kB.hex |8kB Write/Verify |6.57秒 |5.56秒(1.47kB/秒)| -条件:ターゲット=ATmega88(8kBの場合)ATtiny2313(2kBの場合) - マザー=i815 ハブ無し直結。 -ログ -2kB書き込み. FUSION無し. bash-3.2$ time ./hidspx.exe -ph -d0 2kb.hex Detected device is ATtiny2313. Erase Flash memory. Write Flash: 2048/2048 B Verify Flash: 2048/2048 B Passed. real 0m2.722s user 0m0.020s sys 0m0.030s -2kB書き込み. FUSIONあり. bash-3.2$ time ./hidspx1.exe -ph -d0 2kB.hex Detected device is ATtiny2313. Erase Flash memory. Write Flash: 2048/2048 B Verify Flash: 2048/2048 B Passed. real 0m2.144s user 0m0.040s sys 0m0.010s -2kB読み出し. bash-3.2$ time ./hidspx.exe -ph -d0 -rp >out.hex Detected device is ATtiny2313. Read Flash: 2048/2048 B Passed. real 0m1.269s user 0m0.030s sys 0m0.030s -8kB書き込み. FUSIONなし. bash-3.2$ time ./hidspx.exe -ph -d0 8kB.hex Detected device is ATmega88. Erase Flash memory. Write Flash: 8192/8192 B Verify Flash: 8192/8192 B Passed. real 0m6.570s user 0m0.020s sys 0m0.020s bash-3.2$ time ./hidspx1.exe -ph -d0 8kB.hex Detected device is ATmega88. Erase Flash memory. Write Flash: 8192/8192 B Verify Flash: 8192/8192 B Passed. -8kB書き込み. FUSIONあり. bash-3.2$ time ./hidspx1.exe -ph -d0 8kB.hex Detected device is ATmega88. Erase Flash memory. Write Flash: 8192/8192 B Verify Flash: 8192/8192 B Passed. real 0m5.558s user 0m0.020s sys 0m0.030s -8kB読み出し. bash-3.2$ time ./hidspx1.exe -ph -d0 -rp >out.hex Detected device is ATmega88. Read Flash: 8192/8192 B Passed. real 0m2.924s user 0m0.020s sys 0m0.020s bash-3.2$ *HIDasp-0928版の実行速度(参考:OHCIの場合) [#td3ee350] -FUSIONの効果測定およびUHCIとの速度比較 |コマンド |評価内容| FUSIONなし |FUSIONあり| |hidspx -d0 8kB.hex OHCI|8kB Write/Verify |3.80秒 |3.60秒(2.27kB/秒)| |hidspx -d0 8kB.hex UHCI(上の表から写し)|8kB Write/Verify |6.57秒 |5.56秒(1.47kB/秒)| -条件:ターゲット=ATmega88(8kBの場合)ATtiny2313(2kBの場合) - マザー=SiS USB1.1ハブ経由にて接続。 -UHCI(インテル、VIA系のUSBホストアダプタ)でも、間にUSB2.0ハブを入れると、OHCI並みの速度になるかもしれない(マイクロフレーム効果がある。%%未確認%% --一応SiSマザー+USB2.0ハブで確認。intelマザーでは未確認) --但し、ホストPCとUSB2.0ハブ間が480Mbps接続でないとマイクロフレームがサポートされない。 -ログ -8kB書き込み. FUSIONなし. bash-2.02$ time ./hidspx.exe -ph -d0 8kB.hex Detected device is ATmega88. Erase Flash memory. Write Flash: 8192/8192 B Verify Flash: 8192/8192 B Passed. real 0m3.799s user 0m0.015s sys 0m0.015s -8kB書き込み. FUSIONあり. bash-2.02$ time ./hidspx1.exe -ph -d0 8kB.hex Detected device is ATmega88. Erase Flash memory. Write Flash: 8192/8192 B Verify Flash: 8192/8192 B Passed. real 0m3.597s user 0m0.015s sys 0m0.000s -8kB読み出し bash-2.02$ time ./hidspx.exe -ph -d0 -rp >out.hex Detected device is ATmega88. Read Flash: 8192/8192 B Passed. real 0m1.772s user 0m0.015s sys 0m0.000s bash-2.02$ exit ---- *HIDasp-0926版の実行速度 [#td3ee350] |コマンド |評価内容| 改良前 |高速化後| |hidspx -d0 test.hex |8kB Write/Verify |10.94秒 |5.56秒(1.47kB/秒)| |hidspx -d0 -rp >XX.hex |8kB Read |8.39秒| 2.93秒(2.79kB/秒) | -条件:ターゲット=ATmega88(20MHz水晶) - マザー=i815 ハブ無し直結。 -ログ bash-3.2$ time avrspx.exe -d0 -rp >1 Detected device is ATmega88. Read Flash: 8192/8192 B Passed. real 0m2.934s user 0m0.020s sys 0m0.020s bash-3.2$ time avrspx.exe -d0 xx.hex Detected device is ATmega88. Erase Flash memory. Write Flash: 8192/8192 B Verify Flash: 8192/8192 B Passed. real 0m5.558s user 0m0.030s sys 0m0.020s bash-3.2$ -intelのUSBホストの場合は、あまり速度が出ないようです。 *HIDasp-0926版の実行速度(OHCIの場合) [#g0b8661b] |コマンド |評価内容| 改良前 |高速化後| |hidspx -d0 test.hex |8kB Write/Verify |10.94秒 |3.75秒(2.18kB/秒)| |hidspx -d0 -rp >XX.hex |8kB Read |8.39秒| 1.71秒(4.79kB/秒) | -条件:ターゲット=ATmega88(20MHz水晶) - マザー=SiS USB1.1ハブ経由にて接続。 -ログ bash-2.02$ time ./hidspx.exe -ph -d0 test.hex Detected device is ATmega88. Erase Flash memory. Write Flash: 8192/8192 B Verify Flash: 8192/8192 B Passed. real 0m3.753s user 0m0.031s sys 0m0.000s bash-2.02$ time ./hidspx.exe -ph -rp -d0 >xx.hex Detected device is ATmega88. Read Flash: 8192/8192 B Passed. real 0m1.707s user 0m0.015s sys 0m0.000s bash-2.02$ ---- |コマンド |評価内容|高速化後| |hidspx -d0 test.hex |2kB Write/Verify |1.30秒(1.58kB/秒)| |hidspx -d0 -rp >XX.hex |2kB Read |0.60秒(3.41kB/秒) | -条件:ターゲット=ATtiny2313(25MHz水晶) - マザー=SiS USB1.1ハブ経由にて接続。 -ログ bash-2.02$ time ./hidspx.exe -ph -d0 2k.hex Detected device is ATtiny2313. Erase Flash memory. Write Flash: 2048/2048 B Verify Flash: 2048/2048 B Passed. real 0m1.299s user 0m0.015s sys 0m0.000s bash-2.02$ time ./hidspx.exe -ph -d0 -rp >temp.hex Detected device is ATtiny2313. Read Flash: 2048/2048 B Passed. real 0m0.596s user 0m0.015s sys 0m0.000s bash-2.02$ -tiny2313では、むしろ接続のネゴシエーションとかRESET初期化で時間を取られている感じ。 -ATmega644基板を作りたくなった。作ったらまたベンチマーク猿になるに違いない。(<アホ) ---- *比較表 [#qea2497d] |コマンド |評価内容| 改良前 |高速化後| |hidspx -d0 -rp >XX.hex |8kB Read |8.39秒| 2.22秒 | |hidspx -d1 -rp >XX.hex |8kB Read |8.40秒| 3.12秒 | |hidspx -d4 -rp >XX.hex |8kB Read |8.39秒| 4.63秒 | |hidspx -d0 test.hex |8kB Write/Verify |10.94秒 |4.86秒(1.64kB/秒)| |hidspx -d1 test.hex |8kB Write/Verify |10.96秒 |7.06秒(1.13kB/秒)| |hidspx -d4 test.hex |8kB Write/Verify |13.26秒 |9.98秒(821B/秒)| 結局、'-d0'のときだけ2倍程度の改善でした。 *旧バージョン計測結果 [#f23df48a] bash-2.02$ gawk -f hexgen.awk -v size=8 -v fill=random > 8kB.hex bash-2.02$ ls -l avrspx.exe 08-09-20 15:03 51,200 avrspx.exe ---- - HIDaspのファームは旧バージョン(2007.3)です. - avrspx.exe は最新版です. - 書き込み&ベリファイ bash-2.02$ time avrspx -d0 -ph 8kB.hex hidasp_init()... OK. hidasp_program_enable() Detected device is ATmega88. Erase Flash memory. hidasp_program_enable() Write Flash: 8192/8192 B Verify Flash: 8192/8192 B Passed. real 0m10.944s user 0m0.015s sys 0m0.000s bash-2.02$ time avrspx -d1 -ph 8kB.hex hidasp_init()... OK. hidasp_program_enable() Detected device is ATmega88. Erase Flash memory. hidasp_program_enable() Write Flash: 8192/8192 B Verify Flash: 8192/8192 B Passed. real 0m10.961s user 0m0.015s sys 0m0.015s bash-2.02$ time avrspx -d4 -ph 8kB.hex hidasp_init()... OK. hidasp_program_enable() Detected device is ATmega88. Erase Flash memory. hidasp_program_enable() Write Flash: 8192/8192 B Verify Flash: 8192/8192 B Passed. real 0m13.269s user 0m0.015s sys 0m0.000s bash-2.02$ time avrspx -d10 -ph 8kB.hex hidasp_init()... OK. hidasp_program_enable() Detected device is ATmega88. Erase Flash memory. hidasp_program_enable() Write Flash: 8192/8192 B Verify Flash: 8192/8192 B Passed. real 0m18.622s user 0m0.015s sys 0m0.000s bash-2.02$ time avrspx -d50 -ph 8kB.hex hidasp_init()... OK. hidasp_program_enable() Detected device is ATmega88. Erase Flash memory. hidasp_program_enable() Write Flash: 8192/8192 B Verify Flash: 8192/8192 B Passed. real 1m1.109s user 0m0.015s sys 0m0.000s bash-2.02$ ---- - 読み出し bash-2.02$ time avrspx -d0 -ph -rp >xx.rom Detected device is ATmega88. Read Flash: 8192/8192 B Passed. real 0m8.393s user 0m0.015s sys 0m0.015s bash-2.02$ time avrspx -d1 -ph -rp >xx.rom Detected device is ATmega88. Read Flash: 8192/8192 B Passed. real 0m8.397s user 0m0.015s sys 0m0.015s bash-2.02$ time avrspx -d4 -ph -rp >xx.rom Detected device is ATmega88. Read Flash: 8192/8192 B Passed. real 0m8.392s user 0m0.015s sys 0m0.000s bash-2.02$ time avrspx -d10 -ph -rp >xx.rom Detected device is ATmega88. Read Flash: 8192/8192 B Passed. real 0m8.504s user 0m0.015s sys 0m0.000s bash-2.02$ time avrspx -d20 -ph -rp >xx.rom Detected device is ATmega88. Read Flash: 8192/8192 B Passed. real 0m8.576s user 0m0.015s sys 0m0.000s bash-2.02$ time avrspx -d30 -ph -rp >xx.rom Detected device is ATmega88. Read Flash: 8192/8192 B Passed. real 0m8.718s user 0m0.015s sys 0m0.015s bash-2.02$ time avrspx -d40 -ph -rp >xx.rom Detected device is ATmega88. Read Flash: 8192/8192 B Passed. real 0m8.787s user 0m0.015s sys 0m0.000s bash-2.02$ time avrspx -d50 -ph -rp >xx.rom Detected device is ATmega88. Read Flash: 8192/8192 B Passed. real 0m17.042s user 0m0.015s sys 0m0.015s bash-2.02$ ---- * 新バージョン計測結果 [#b15fb1a6] - HIDaspのファームは高速化改造版です. - 書き込み&ベリファイ bash-2.02$ time ./hidspx -d0 -ph 8kB.hex Detected device is ATmega88. Erase Flash memory. Write Flash: 8192/8192 B Verify Flash: 8192/8192 B Passed. real 0m4.862s user 0m0.015s sys 0m0.015s bash-2.02$ time ./hidspx -d1 -ph 8kB.hex Detected device is ATmega88. Erase Flash memory. Write Flash: 8192/8192 B Verify Flash: 8192/8192 B Passed. real 0m7.057s user 0m0.015s sys 0m0.015s bash-2.02$ time ./hidspx -d4 -ph 8kB.hex Detected device is ATmega88. Erase Flash memory. Write Flash: 8192/8192 B Verify Flash: 8192/8192 B Passed. real 0m9.975s user 0m0.031s sys 0m0.000s bash-2.02$ time ./hidspx -d10 -ph 8kB.hex Detected device is ATmega88. Erase Flash memory. Write Flash: 8192/8192 B Verify Flash: 8192/8192 B Passed. real 0m15.610s user 0m0.015s sys 0m0.000s bash-2.02$ time ./hidspx -d20 -ph 8kB.hex Detected device is ATmega88. Erase Flash memory. Write Flash: 8192/8192 B Verify Flash: 8192/8192 B Passed. real 0m25.441s user 0m0.031s sys 0m0.000s bash-2.02$ time ./hidspx -d30 -ph 8kB.hex Detected device is ATmega88. Erase Flash memory. Write Flash: 8192/8192 B Verify Flash: 8192/8192 B Passed. real 0m35.030s user 0m0.015s sys 0m0.000s bash-2.02$ time ./hidspx -d40 -ph 8kB.hex Detected device is ATmega88. Erase Flash memory. Write Flash: 8192/8192 B Verify Flash: 8192/8192 B Passed. real 0m44.771s user 0m0.015s sys 0m0.015s bash-2.02$ time ./hidspx -d50 -ph 8kB.hex Detected device is ATmega88. Erase Flash memory. Write Flash: 8192/8192 B Verify Flash: 8192/8192 B Passed. real 0m54.396s user 0m0.031s sys 0m0.000s bash-2.02$ ---- - 読み出し bash-2.02$ time ./hidspx -d0 -ph -rp >XX.hex Detected device is ATmega88. Read Flash: 8192/8192 B Passed. real 0m2.223s user 0m0.015s sys 0m0.015s bash-2.02$ time ./hidspx -d1 -ph -rp >XX.hex Detected device is ATmega88. Read Flash: 8192/8192 B Passed. real 0m3.123s user 0m0.015s sys 0m0.015s bash-2.02$ time ./hidspx -d4 -ph -rp >XX.hex Detected device is ATmega88. Read Flash: 8192/8192 B Passed. real 0m4.630s user 0m0.015s sys 0m0.000s bash-2.02$ time ./hidspx -d10 -ph -rp >XX.hex Detected device is ATmega88. Read Flash: 8192/8192 B Passed. real 0m7.434s user 0m0.015s sys 0m0.000s bash-2.02$ time ./hidspx -d20 -ph -rp >XX.hex Detected device is ATmega88. Read Flash: 8192/8192 B Passed. real 0m12.289s user 0m0.015s sys 0m0.000s bash-2.02$ time ./hidspx -d30 -ph -rp >XX.hex Detected device is ATmega88. Read Flash: 8192/8192 B Passed. real 0m17.140s user 0m0.015s sys 0m0.015s bash-2.02$ time ./hidspx -d40 -ph -rp >XX.hex Detected device is ATmega88. Read Flash: 8192/8192 B Passed. real 0m21.889s user 0m0.031s sys 0m0.000s bash-2.02$ time ./hidspx -d50 -ph -rp >XX.hex Detected device is ATmega88. Read Flash: 8192/8192 B Passed. real 0m26.719s user 0m0.015s sys 0m0.015s bash-2.02$ ----
テキスト整形のルールを表示する
ログインまたはアカウント作成