ΠΡΠ° ΡΡΠ°ΡΡΡ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ ΡΠ΅ΠΌΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ ΡΠ³ΡΠΎΠ·ΠΎΠΉ ΠΈΡΠΊΠ°ΠΆΠ΅Π½ΠΈΡ BIOS ΠΌΠ°ΡΠ΅ΡΠΈΠ½ΡΠΊΠΎΠΉ
ΠΏΠ»Π°ΡΡ Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΡΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌΠΈ. Π ΡΠ°Π½Π΅Π΅ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π΅
«ΠΡΠΎΠ½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠ΅ Π² BIOS ROM»
N1 ΠΈ N2 Π±ΡΠ»
ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠ΅ΠΉ Π·Π°ΠΏΠΈΡΡ Π² ΠΌΠΈΠΊΡΠΎΡΡ
Π΅ΠΌΡ BIOS, ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Ρ
ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΡ Π·Π°ΡΠΈΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠΌΠΈ ΠΌΠ°ΡΠ΅ΡΠΈΠ½ΡΠΊΠΈΡ
ΠΏΠ»Π°Ρ ΠΈ ΠΏΡΠΈΡΠΈΠ½Ρ, ΠΏΠΎ
ΠΊΠΎΡΠΎΡΡΠΌ Π΄Π°Π½Π½ΡΠ΅ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΡ ΡΠ°ΡΡΠΎ ΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ Π½Π΅ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΌΠΈ. ΠΠ°ΠΏΠΎΠΌΠ½ΠΈΠΌ, ΡΡΠΎ ΡΡΠ°
ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° Π±ΠΎΠ»Π΅Π΅ 10 Π»Π΅Ρ Π½Π°Π·Π°Π΄, ΠΊΠΎΠ³Π΄Π° Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π½ΠΎΡΠΈΡΠ΅Π»Ρ BIOS Π½Π°ΡΠ°Π»ΠΈ
ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠΈΠΊΡΠΎΡΡ
Π΅ΠΌΡ Flash ROM, Π΄ΠΎΠΏΡΡΠΊΠ°ΡΡΠΈΠ΅ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ Π±Π΅Π·
ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π²ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΡΡΠ²Π° Π² ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ
ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΠΈ (ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ) BIOS, ΠΏΡΠΈΠ²Π΅Π»Π° ΠΊ ΠΏΠΎΠ±ΠΎΡΠ½ΠΎΠΌΡ ΡΡΡΠ΅ΠΊΡΡ β ΡΠΈΡΠΊΡ Π΅Π³ΠΎ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠ³ΠΎ
ΠΈΠ»ΠΈ ΠΏΡΠ΅Π΄Π½Π°ΠΌΠ΅ΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΈΡΠΊΠ°ΠΆΠ΅Π½ΠΈΡ.
ΠΠ°Π·Π°Π»ΠΎΡΡ Π±Ρ, ΡΠ΅Π³ΠΎΠ΄Π½Ρ Π½Π° ΡΡΡ ΡΠ΅ΠΌΡ ΡΠΆΠ΅ Π²ΡΠ΅ ΡΠΊΠ°Π·Π°Π½ΠΎ. ΠΠΎ Π²ΡΠ΅ΠΌΡ ΠΈΠ΄Π΅Ρ, ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ
Π½ΠΎΠ²ΡΠ΅ ΡΠΈΠΏΡ ΠΌΠΈΠΊΡΠΎΡΡ
Π΅ΠΌ Flash ROM ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² Π΄Π»Ρ ΠΈΡ
ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ. ΠΡΠΎ
ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π°Π΅ΡΡΡ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ Π½ΠΎΠ²ΡΡ
ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π·Π°ΡΠΈΡΡ BIOS ΠΎΡ Π½Π΅ΡΠ°Π½ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ
Β
ΠΠ°ΠΊ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ, Π±ΡΡΡΡΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΌΠΈΠΊΡΠΎΡΡ
Π΅ΠΌΡ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠ³ΠΎ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡΡΠ΅Π³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π°
(Flash ROM), ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠΉ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π½ΠΎΡΠΈΡΠ΅Π»Ρ BIOS, ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅ Π²Π»ΠΈΡΠ΅Ρ Π½Π°
ΠΎΠ±ΡΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°. ΠΡΠΎ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ ΠΏΡΠΈ ΡΡΠ°ΡΡΠ΅
ΠΌΠ°ΡΠ΅ΡΠΈΠ½ΡΠΊΠΎΠΉ ΠΏΠ»Π°ΡΡ, BIOS ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ (ΠΈΠ»ΠΈ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°Π΅ΡΡΡ) Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΡΡ
ΠΏΠ°ΠΌΡΡΡ Shadow RAM ΠΈ ΠΏΡΠΈ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΈ ΠΊ BIOS Π² ΡΠ΅Π°Π½ΡΠ΅ ΠΠ‘, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ
1) ΠΠ° ΠΏΠ»Π°ΡΠ°Ρ
, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΡ
ΡΠΈΠ½Ρ ISA, ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π»ΠΈΡΡ ΠΌΠΈΠΊΡΠΎΡΡ
Π΅ΠΌΡ ΠΏΠΎΡΡΠΎΡΠ½Π½ΡΡ
Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡΡΠΈΡ
ΡΡΡΡΠΎΠΉΡΡΠ² Ρ ΡΠ°Π·Π΄Π΅Π»ΡΠ½ΡΠΌΠΈ Π»ΠΈΠ½ΠΈΡΠΌΠΈ Π°Π΄ΡΠ΅ΡΠ°, Π΄Π°Π½Π½ΡΡ
ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ. ΠΡΠΈ
ΡΡΠΎΠΌ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ°Π·ΡΡΠ΄Π° Π°Π΄ΡΠ΅ΡΠ° ΠΈ Π΄Π°Π½Π½ΡΡ
, Π° ΡΠ°ΠΊΠΆΠ΅ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΈΠ³Π½Π°Π»Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ
(ΡΡΠ΅Π½ΠΈΠ΅, Π·Π°ΠΏΠΈΡΡ) ΡΡΠ΅Π±ΠΎΠ²Π°Π»ΡΡ ΡΠ²ΠΎΠΉ ΠΏΡΠΎΠ²ΠΎΠ΄, ΡΠΎΡΠ½Π΅Π΅ ΠΏΠ΅ΡΠ°ΡΠ½ΡΠΉ ΠΏΡΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊ Π½Π° ΠΏΠ»Π°ΡΠ΅.
2) Π‘ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ ΡΠΈΠΏΡΠ΅ΡΠΎΠ² Intel 810, 815, Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ «Ρ
Π°Π±ΠΎΠ²ΠΎΠΉ» Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ,
ΡΠΈΠ½Π° ISA ΡΡΠ»Π° Π² ΠΏΡΠΎΡΠ»ΠΎΠ΅. Π ΡΠ΄ ΡΡΡΡΠΎΠΉΡΡΠ² ΠΌΠ°ΡΠ΅ΡΠΈΠ½ΡΠΊΠΎΠΉ ΠΏΠ»Π°ΡΡ, ΡΠ°Π½Π΅Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΡΡ
ΠΊ
ISA (ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ Π³ΠΈΠ±ΠΊΠΈΡ
Π΄ΠΈΡΠΊΠΎΠ², ΠΏΠΎΡΡΡ COM ΠΈ LPT, ΠΌΠΈΠΊΡΠΎΡΡ
Π΅ΠΌΠ° BIOS), «ΠΏΠ΅ΡΠ΅Π΅Ρ
Π°Π»ΠΈ» Π½Π°
ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Low Pin Count ΠΈΠ»ΠΈ LPC, Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΈΡΡΡ ΠΊΠ°ΠΊ «ΠΌΠ°Π»ΠΎΠ΅
ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΈΠ³Π½Π°Π»ΠΎΠ²». Π‘ΠΈΠ³Π½Π°Π»Ρ Π°Π΄ΡΠ΅ΡΠ°, Π΄Π°Π½Π½ΡΡ
ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π² ΡΡΠΎΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅
ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ ΠΏΠΎ ΠΏΡΡΠΈ Π»ΠΈΠ½ΠΈΡΠΌ (Π½Π΅ ΡΡΠΈΡΠ°Ρ ΡΠΈΠ³Π½Π°Π»ΠΎΠ² ΡΠ±ΡΠΎΡΠ°, ΡΠ°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π»ΠΈΠ½ΠΈΠΉ
ΠΏΠΈΡΠ°Π½ΠΈΡ), Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΌΡΠ»ΡΡΠΈΠΏΠ»Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΠΈΠΊΡΠΎΡΡ
Π΅ΠΌΡ BIOS, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅
Π² ΡΠ°ΠΊΠΈΡ
ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°Ρ
, ΠΈΠ½ΠΎΠ³Π΄Π° Π½Π°Π·ΡΠ²Π°ΡΡ Firmware Hub ΠΈΠ»ΠΈ FWH. ΠΡΠΈΠΌΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
ΡΡΠΈΡΠ°Π½ΠΈΡ ΠΈ Π·Π°ΠΏΠΈΡΠΈ ΠΌΠΈΠΊΡΠΎΡΡ
Π΅ΠΌΡ BIOS, ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π² ΡΠ°Π½Π΅Π΅ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½ΠΎΠΉ ΡΡΠ°ΡΡΠ΅
«ΠΡΠΎΠ½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠ΅ Π² BIOS ROM» N1 ΠΈ N2″ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ ΡΠ°ΠΊΠΈΡ
ΠΏΠ»Π°ΡΡΠΎΡΠΌ.
3) ΠΠ°ΡΠΈΠ½Π°Ρ Ρ ΡΠΈΠΏΡΠ΅ΡΠ° Intel 945, Π² ΡΠΎΡΡΠ°Π² «ΡΠΆΠ½ΠΎΠ³ΠΎ ΠΌΠΎΡΡΠ°» Π²ΠΊΠ»ΡΡΠ΅Π½ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ
ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠΈΠ½Ρ Serial Peripheral Interface ΠΈΠ»ΠΈ SPI,
ΠΡΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ LPC ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ ΡΠΈΠΏΡΠ΅ΡΠ°ΠΌΠΈ ΠΈ
ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΌΠ°ΡΠ΅ΡΠΈΠ½ΡΠΊΠΎΠΉ ΠΏΠ»Π°ΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΌΠΈΠΊΡΠΎΡΡ
Π΅ΠΌΡ BIOS
ΠΊΠ°ΠΊ LPC, ΡΠ°ΠΊ ΠΈ SPI. Π‘ΡΠ΅ΡΠ° ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° SPI Π½Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ
ΠΌΠ°ΡΠ΅ΡΠΈΠ½ΡΠΊΠΈΠΌΠΈ ΠΏΠ»Π°ΡΠ°ΠΌΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΎΠ². ΠΠ½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠΈΡΠ°ΡΠ΅Π»Ρ ΠΌΠΎΠ³ ΠΎΠ±ΡΠ°ΡΠΈΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π°
ΡΠΎ, ΡΡΠΎ ΠΈΠ·-Π·Π° ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄Π° ΠΊ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠΌΡ ΡΠΎΡΠΌΠ°ΡΡ Π΄Π°Π½Π½ΡΡ
, ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΠΎΠΏΠΈΡΠ°Π½Π½ΡΡ
ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π±ΠΎΠ»ΡΡΠ΅ ΡΠ°ΠΊΡΠΎΠ² Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΡΡΠ΅Π½ΠΈΡ ΠΈ Π·Π°ΠΏΠΈΡΠΈ,
ΡΠ΅ΠΌ Π΅Π³ΠΎ ΠΏΡΠ΅Π΄ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΈΠΊ, ΡΡΠΎ ΡΡΠ΅Π²Π°ΡΠΎ ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π±ΡΡΡΡΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ. ΠΠΎ ΡΡΠΎΠ³ΠΎ Π½Π΅
ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ ΠΎΠ±ΡΡΠΎΡΡΠ΅Π»ΡΡΡΠ²ΠΎ ΠΊΠΎΠΌΠΏΠ΅Π½ΡΠΈΡΡΠ΅ΡΡΡ ΡΠΎΡΡΠΎΠΌ ΡΠ°ΡΡΠΎΡΡ ΠΈ
ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΡΠΎΡΠΌΠ°ΡΠΎΠ² Π΄Π°Π½Π½ΡΡ
. Π¨ΠΈΠ½Π° ISA ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π° ΡΠ°ΡΡΠΎΡΠ°Ρ
5-8MHz, LPC Π½Π°
Β
ΠΠΈΠΊΡΠΎΡΡ
Π΅ΠΌΡ SPI Flash, Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ SST25VF080B, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΡΠΈ ΡΠΈΠ³Π½Π°Π»Π° Π΄Π»Ρ
ΠΏΡΠΈΠ΅ΠΌΠ° ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ
. SCK (Serial Clock) β Π²Ρ
ΠΎΠ΄ Π΄Π»Ρ ΡΠ°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ
ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΡ
ΠΈΠ»ΠΈ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅ΠΌΡΡ
Π΄Π°Π½Π½ΡΡ
. SI (Serial Input) β Π²Ρ
ΠΎΠ΄ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ
Π΄Π°Π½Π½ΡΡ
ΠΎΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° ΠΊ ΠΌΠΈΠΊΡΠΎΡΡ
Π΅ΠΌΠ΅, ΠΏΠΎ ΡΡΠΎΠΉ Π»ΠΈΠ½ΠΈΠΈ ΠΏΠΎΠ±ΠΈΡΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ Π°Π΄ΡΠ΅Ρ,
Π΄Π°Π½Π½ΡΠ΅ Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈ, ΠΈ ΠΊΠΎΠ΄Ρ ΠΊΠΎΠΌΠ°Π½Π΄ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΌΠΈΠΊΡΠΎΡΡ
Π΅ΠΌΠΎΠΉ. SO (Serial Output) β
Π²ΡΡ
ΠΎΠ΄ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ
ΠΎΡ ΠΌΠΈΠΊΡΠΎΡΡ
Π΅ΠΌΡ ΠΊ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ, ΠΏΠΎ ΡΡΠΎΠΉ Π»ΠΈΠ½ΠΈΠΈ ΠΏΠΎΠ±ΠΈΡΠ½ΠΎ
ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ ΡΠΈΡΠ°Π΅ΠΌΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ ΠΌΠΈΠΊΡΠΎΡΡ
Π΅ΠΌΡ.
ΠΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΠΌΠΈΠΊΡΠΎΡΡ
Π΅ΠΌΠΎΠΉ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄, ΠΈΠ½ΠΈΡΠΈΠΈΡΡΡΡΠΈΡ
ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ
ΡΡΠ΅Π½ΠΈΡ ΠΈ Π·Π°ΠΏΠΈΡΠΈ Π΄Π°Π½Π½ΡΡ
, ΡΡΠΈΡΠ°Π½ΠΈΡ, ΡΡΠ΅Π½ΠΈΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ² ΠΌΠΈΠΊΡΠΎΡΡ
Π΅ΠΌΡ, ΡΡΠ΅Π½ΠΈΡ ΠΈ
Π·Π°ΠΏΠΈΡΠΈ ΡΠ΅Π³ΠΈΡΡΡΠ° ΡΡΠ°ΡΡΡΠ° ΠΈ Ρ.ΠΏ.
ΠΠ°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π²ΠΎΡΡΠΌΠΈ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠΎΠ² ΠΌΠΈΠΊΡΠΎΡΡ
Π΅ΠΌΡ, ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π²ΡΠ΅Ρ
ΠΊΠΎΠΌΠ°Π½Π΄, Π°
ΡΠ°ΠΊΠΆΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ Π² [5].
Β
ΠΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ SPI, Π²Ρ
ΠΎΠ΄ΡΡΠΈΠΉ Π² ΡΠΎΡΡΠ°Π² «ΡΠΆΠ½ΠΎΠ³ΠΎ ΠΌΠΎΡΡΠ°» Intel ICH8, ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π±ΠΎΠ»Π΅Π΅
ΠΠ°ΠΏΠΎΠΌΠ½ΠΈΠΌ, ΡΡΠΎ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΌΠΈΠΊΡΠΎΡΡ
Π΅ΠΌΠ΅ BIOS (Π½Π΅ ΠΏΡΡΠ°ΡΡ Ρ ΠΎΠ±Π»Π°ΡΡΡΡ
Shadow RAM) ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΠΎΠΊΠ½Π°, ΠΏΡΠΈΠΌΡΠΊΠ°ΡΡΠ΅Π³ΠΎ ΠΊ Π²Π΅ΡΡ
Π½Π΅ΠΉ Π³ΡΠ°Π½ΠΈΡΠ΅
Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° 0-4GB. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Flash ROM ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ 1 ΠΠ±Π°ΠΉΡ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅
FFF00000h-FFFFFFFFh. Π ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°Ρ
, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΡ
ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ISA ΠΈ LPC, ΡΠ΅ΡΠ΅Π· ΡΠΎΡ
ΠΆΠ΅ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½, ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΡΡΠΈΡΠ°Π½ΠΈΡ ΠΈ Π·Π°ΠΏΠΈΡΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ°
Π ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°Ρ
Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°ΠΌΠΈ ISA ΠΈ LPC, ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄ Π²ΡΠΏΠΎΠ»Π½ΡΠ»Π°ΡΡ ΠΏΡΡΠ΅ΠΌ
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ² Software Sequencing Flash Status ΠΈ
Software Sequencing Flash Control ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅. Π Π΅Π³ΠΈΡΡΡ Software Sequencing Flash
Status ΠΈΠΌΠ΅Π΅Ρ ΡΠ°Π·ΡΡΠ΄Π½ΠΎΡΡΡ 8 Π±ΠΈΡ ΠΈ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ ΠΏΠΎ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΡ 90h ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ
Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ Π°Π΄ΡΠ΅ΡΠ° ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° SPI (SPIBAR+90h). Π Π΅Π³ΠΈΡΡΡ Software Sequencing Flash
Control ΠΈΠΌΠ΅Π΅Ρ ΡΠ°Π·ΡΡΠ΄Π½ΠΎΡΡΡ 24 Π±ΠΈΡ ΠΈ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ ΠΏΠΎ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΡ 91h. ΠΡΠΈ
ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°, ΠΊ Π΄Π²ΡΠΌ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌ ΡΠ΅Π³ΠΈΡΡΡΠ°ΠΌ ΡΠ΄ΠΎΠ±Π½ΠΎ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΎΠ΄Π½ΠΎΠΉ
32-Π±ΠΈΡΠ½ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ΅ΠΉ ΡΡΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ Π·Π°ΠΏΠΈΡΠΈ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 90h. ΠΡΠΈ ΡΡΠΎΠΌ Π±ΠΈΡΡ 0-7
ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ ΡΠ΅Π³ΠΈΡΡΡΡ Software Sequencing Flash Status, Π° Π±ΠΈΡΡ 8-31 — ΡΠ΅Π³ΠΈΡΡΡΡ
Software Sequencing Flash Control. ΠΠΌΠ΅Π½Π½ΠΎ ΡΠ°ΠΊΠΎΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π΄ΠΎΡΡΡΠΏΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²
Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ½ΡΡ
ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ
, ΠΏΡΠΈΠ»Π°Π³Π°Π΅ΠΌΡΡ
ΠΊ ΡΡΠ°ΡΡΠ΅. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π±ΠΈΡΠΎΠ² Π²
ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ Π½ΡΠΌΠ΅ΡΠ°ΡΠΈΠ΅ΠΉ, ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠΉ Π²ΡΡΠ΅.
ΠΠΈΡ 0 (SPI Cycle In Progress) β ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΌΠΎΠΌΠ΅Π½ΡΠ°
Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π½Π° ΡΠΈΠ½Π΅ SPI. «0» ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΡΠΈΠ½Π° SPI ΡΠ²ΠΎΠ±ΠΎΠ΄Π½Π° ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°
ΠΠΈΡ 1 (Reserved) β Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ.
ΠΠΈΡ 2 (Cycle Done Status) β ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π² «1» Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎ, ΠΏΡΠΈ
Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π½Π° ΡΠΈΠ½Π΅ SPI. ΠΠ»Ρ ΡΠ±ΡΠΎΡΠ°, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π·Π°ΠΏΠΈΡΠ°ΡΡ «1» Π²
Π΄Π°Π½Π½ΡΠΉ Π±ΠΈΡ.
ΠΠΈΡ 3 (Flash Cycle Error) β ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π² «1» Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎ, Π΅ΡΠ»ΠΈ ΠΏΡΠΈ
Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΈΠΌΠ΅Π»ΠΈ ΠΌΠ΅ΡΡΠΎ ΠΎΡΠΈΠ±ΠΊΠΈ: Π·Π°ΡΠΈΡΠ° Π·Π°ΠΏΠΈΡΠΈ ΠΈΠ»ΠΈ ΠΏΠΎΠΏΡΡΠΊΠ° Π·Π°ΠΏΡΡΠΊΠ°
ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π΄ΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ. ΠΠ»Ρ ΡΠ±ΡΠΎΡΠ°, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π°
Π·Π°ΠΏΠΈΡΠ°ΡΡ «1» Π² Π΄Π°Π½Π½ΡΠΉ Π±ΠΈΡ.
ΠΠΈΡ 4 (Access Error Log) β ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π² «1» Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎ, Π΅ΡΠ»ΠΈ ΠΈΠΌΠ΅Π»ΠΈ
ΠΌΠ΅ΡΡΠΎ ΠΏΠΎΠΏΡΡΠΊΠΈ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ ΠΌΠΈΠΊΡΠΎΡΡ
Π΅ΠΌΠ΅ BIOS, Π½Π°ΡΡΡΠ°ΡΡΠΈΠ΅ ΠΏΡΠ°Π²Π° Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π·Π°Π΄Π°Π½Π½ΡΠΌ
Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°ΠΌ Π°Π΄ΡΠ΅ΡΠΎΠ², Π·Π°ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ
ΡΠ΅Π³ΠΈΡΡΡΠ°Ρ
ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°
SPI.
ΠΠΈΡΡ 5-7 (Reserved) β Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ.
ΠΠΈΡ 8 (Reserved) β Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ. ΠΠ°ΠΊ Π±ΡΠ»ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π²ΡΡΠ΅, Π±ΠΈΡΡ 8-31
ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ 32-Π±ΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π±ΠΈΡΠ°ΠΌ 0-23 ΡΠ΅Π³ΠΈΡΡΡΠ° Software
Sequencing Flash Control.
ΠΠΈΡ 9 (SPI Cycle Go) β Π·Π°ΠΏΡΡΠΊ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π½Π° SPI. ΠΠ°ΠΏΠΈΡΡ «1» Π² ΡΡΠΎΡ Π±ΠΈΡ
Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, ΡΠΈΠΏ ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ
ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ΠΌ Π±ΠΈΡΠΎΠ² 10-31 ΡΡΠΎΠ³ΠΎ ΠΆΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠ°.
ΠΠΈΡ 10 (Atomic Cycle Sequence) β ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ ΠΏΡΠΈΠΊΠ°Π·Π° Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅
ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, Π·Π°ΠΏΠΈΡΡ «1» Π² ΡΡΠΎΡ Π±ΠΈΡ Π·Π°ΠΏΡΠ΅ΡΠ°Π΅Ρ Π²Π½Π΅ΡΠ½ΠΈΠΌ ΡΠΎΠ±ΡΡΠΈΡΠΌ Π²ΠΌΠ΅ΡΠΈΠ²Π°ΡΡΡΡ Π²
ΠΏΡΠΎΡΠ΅ΡΡΡ, ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΡΡΠΈΠ΅ Π½Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ SPI Π΄ΠΎ ΡΠ΅Ρ
ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡΠ΄ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Ρ ΡΡΠΈ
ΡΠ°Π·Ρ: ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° ΠΏΡΠ΅ΡΠΈΠΊΡΠ½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅
Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
ΠΡΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΡΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠΎΠ² Π·Π°ΡΠΈΡΡ ΠΎΡ
ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠ³ΠΎ ΠΈΡΠΊΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΠΌΠΈΠΊΡΠΎΡΡ
Π΅ΠΌΡ BIOS. Π’Π°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠ΅ ΠΏΡΠ΅ΡΠΈΠΊΡΠ½ΡΠ΅
ΠΊΠΎΠΌΠ°Π½Π΄Ρ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Write Enable) Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΡΠ΅Π΄ΡΠ΅ΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ, ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΠΈΠΌ
ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΌΠΈΠΊΡΠΎΡΡ
Π΅ΠΌΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Write, Erase). ΠΠΎΠ»ΡΡΠΈΠ² ΠΊΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ
«1» Π² Π΄Π°Π½Π½ΠΎΠΌ Π±ΠΈΡΠ΅, Π²ΡΠ΅ ΡΡΠΈ ΡΠ°Π·Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎ, Π±Π΅Π·
Π²ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΡΡΠ²Π° ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° Π΄ΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
ΠΠΈΡ 11 (Sequence Prefix Opcode Pointer) β ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡΠ΅ΡΠΈΠΊΡΠ½ΡΡ
ΠΊΠΎΠΌΠ°Π½Π΄ (ΠΊΠΎΠ³Π΄Π° Π±ΠΈΡ 10 ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π² «1», ΡΠΌ. Π²ΡΡΠ΅), ΡΡΠΎΡ Π±ΠΈΡ Π²ΡΠ±ΠΈΡΠ°Π΅Ρ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π΄Π²ΡΡ
Π±Π°ΠΉΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π½ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠ΅ΡΠΈΠΊΡΠ½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ ΠΌΠΈΠΊΡΠΎΡΡ
Π΅ΠΌΡ SPI
Flash. ΠΡΠΈ «0» Π²ΡΠ±ΠΈΡΠ°Π΅ΡΡΡ ΠΌΠ»Π°Π΄ΡΠΈΠΉ Π±Π°ΠΉΡ ΡΠ΅Π³ΠΈΡΡΡΠ° Prefix Opcode Configuration
Register, ΠΏΡΠΈ «1» β ΡΡΠ°ΡΡΠΈΠΉ.
ΠΠΈΡ 12-14 (Cycle Opcode Pointer) β ΡΡΠΎ Π±ΠΈΡΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ»Π΅ Π²ΡΠ±ΠΈΡΠ°Π΅Ρ ΠΎΠ΄ΠΈΠ½ ΠΈΠ·
Π²ΠΎΡΡΠΌΠΈ Π±Π°ΠΉΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π½ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ ΠΌΠΈΠΊΡΠΎΡΡ
Π΅ΠΌΡ
SPI Flash. Π£ΠΊΠ°Π·Π°Π½Π½ΡΠ΅ Π±Π°ΠΉΡΡ Π½Π°Ρ
ΠΎΠ΄ΡΡΡΡ Π² ΡΠ΅Π³ΠΈΡΡΡΠ΅ Opcode Menu Configuration
Register.
ΠΠΈΡ 15 (Reserved) β Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ.
ΠΠΈΡΡ 16-21 (Data Byte Count) β Π·Π°Π΄Π°Π΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π±Π°ΠΉΡΠΎΠ² Π΄Π°Π½Π½ΡΡ
Π΄Π»Ρ
ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΡΡΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ Π·Π°ΠΏΠΈΡΠΈ Π΄Π°Π½Π½ΡΡ
. ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ°Π²Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ ΠΏΠ»ΡΡ 1.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ: 000000b=1 Π±Π°ΠΉΡ, 111111b=64 Π±Π°ΠΉΡΠ°.
ΠΠΈΡ 22 (Data Cycle) β ΠΠ°Π΄Π°Π΅Ρ Π½Π°Π»ΠΈΡΠΈΠ΅ Π±Π°ΠΉΡΠΎΠ² Π΄Π°Π½Π½ΡΡ
Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅. «0»
ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, Π΄Π°Π½Π½ΡΠ΅ ΠΎΡΡΡΡΡΡΠ²ΡΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΡΡΠΈΡΠ°Π½ΠΈΡ), «1» ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ
Π΄Π°Π½Π½ΡΠ΅ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΡΡΠ΅Π½ΠΈΡ ΡΡΠ°ΡΡΡΠ°, Π΄Π°Π½Π½ΡΠΌΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ
ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠ° ΡΡΠ°ΡΡΡΠ°).
ΠΠΈΡ 23 (SPI SMI# Enable) β ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°ΡΡ Π·Π°ΠΏΡΠΎΡ Π½Π° ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅
System Management Interrupt ΠΏΠΎΡΠ»Π΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, 0=Π·Π°ΠΏΡΠ΅ΡΠ΅Π½ΠΎ,
1=ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΎ.
ΠΠΈΡΡ 24-26 (SPI Cycle Frequency) β Π·Π°Π΄Π°Π΅Ρ ΡΠ°ΡΡΠΎΡΡ Π±ΠΈΡΠΎΠ²ΠΎΠΉ
ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π½Π° SPI. ΠΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π²Π° Π·Π½Π°ΡΠ΅Π½ΠΈΡ
(ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ Π·Π°ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½Ρ): 000b=20MHz, 001b=33MHz.
ΠΠΈΡΡ 27-31 (Reserved) β Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ.
ΠΡΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π²ΠΎΡΡΠΌΠΈ Π±Π°ΠΉΡΠΎΠ² ΡΠ΅Π³ΠΈΡΡΡΠ° Opcode Menu
Configuration Register ΠΈ Π΄Π²ΡΡ
Π±Π°ΠΉΡΠΎΠ² ΡΠ΅Π³ΠΈΡΡΡΠ° Prefix Opcode Configuration
Register Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ BIOS ΠΏΡΠΈ ΡΡΠ°ΡΡΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ. ΠΠΎΡΡΠΎΠΌΡ, ΠΏΡΠΈ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π±ΠΈΡΠΎΠ²ΡΡ
ΠΏΠΎΠ»Π΅ΠΉ, Π²ΡΠ±ΠΈΡΠ°ΡΡΠΈΡ
ΠΊΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈ ΠΊΠΎΠ΄ ΠΏΡΠ΅ΡΠΈΠΊΡΠ°, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΡΠΎΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°ΡΡ
ΡΠΊΠ°Π·Π°Π½Π½ΡΠ΅ ΡΠ΅Π³ΠΈΡΡΡΡ ΠΈ Π½Π°ΠΉΡΠΈ, ΠΏΠΎΠ΄ ΠΊΠ°ΠΊΠΈΠΌ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ Π² Π½ΠΈΡ
Π½Π°Ρ
ΠΎΠ΄ΡΡΡΡ ΠΊΠΎΠ΄Ρ ΡΡΠ΅Π±ΡΠ΅ΠΌΡΡ
ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ. ΠΠ°ΡΠΈΠ°Π½ΡΡ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ°Π·Π½ΡΠΌΠΈ, Π΄Π°ΠΆΠ΅ ΡΡΠ΅Π΄ΠΈ ΠΌΠ°ΡΠ΅ΡΠΈΠ½ΡΠΊΠΈΡ
ΠΏΠ»Π°Ρ
ΠΎΠ΄Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΡ
ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ BIOS. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠΈΠ»ΠΈΡΡ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΠΈ
Flash ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠΊΠ°Π·Π°Π½Π½ΡΡ
ΡΠ΅Π³ΠΈΡΡΡΠΎΠ².
ΠΠ΅ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π²ΡΠ΅Ρ
ΡΠ΅Π³ΠΈΡΡΡΠΎΠ² ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° SPI ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡΡ Π² [3].
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΌΠΈΠΊΡΠΎΡΡ
Π΅ΠΌΡ SPI Flash ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡΡ Π² [4-7]. ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΠΈΠ·Π»ΠΎΠΆΠ΅Π½Π½Π°Ρ
Π²ΡΡΠ΅, ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΎΠΈΠ»Π»ΡΡΡΡΠΈΡΠΎΠ²Π°Π½Π° Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ½ΡΠΌΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ, ΠΏΡΠΈΠ»Π°Π³Π°Π΅ΠΌΡΠΌΠΈ ΠΊ ΡΡΠ°ΡΡΠ΅.
Β
Π ΠΎΠ±ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅, Π΄Π»Ρ ΠΈΠ½ΠΈΡΠΈΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΡΡΠΈΡΠ°Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΠΈ ΠΌΠΈΠΊΡΠΎΡΡ
Π΅ΠΌΡ
BIOS, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ΅ΡΡΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ:
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΡΡΠΈ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ, ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΡ Π·Π°ΡΠΈΡΡ, ΠΏΡΠ΅ΠΏΡΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΈΡ
Π½Π΅ΡΠ°Π½ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ ΡΡΠΈΡ
ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠΎΠ².
ΠΠ°ΠΊ Π±ΡΠ»ΠΎ ΡΠΊΠ°Π·Π°Π½ΠΎ Π²ΡΡΠ΅, ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π·Π°ΠΏΠΈΡΠΈ ΠΈ ΡΡΠΈΡΠ°Π½ΠΈΡ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ
Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΌΠΈΠΊΡΠΎΡΡ
Π΅ΠΌΠ΅ SPI Flash ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ² ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°
SPI, Π±Π΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° Π°Π΄ΡΠ΅ΡΠΎΠ², Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΎΠ±ΡΠ°Π· ΠΌΠΈΠΊΡΠΎΡΡ
Π΅ΠΌΡ
BIOS. ΠΠΎΡΡΠΎΠΌΡ ΠΏΠ΅ΡΠ΅Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΡΠΈΠΏΡΠ΅ΡΠ° Π΄Π»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ FFF00000h-FFFFFFFFh
Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π½Π΅ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ.
ΠΠ°ΡΠΈΡΠ° Π·Π°ΠΏΠΈΡΠΈ, ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΠΌΠ°Ρ «ΡΠΆΠ½ΡΠΌ ΠΌΠΎΡΡΠΎΠΌ» Intel ICH8 ΠΏΠΎΡΡΡΠΎΠ΅Π½Π° ΠΏΠΎ ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅
ΡΡ
Π΅ΠΌΠ΅, ΠΊΠ°ΠΊ ΠΈ Π² ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°Ρ
ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΡ
ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠΉ, ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π°Π΄ΡΠ΅ΡΠ°
ΡΠ΅Π³ΠΈΡΡΡΠΎΠ². Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° ΡΠ½ΡΡΠΈΡ ΡΡΠΎΠΉ Π·Π°ΡΠΈΡΡ ΠΏΠΎΠ΄ΠΎΠ±Π½Π° ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ΅
ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Π½ΠΎΠΉ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΡ
ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡΡ
. ΠΠΎΡΡΡΠΏΠΎΠΌ ΠΊ ΠΌΠΈΠΊΡΠΎΡΡ
Π΅ΠΌΠ΅ BIOS ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ
8-Π±ΠΈΡΠ½ΡΠΉ ΡΠ΅Π³ΠΈΡΡΡ BIOS_CNTL (Π΅Π³ΠΎ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΌ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅
Bus=0, Device=1Fh, Function=0, Register=DCh). ΠΠΈΡ 0 ΡΡΠΎΠ³ΠΎ ΡΠ΅Π³ΠΈΡΡΡΠ° (Π±ΠΈΡ BIOSWE,
BIOS Write Enable) ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ Π·Π°ΠΏΠΈΡΠΈ Π² ΠΌΠΈΠΊΡΠΎΡΡ
Π΅ΠΌΡ BIOS, 0=Π·Π°ΠΏΡΠ΅ΡΠ΅Π½Π°,
1=ΡΠ°Π·ΡΠ΅ΡΠ΅Π½Π°. ΠΠΈΡ 1 ΡΠΎΠ³ΠΎ ΠΆΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠ° (Π±ΠΈΡ BLE, BIOS Lock Enable) ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ
ΠΏΠ΅ΡΠ΅Ρ
Π²Π°Ρ Π½Π΅ΡΠ°Π½ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π²ΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π·Π°ΡΠΈΡΡ. ΠΡΠ»ΠΈ Π±ΠΈΡ BLE=1, ΡΠΎ ΠΏΡΠΈ ΠΏΠΎΠΏΡΡΠΊΠ΅
ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π±ΠΈΡ BIOSWE=1 Π±ΡΠ΄Π΅Ρ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡΡΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅ SMI (System Management
Interrupt) Ρ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ, Π²Ρ
ΠΎΠ΄ΡΡΠ΅ΠΉ Π² ΡΠΎΡΡΠ°Π² BIOS. ΠΡΠΈΡΠ΅ΠΌ, Π΅ΡΠ»ΠΈ
BIOS ΠΏΡΠΈ ΡΡΠ°ΡΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡ Π±ΠΈΡ BLE=1, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎ ΠΎΠ±Π½ΡΠ»ΠΈΡΡ Π΅Π³ΠΎ ΡΠΈΠΏΡΠ΅Ρ Π½Π΅
ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ, ΡΠ΅ΠΆΠΈΠΌ ΠΏΠ΅ΡΠ΅Ρ
Π²Π°ΡΠ° Π±ΡΠ΄Π΅Ρ Π²ΡΠΊΠ»ΡΡΠ΅Π½ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ»Π΅ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΡΠ±ΡΠΎΡΠ° (ΠΏΠΎ
ΡΠΈΠ³Π½Π°Π»Ρ RESET). ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ Π² [3].
ΠΡΠ°ΠΊΡΠΈΠΊΠ° ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ Π΄Π°Π½Π½ΡΠΉ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌ «Π·Π°ΡΠΈΡΡ ΠΎΡ ΡΠ½ΡΡΠΈΡ Π·Π°ΡΠΈΡΡ» ΠΎΠ±ΡΡΠ½ΠΎ Π½Π΅
Π°ΠΊΡΠΈΠ²ΠΈΡΡΠ΅ΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌΠΈ BIOS. ΠΠΎ Π²ΡΠ΅Ρ
ΠΌΠ°ΡΠ΅ΡΠΈΠ½ΡΠΊΠΈΡ
ΠΏΠ»Π°ΡΠ°Ρ
, ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½Π½ΡΡ
Π°Π²ΡΠΎΡΠΎΠΌ, Π±ΠΈΡ BLE=0, ΠΏΠΎΡΡΠΎΠΌΡ Π΄Π»Ρ ΡΠ½ΡΡΠΈΡ Π·Π°ΡΠΈΡΡ Π·Π°ΠΏΠΈΡΠΈ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π±ΠΈΡ
BIOSWE=1, ΡΡΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅Ρ
Π²Π°ΡΠ΅Π½Π°.
ΠΠΈΠΊΡΠΎΡΡ
Π΅ΠΌΠ° Intel ICH8 ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π·Π°ΡΠΈΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΠΌΠΈΠΊΡΠΎΡΡ
Π΅ΠΌΡ BIOS,
ΠΏΡΡΠ΅ΠΌ Π·Π°Π΄Π°Π½ΠΈΡ Π°Π΄ΡΠ΅ΡΠ½ΡΡ
Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠ², Π·Π°ΡΠΈΡΠ΅Π½Π½ΡΡ
ΠΎΡ ΡΡΠ΅Π½ΠΈΡ ΠΈ (ΠΈΠ»ΠΈ) Π·Π°ΠΏΠΈΡΠΈ.
Π’Π΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈ, Π½Π° Π±Π°Π·Π΅ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠ° ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΡ Π·Π°ΡΠΈΡΡ,
ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π·Π°ΠΏΡΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎ Π²ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ°ΠΌΠΈ BIOS ΠΏΡΠΈ ΡΡΠ°ΡΡΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ, ΠΈ
ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ½ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠΌ ΡΠ±ΡΠΎΡΠ΅. ΠΠΎ ΠΈ ΡΡΠΎΡ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌ ΠΎΠ±ΡΡΠ½ΠΎ Π½Π΅
Π°ΠΊΡΠΈΠ²ΠΈΡΡΠ΅ΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌΠΈ BIOS.
(ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ)
Β
1) Intel Low Pin Count (LPC) Interface Specification. Revision 1.1. Document
Number 251289-001.
2) Intel P965 Express Chipset Family Datasheet β For the Intel 82P965 Memory
Controller Hub (MCH). Document Number: 313053-001.
3) Intel I/O Controller Hub 8 (ICH8) Family Datasheet β For the Intel 82801HB
ICH8 and 82801HR ICH8R I/O Controller Hubs. Document Number: 313056-001.
4) 1 Mbit SPI Serial Flash SST25VF010 Data Sheet. Document Number:
S71233-01-000.
5) 8 Mbit SPI Serial Flash SST25VF080B Data Sheet. Document Number:
S71296-01-000.
6) W25X10A, W25X20A, W25X40A, W25X80A 1M-bit, 2M-bit, 4M-bit and 8M-bit
Serial Flash Memory with 4KB sectors and dual output SPI Data Sheet.
7) MX25L802 8M-bit [8Mx1] CMOS Serial Flash EEPROM Data Sheet.
8) SPI EEPROM Interface Specification. Part Number 223-0017-004 Revision H.
9) SPI Interface Specification. Technical Note 15.
ΠΠΎΠΊΡΠΌΠ΅Π½ΡΡ [11], [12] Π½Π° ΡΠ°ΠΉΡΠ΅ pcisig.com Π΄ΠΎΡΡΡΠΏΠ½Ρ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΠ»Π΅Π½ΠΎΠ² PCI
Special Interest Group. ΠΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π²ΡΠΈΡΡ ΠΏΠΎΠΈΡΠΊΠΎΠ²ΡΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ, ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ
Π΄Π°Π½Π½ΡΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ Π΄Π»Ρ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ.
10) PCI BIOS Specification. Revision 2.1.
11) PCI Local Bus Specification. Revision 3.0.
12) PCI-to-PCI Bridge Architecture Specification. Revision 1.1.
xakep.ru
ΠΠΈΠΊΡΠΎΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ Π² ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΡΠ»ΡΡ-ΠΏΠ°ΠΌΡΡΠΈ ΠΏΠ΅ΡΠ΅Π΄ ΠΈΠ·Π³ΠΎΡΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠ΅ΡΠ°ΡΠ½ΠΎΠΉ ΠΏΠ»Π°ΡΡ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Ρ Π²ΡΡΠΎΠΊΡΡ ΠΏΡΠΎΠΏΡΡΠΊΠ½ΡΡ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ Π΅ΡΡΡ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ»ΡΡ-ΠΏΠ°ΠΌΡΡΠΈ ΡΠΆΠ΅ ΠΏΠΎΡΠ»Π΅ Π΅Π΅ Π²ΡΠΏΡΡΠΊΠ°, ΡΠΎ Π΅ΡΡΡ Π΄ΠΎ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ½Π° Π±ΡΠ»Π° ΠΏΡΠΈΠΏΠ°ΡΠ½Π° ΠΊ ΠΏΠ»Π°ΡΠ΅. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡ Spi Flash (SF) Ρ Π΄ΠΈΡΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΡΠ»ΡΡ-ΠΏΠ°ΠΌΡΡΡΡ ΠΈΠΌΠ΅Π΅Ρ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΏΠ΅ΡΠ΅Π΄ ΠΎΠ±ΡΡΠ½ΡΠΌΠΈ SD. ΠΠ³ΠΎ ΡΠ΅Π½Π° ΠΎΠ±ΡΡΠ½ΠΎ Π½Π΅ ΠΏΡΠ΅Π²ΡΡΠ°Π΅Ρ 1/10 ΡΡΠΎΠΈΠΌΠΎΡΡΠΈ ΡΠ»Π΅ΡΠΊΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π³ΠΎΡΠ°Π·Π΄ΠΎ ΠΌΠ΅Π½ΡΡΠΈΠΉ ΡΠΎΡΠΌ-ΡΠ°ΠΊΡΠΎΡ ΠΈ ΡΡΠ΅Π±ΡΠ΅Ρ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ.
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΈΡΠΈΠ½ Π΄Π»Ρ Π²ΡΠ±ΠΎΡΠ° Π΄ΠΈΡΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΡΠ»ΡΡ-ΠΌΠΈΠΊΡΠΎΡΡ Π΅ΠΌΡ Π²ΠΌΠ΅ΡΡΠΎ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΡ SD ΠΈΠ»ΠΈ, Π½Π°ΠΎΠ±ΠΎΡΠΎΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠ±ΠΈΡΠ°ΡΡ ΠΊΠΎΠΌΠΏΡΠΎΠΌΠΈΡΡΡ ΠΏΠ΅ΡΠ΅Π΄ ΠΏΡΠΈΠΎΠ±ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²Π°. ΠΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π½ΠΈΠΆΠ΅ ΡΠΏΠΈΡΠΎΠΊ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π½ΡΠΆΠ½ΠΎ Π·Π½Π°ΡΡ, ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΠ±ΠΎΡΠΎΠΌ DIP-ΡΠΈΠΏΠ° ΠΈΠ»ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΠΎΠ³ΠΎ SD-ΡΠ΅ΡΠ΅Π½ΠΈΡ:
Π€Π»ΡΡ-ΠΏΠ°ΠΌΡΡΡ SPI- ΡΡΠΎ ΡΠΈΠΏ ΡΠ½Π΅ΡΠ³ΠΎΠ½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΠΉ Π½Π° ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ MOSFET. ΠΠ½Π΅ΡΠ³ΠΎΠ½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΠ΅ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ Π²ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅, ΠΊΠΎΠ³Π΄Π° Π½Π΅ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΎ. Π€Π»ΡΡ-ΠΏΠ°ΠΌΡΡΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, ΠΏΠ΅ΡΠ΅Π½ΠΎΡΡ Π³ΡΡΠΏΠΏΡ Π½ΠΎΡΠΈΡΠ΅Π»Π΅ΠΉ Π·Π°ΡΡΠ΄Π° Π½Π° Π΄ΠΈΡΠ»Π΅ΠΊΡΡΠΈΠΊ. ΠΡΠΎ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΈ ΠΎΠ±ΡΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Ρ Π±ΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΠΈΠΌ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ΠΌ. ΠΡΠΎΡΠ΅ΡΡ Π½Π΅ Π±Π΅Π·ΠΎΠ±ΠΈΠ΄Π½ΡΠΉ, ΠΎΠ½ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΠΏΠΎΠ²ΡΠ΅ΠΆΠ΄Π°Π΅Ρ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π», ΠΈ ΠΏΠΎΡΠ»Π΅ 100 ΡΡΡ. ΡΠΈΠΊΠ»ΠΎΠ² ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π²ΡΡ ΠΎΠ΄ΠΈΡ ΠΈΠ· ΡΡΡΠΎΡ. Π§ΡΠΎΠ±Ρ ΡΠ½ΡΡΡ Π½ΠΎΡΠΈΡΠ΅Π»ΠΈ Π·Π°ΡΡΠ΄Π° Ρ Π΄ΠΈΡΠ»Π΅ΠΊΡΡΠΈΠΊΠ°, ΠΏΡΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠΌ Π²ΡΡΠΎΠΊΠΎΠΌ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠΈ Π½Π° ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΌ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»Π΅ ΡΠ½ΠΈΠΌΠ°ΡΡ Π½ΠΎΡΠΈΡΠ΅Π»ΠΈ Ρ Π·Π°ΡΠ²ΠΎΡΠ°. ΠΡΠΎ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΡΠΈΡΠ°Π½ΠΈΠ΅ΠΌ.
ΠΠ°ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ»ΡΡ-Π±ΠΈΡ ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 0, Π° ΡΡΠ΅ΡΡΡΠΉ Π±ΠΈΡ ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 1, ΡΡΠ΅ΡΡΡΠΉ ΡΠ»ΡΡ-Π±Π°ΠΉΡ ΡΠ°Π²Π΅Π½ 0xFF Π² ΡΠ΅ΡΡΠ½Π°Π΄ΡΠ°ΡΠ΅ΡΠΈΡΠ½ΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅. Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΡΠ»ΡΡ-ΠΏΠ°ΠΌΡΡΡ ΠΌΠΎΠΆΠ΅Ρ Ρ ΡΠ°Π½ΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π±ΠΈΡΠΎΠ² Π½Π° ΡΡΠ΅ΠΉΠΊΠ΅, Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΡΠΎΠ²Π½Π΅ΠΉ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ. Π‘ ΡΡΠ΅ΡΠΎΠΌ ΡΠΎΡΡΠ° ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊ ΠΎΠ±ΡΠ΅ΠΌΡ ΠΏΠ°ΠΌΡΡΠΈ ΡΡΠΎ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π²ΡΠ΅ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠΌ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΎΠ½Π½ΠΎ.
ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ Spi Flash ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠΎΠ² USB Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΠΏΡΠΎΡΡΠΎΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΠ΄ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΡΠ΄Π²ΠΈΠ³Π°Π΅Ρ Π΄Π°Π½Π½ΡΠ΅ Π²ΡΠ²ΠΎΠ΄ΠΎΠ² DI ΠΈ DO, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΠΎ ΠΏΠ΅ΡΠ΅Π΄Π½Π΅ΠΌΡ ΡΡΠΎΠ½ΡΡ ΡΠ°ΠΊΡΠΎΠ²ΠΎΠΉ ΡΠ°ΡΡΠΎΡΡ. Π§Π°ΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΡΡΡΡ Ρ ΠΎΡΡΠΎΠΌ, Π΄Π»Ρ Π½ΠΈΡ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΡΠΈΡΡΠ΄Π»ΠΈΠ²Π°Ρ ΡΡ Π΅ΠΌΠ° ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ: ΡΠ°Π·Ρ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π½Π°ΡΡΠΎΠ»ΡΠΊΠΎ Π°ΡΠΈΠΌΠΌΠ΅ΡΡΠΈΡΠ½ΡΠΌΠΈ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ Π½ΡΠΆΠ½ΠΎ, ΠΏΡΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠΈ ΡΠΎΠ±Π»ΡΠ΄Π΅Π½ΠΈΡ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΡ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊ ΡΠΈΡΠΈΠ½Π΅ ΡΠΈΠΊΠ»Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π°.
Flashrom — ΡΡΠΎ ΡΡΠΈΠ»ΠΈΡΠ° Π΄Π»Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ, ΡΡΠ΅Π½ΠΈΡ, Π·Π°ΠΏΠΈΡΠΈ, ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΡΠ»Π΅Ρ-ΡΠΈΠΏΠΎΠ². ΠΠ½Π° ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π΄Π»Ρ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ ΠΎΠ±ΡΠ°Π·ΠΎΠ² BIOS/EFI/coreboot/firmware/optionROM Π½Π° ΠΌΠ°ΡΠ΅ΡΠΈΠ½ΡΠΊΠΈΡ ΠΏΠ»Π°ΡΠ°Ρ , ΠΊΠ°ΡΡΠ°Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° ΡΠ΅ΡΠΈ/Π³ΡΠ°ΡΠΈΠΊΠΈ/Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΈ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π΄ΡΡΠ³ΠΈΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ:
ΠΡΠΎ Π»ΡΡΡΠΈΠΉ Π΄Π»Ρ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ² PIC ΠΈ AVR ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡ Spi Flash, ΡΠ²ΠΎΠΈΠΌΠΈ ΡΡΠΊΠ°ΠΌΠΈ, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ, Π΅Π³ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ, Π½ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π½Π΅ Π΄ΠΎΡΠΎΠ³ΠΎΠ΅, ΡΡΠΎΠΈΡ ΠΌΠ΅Π½ΡΡΠ΅ 10 $ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΈΠ· Π»Π΅Π³ΠΊΠΎ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ².
ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°:
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΡΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° (J1, J2 ΠΈ J3) ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΡΠ²ΡΠ·ΠΈ Ρ Π²Π΅Π΄ΠΎΠΌΡΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎΠΌ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΠ²ΠΎΠ΄ΠΎΠ² ΡΠ°Π·Π»ΠΈΡΠ½ΠΎ Π² ΡΠ°Π·Π½ΡΡ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°Ρ . ΠΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»Ρ ΡΠ±ΡΠΎΡΠ° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΊ Π±Π»ΠΎΠΊΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠ±ΡΠΎΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠ°. PIC18F2550 ΠΌΠΈΠ³Π°Π΅Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ΅ΡΡΠ½Π°Π΄ΡΠ°ΡΠ΅ΡΠΈΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΈΠ»ΠΈ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΡ Spi Flash PIC.
ΠΠ½ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΡΠ²ΡΠ·Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠΌ ΠΈ ΠΠ. Π’ΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΡΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ HID-ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ (Human Interface Device), ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΡΡΡΠ°Π½ΠΈΡ ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡΠΈΠ±ΠΎΠΊ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠΌ, ΠΊΡΠΈΡΡΠ°Π»Π»Π°ΠΌΠΈ ΠΈ USB. ΠΠ΅ΡΠ΅Π΄ Π½Π°ΡΠ°Π»ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ±Π΅ΠΆΠ΄Π°ΡΡΡΡ, ΡΡΠΎ ΠΌΠΈΠ³Π°Π΅Ρ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄ LED, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°ΡΠ΅ΠΌ Π·Π°ΠΌΠ΅Π΄Π»ΡΠ΅Ρ ΠΏΡΠΎΡΠ΅ΡΡ ΠΌΠΈΠ³Π°Π½ΠΈΡ. ΠΡΠ»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡ Π½Π΅ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½, ΠΏΡΠΎΠ²Π΅ΡΡΡΡ ΠΏΠ΅ΡΠ΅ΠΊΡΠ΅ΡΡΠ½ΡΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ. ΠΡΠ»ΠΈ ΠΎΠ½ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½, ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΡΡ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΡΠ°Π³Ρ.
Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ OpenProg Π½Π° ΠΠ, Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π½ΠΎΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ. ΠΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠ° Spi Flash:
ΠΡΠ° ΠΏΠ΅ΡΠ°ΡΠ½Π°Ρ ΠΏΠ»Π°ΡΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π° Π² Eagle 7.2. Π Π°Π·ΠΌΠ΅Ρ ΠΏΠ»Π°ΡΡΠΈΠ½Ρ 7,5 Ρ 7 ΡΠΌ, ΠΎΠ½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π° Π½Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΡΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΌ ΡΡΠ°Π½ΠΊΠ΅. ΠΠ΅ΡΠ°ΡΠ½Π°Ρ ΠΏΠ»Π°ΡΠ° ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΠ·Π³ΠΎΡΠΎΠ²Π»Π΅Π½Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ Ρ ΠΈΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π² Π΄ΠΎΠΌΠ°ΡΠ½ΠΈΡ ΡΡΠ»ΠΎΠ²ΠΈΡΡ .
ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ JA, JB, JC ΡΠ²Π»ΡΡΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΡΡΠΊΠ°ΠΌΠΈ. ΠΠΎ ΡΡ Π΅ΠΌΠ΅ ΡΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ ΡΡΠΎ ΠΈ ΡΠ½Π°ΡΠ°Π»Π°, Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ±ΠΎΡΠΊΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ², ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΡΡΠΊΠΈ. ΠΠ»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ PIC18F2550 Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΏΠ°ΠΉΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ 28-ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ½ΠΎΠ΅ ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠ΅ IC.
ΠΠ»Π°ΡΠ° ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΡΠ²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡ Ρ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠΌ. Π Π°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠ΅ΡΠΈΠΈ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ² ΠΈΠΌΠ΅ΡΡ ΡΠ°Π·Π½ΡΠ΅ ΠΊΠΎΠ½ΡΠ°ΠΊΡΡ ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΡΠΎ Π΄Π°Π΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ Π² ΠΏΡΠΎΡΡΠΎΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°.
ΠΠ»Π°ΡΠ° ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π»Π΅Π³ΠΊΠΎ ΡΠ΄Π΅Π»Π°Π½Π° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠ΅ΡΡΠΎΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π΄ΠΎΡΠΊΠΈ ΠΈΠ»ΠΈ Π² ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ Π·Π°Π³ΠΎΡΠΎΠ²ΠΎΠΊ Π΄Π»Ρ ΠΏΠ»Π°Ρ, ΠΏΡΠΈΠΎΠ±ΡΠ΅ΡΠ΅Π½Π½ΡΡ Π² ΡΠΎΡΠ³ΠΎΠ²ΠΎΠΉ ΡΠ΅ΡΠΈ. ΠΠ»Ρ ΡΠ΅ΡΠΈΠΉ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ°Π·Π½ΡΠ΅ ΠΏΠ»Π°ΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ. ΠΠ»Ρ LVICP ΠΎΡ 5 Π Π΄ΠΎ 3,3 Π Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ ΡΠ΅Π³ΡΠ»ΡΡΠΎΡ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ, ΡΠ°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ LM1117 ΠΈΠ»ΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΉ Π΅ΠΌΡ.
Π£ΡΡΡΠΎΠΉΡΡΠ²ΠΎ 3.3 Π Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π·Π°ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠ»Π°ΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ 3.3 Π, Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΡΠΈ Π½Π΅ΠΎΠ±ΡΠ°ΡΠΈΠΌΠΎΠ΅ ΠΏΠΎΠ²ΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· ΠΏΠ»Π°Ρ ΠΈΠΌΠ΅ΡΡ Π²Π°ΡΠΈΠ°Π½Ρ 5 Π. ΠΡΠ»ΠΈ Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ Π½Π° 5 Π, ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ±ΡΠ°ΡΡ ΠΎΠΏΡΠΈΡ Β«ΠΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°ΡΡ ΠΏΠ»Π°ΡΡ Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡΒ». Π’Π°ΠΊΠΆΠ΅ Π½Π΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΡΡ 24F-33F Π² Π³Π½Π΅Π·Π΄ΠΎ 30F, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΡΠΈ 5 Π.
ΠΠΎΡΠ»Π΅ ΠΈΠ·Π³ΠΎΡΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠ°ΡΡΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° ΠΈ ΠΏΠ»Π°ΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ, ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠ°Π·Ρ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π°:
ΠΡΠΎΡΡΠΎΠΉ Spi Flash ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡ SPI (AT45DB161D) ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ 16-ΠΌΠ΅Π³Π°Π±ΠΈΡΠ½ΡΡ (2 ΠΠΠ°ΠΉΡ) 2,5 Π ΠΈΠ»ΠΈ 2,7 Π ΡΠ»ΡΡ-ΠΏΠ°ΠΌΡΡΡ Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ, ΠΈΠ΄Π΅Π°Π»ΡΠ½ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠ΅Π³ΠΎ Π΄Π»Ρ ΡΠΈΡΠΎΠΊΠΎΠ³ΠΎ ΡΠΏΠ΅ΠΊΡΡΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΡ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΈ Π΄Π°Π½Π½ΡΡ .
ΠΡΠ΅Π³ΠΎ 2097152 Π±Π°ΠΉΡΠ° (0x1FFFFF) ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Ρ Π² 4096 ΡΡΡΠ°Π½ΠΈΡ Ρ 512 Π±Π°ΠΉΡΠ°ΠΌΠΈ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ. ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ ΡΠΈΠΏ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ ΡΡΠΈΡΠ°Π½ΠΈΡ, Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΡΠΈΡΠ°Π½ΠΈΠ΅ Π±Π»ΠΎΠΊΠΎΠ², ΠΏΡΠΈΡΠ΅ΠΌ ΠΎΠ΄ΠΈΠ½ Π±Π»ΠΎΠΊ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ 4 ΠΠ±Π°ΠΉΡ.
Π§ΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΠ°ΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅, ΡΠ½Π°ΡΠ°Π»Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΄Π°Π»ΠΈΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ Π±Π»ΠΎΠΊ. Π§ΡΠ΅Π½ΠΈΠ΅ ΠΈ Π·Π°ΠΏΠΈΡΡ Π΄Π°Π½Π½ΡΡ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ, Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΏΡΡΠ΅ΠΌ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π°Π΄ΡΠ΅ΡΠ° ΡΡΠ΅Π½ΠΈΡ/Π·Π°ΠΏΠΈΡΠΈ (ΠΎΡ 0 Π΄ΠΎ 0x1FFFFF) ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ Π΄Π»ΠΈΠ½Π΅ Π΄Π°Π½Π½ΡΡ . ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ Π±Π°Π·ΠΎΠ²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΡΡΠΈΡΠΈΡΡ ΠΊΠΎΠ΄ Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΠΎΠ±ΡΠΈΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ°ΠΉΠ»Π°ΠΌ.
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡ Spi Flash EEPROM ΡΠ΅ΡΠΈΠΈ 25 Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΌ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ² ΠΈ 25-SPI ΡΠ»ΡΡ-ΠΏΠ°ΠΌΡΡΡ 8-ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ½ΡΠΉ/16-ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ½ΡΠΉ ΠΈΠΌΠ΅Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ:
ΠΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π°ΡΠΈΠ½Π°Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°ΠΌΠΈ, ΠΎΠ½, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, ΡΡΠΎΠ»ΠΊΠ½Π΅ΡΡΡ Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ ΠΏΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ, Π½Π° ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎΡΡΠ΅Π±ΡΡΡΡΡ ΡΠ°ΡΡ ΠΈΠ»ΠΈ Π΄Π½ΠΈ, Π° ΠΈΠ½ΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ ΠΏΡΠΎΡΡΠΎ Π½Π΅ΡΠ°Π·ΡΠ΅ΡΠΈΠΌΡ. ΠΠΏΡΡΠ½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ ΠΏΠΎΠ΄Π΅Π»ΠΈΠ»ΠΈΡΡ ΡΠ²ΠΎΠΈΠΌΠΈ Π½Π°ΡΠ°Π±ΠΎΡΠΊΠ°ΠΌΠΈ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π½Π°ΡΡΡΠ΅Π½ΠΈΠΉ, Π²ΠΎΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· Π½ΠΈΡ :
ΠΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ²ΠΎΠΈΠΌΠΈ ΡΡΠΊΠ°ΠΌΠΈ USB ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠ° Spi Flash ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΠΎΠ»ΡΡΠΈΡ SF, Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π½ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΡΡΡΠ½ΠΎ Π΄Π»Ρ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠ½Π° Π±ΡΠ΄Π΅Ρ Π»Π΅Π³ΠΊΠΎ ΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΎΠΌ ΡΠ΅ΡΠ΅Π· ΡΠΈΠ½Ρ USB Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΠ΄ΠΎΠ±Π½ΠΎΠΌΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΠΈ ΠΌΠΎΡΠ½ΡΠΌ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ.
fb.ru
#include «SPIFlash.h»
#include <SPI.h>
#include <avr/wdt.h>
//////////////////////////////////////////
// flash(SPI_CS, MANUFACTURER_ID)
// SPI_CSΒ Β Β Β Β Β Β Β Β Β — CS pin attached to SPI flash chip (8 in case of Moteino)
// MANUFACTURER_ID — OPTIONAL, 0x1F44 for adesto(ex atmel) 4mbit flash
//Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β 0xEF30 for windbond 4mbit flash
//////////////////////////////////////////
SPIFlash flash(2, 0);
byte buf[1024];
void setup() {
Β Β Serial.begin(115200);
Β Β while (!Serial);
Β Β if (flash.initialize())
Β Β Β Β Serial.println(«Init OK!»);
Β Β else
Β Β Β Β Serial.println(«Init FAIL!»);
}
Β
void loop() {
Β Β char cmd;
Β Β if (!Serial.available()) return;
Β Β cmd = Serial.read();
Β Β if (cmd == ‘t’) {
Β Β Β Β Serial.print(«COM ok\n»);
Β Β Β Β return;
Β Β }
Β Β if (cmd == ‘i’)
Β Β {
Β Β Β Β Serial.print(«DeviceID: «);
Β Β Β Β Serial.print(flash.readDeviceId(), HEX);
Β Β Β Β Serial.print(‘\n’);
Β Β Β Β return;
Β Β }
Β Β if (cmd == ‘a’)
Β Β {
Β Β Β Β flash.chipErase();
Β Β Β Β while (flash.busy());
Β Β Β Β Serial.print(«OK»);
Β Β Β Β Serial.print(‘\n’);
Β Β Β Β return;
Β Β }
Β Β if (cmd == ‘e’)
Β Β {
Β Β Β Β longΒ Β sector = Serial.parseInt();
Β Β Β Β Serial.read(); // ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ
Β Β Β Β flash.blockErase4K(sector);
Β Β Β Β Serial.print(«OK»);
Β Β Β Β Serial.print(sector);
Β Β Β Β Serial.print(‘\n’);
Β Β Β Β return;
Β Β }
Β Β if (cmd == ‘w’)
Β Β {
Β Β Β Β long addr = Serial.parseInt();
Β Β Β Β Serial.read(); // ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ
Β Β Β Β for (int bufsz = 0; bufsz < 128; bufsz++)
Β Β Β Β {
Β Β Β Β Β Β while (Serial.available() == 0);
Β Β Β Β Β Β buf[bufsz] = Serial.read();
Β Β Β Β }
Β Β Β Β flash.writeBytes(addr, buf, 128);
Β Β Β Β Serial.print(«OK»);
Β Β Β Β Serial.print(addr);
Β Β Β Β Serial.print(‘\n’);
Β Β Β Β return;
Β Β }
Β Β if (cmd == ‘r’) {
Β Β Β Β long addr = Serial.parseInt();
Β Β Β Β Serial.read(); // ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ
Β Β Β Β for (int i = 0; i < 4; i++)
Β Β Β Β {
Β Β Β Β Β Β flash.readBytes(addr + (i * 1024) + 0, buf, 1024);
Β Β Β Β Β Β for (int j = 0; j < 1024; j++)
Β Β Β Β Β Β Β Β Serial.write(buf[j]);
Β Β Β Β }
Β Β Β Β return;
Β Β }
}
skproj.ru
ΠΠΈΠΊΡΠΎΡΡ
Π΅ΠΌΡ SPI Flash ROM, Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ ΠΌΠΈΠΊΡΠΎΡΡ
Π΅ΠΌΠ° SST 25VF080B, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠ°Ρ Π²
ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΠΈΠ³Π½Π°Π» Π·Π°ΡΠΈΡΡ Π·Π°ΠΏΠΈΡΠΈ WP# (Write Protect).
Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΠΎΠ΄Π½ΠΎΠΈΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠ³Π½Π°Π»Π° ΠΌΠΈΠΊΡΠΎΡΡ
Π΅ΠΌ LPC Flash, Π΄Π»Ρ SPI Flash ΡΡΠΎΡ ΡΠΈΠ³Π½Π°Π»
Π½Π΅ ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ Π·Π°ΠΏΠΈΡΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, Π° Π΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ Π²
ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠΈ Ρ Π±ΠΈΡΠ°ΠΌΠΈ BP0-BP3 (Block Protect) ΠΈ BPL (Block Protect Lock) ΡΠ΅Π³ΠΈΡΡΡΠ°
ΡΡΠ°ΡΡΡΠ°. Π§Π΅ΡΡΡΠ΅ Π±ΠΈΡΠ° Π² ΡΠ΅Π³ΠΈΡΡΡΠ΅ ΡΡΠ°ΡΡΡΠ° BP0-BP3 Π²ΡΠ±ΠΈΡΠ°ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· 16 Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ²
Π·Π°ΡΠΈΡΡ ΠΌΠΈΠΊΡΠΎΡΡ
Π΅ΠΌΡ BIOS, ΡΡΠ΅Π΄ΠΈ ΡΡΠΈΡ
Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² β ΠΏΠΎΠ»Π½ΡΠΉ Π·Π°ΠΏΡΠ΅Ρ Π·Π°ΠΏΠΈΡΠΈ ΠΏΠΎ Π²ΡΠ΅ΠΌ
Π°Π΄ΡΠ΅ΡΠ°ΠΌ, ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π·Π°ΠΏΠΈΡΠΈ ΠΏΠΎ Π²ΡΠ΅ΠΌ Π°Π΄ΡΠ΅ΡΠ°ΠΌ, Π° ΡΠ°ΠΊΠΆΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΠΈΠ΅
ΠΈΠ·Π±ΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΡ Π·Π°ΡΠΈΡΡ Π±Π»ΠΎΠΊΠΎΠ². Π Π°Π·ΡΠΌΠ΅Π΅ΡΡΡ, ΡΠ°ΠΌΠ° ΠΏΠΎ ΡΠ΅Π±Π΅ ΡΠ°ΠΊΠ°Ρ Π·Π°ΡΠΈΡΠ° Π½Π΅
ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½Π°, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π±ΠΈΡΠΎΠ² BP0-BP3 ΠΈ
ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ Π·Π°ΠΏΠΈΡΡ. Π§ΡΠΎΠ±Ρ ΡΡΠΎΠ³ΠΎ Π½Π΅ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π±ΠΈΡ BPL ΠΈ Π²Π½Π΅ΡΠ½ΠΈΠΉ
ΡΠΈΠ³Π½Π°Π» Π·Π°ΡΠΈΡΡ Π·Π°ΠΏΠΈΡΠΈ WP#. Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π±ΠΈΡΠ° BPL=1 Π΄Π΅Π»Π°Π΅Ρ Π±ΠΈΡΡ BPL ΠΈ BP0-BP3
Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌΠΈ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΠΈ. ΠΠ°Π½Π½Π°Ρ Π·Π°ΡΠΈΡΠ° Π΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ Π½Π°Π»ΠΈΡΠΈΠΈ ΡΠΈΠ³Π½Π°Π»Π°
Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ «0» Π½Π° Π²Ρ
ΠΎΠ΄ WP#, Π° ΠΏΡΠΈ Π½Π°Π»ΠΈΡΠΈΠΈ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΉ «1» Π½Π° Π²Ρ
ΠΎΠ΄Π΅ WP#, Π±ΠΈΡΡ BPL
ΠΈ BP0-BP3 Π΄ΠΎΡΡΡΠΏΠ½Ρ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΠΈ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π±ΠΈΡΠ° BPL.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π·Π°ΡΠΈΡΠΎΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΠΌΠΈΠΊΡΠΎΡΡ
Π΅ΠΌΡ BIOS ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎ ΡΠΏΡΠ°Π²Π»ΡΡΡ
ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΡΠ΅Π³ΠΈΡΡΡΠ° ΡΡΠ°ΡΡΡΠ°, Π° ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠΉ Π·Π°ΡΠΈΡΡ, ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΠΌΠΎΠΉ ΡΠΈΠ³Π½Π°Π»ΠΎΠΌ
WP#, ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠ° ΡΡΠ°ΡΡΡΠ°, Π° Π½Π΅ Π·Π°ΠΏΠΈΡΠ°Π½Π½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ.
ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ Π² [5].
ΠΠ»Ρ Π°ΠΊΡΠΈΠ²Π°ΡΠΈΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠ° Π·Π°ΡΠΈΡΡ, BIOS ΠΏΡΠΈ ΡΡΠ°ΡΡΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Π΄ΠΎΠ»ΠΆΠ΅Π½
Π·Π°ΠΏΠΈΡΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π±ΠΈΡΠΎΠ² BP0-BP3 Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΡΡΠ΅Π±ΡΠ΅ΠΌΡΠΌ ΡΠ΅ΠΆΠΈΠΌΠΎΠΌ Π·Π°ΡΠΈΡΡ, Π°
ΡΠ°ΠΊΠΆΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π±ΠΈΡ BPL=1 Π΄Π»Ρ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π±ΠΈΡΠΎΠ²
BP0-BP3 ΠΈ BPL. ΠΠ°ΡΠ΅ΠΌ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ ΠΏΠΎΠ΄Π°ΡΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ «0» Π½Π° Π²Ρ
ΠΎΠ΄ WP#.
ΠΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΡΡΠΎΠ±Ρ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΈΠ³Π½Π°Π»ΠΎΠΌ WP# Π±ΡΠ» ΡΠ½ΠΈΠΊΠ°Π»Π΅Π½ Π΄Π»Ρ
ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΌΠ°ΡΠ΅ΡΠΈΠ½ΡΠΊΠΎΠΉ ΠΏΠ»Π°ΡΡ, ΡΡΠΎ ΠΎΡΠ»ΠΎΠΆΠ½ΠΈΡ ΡΠ°Π±ΠΎΡΡ «Π²ΠΈΡΡΡΠΎΠΏΠΈΡΠ°ΡΠ΅Π»Π΅ΠΉ».
Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, ΠΈ ΡΡΠΎΡ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌ Π·Π°ΡΠΈΡΡ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΠΉ ΠΌΠΈΠΊΡΠΎΡΡ
Π΅ΠΌΠ°ΠΌΠΈ SPI Flash,
ΡΠ΅Π°Π»ΡΠ½ΠΎ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌΠΈ BIOS ΠΈ ΠΌΠ°ΡΠ΅ΡΠΈΠ½ΡΠΊΠΈΡ
ΠΏΠ»Π°Ρ. ΠΠΎ Π²ΡΠ΅Ρ
ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°Ρ
, ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½Π½ΡΡ
Π°Π²ΡΠΎΡΠΎΠΌ, Π² ΡΠ΅Π³ΠΈΡΡΡΠ΅ ΡΡΠ°ΡΡΡΠ° Flash, Π±ΠΈΡ BPL=0, ΡΠΎ Π΅ΡΡΡ
Π·Π°ΡΠΈΡΠ° Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΈ ΡΡΠ°ΡΡΡΠ½ΡΠΉ ΡΠ΅Π³ΠΈΡΡΡ Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΠΈ.
Β
Π‘ΠΈΠΌΠ²ΠΎΠ» «#» ΠΏΠΎΡΠ»Π΅ Π½Π°Π·Π²Π°Π½ΠΈΡ ΡΠΈΠ³Π½Π°Π»Π° ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π°ΠΊΡΠΈΠ²Π½ΡΠΌ ΡΡΠΎΠ²Π½Π΅ΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ
Π½ΠΈΠ·ΠΊΠΈΠΉ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌΡΠΉ ΡΠΈΠ³Π½Π°Π» Π·Π°ΡΠΈΡΡ Π·Π°ΠΏΠΈΡΠΈ WP# (Write Protect),
ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΡΠ΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ: ΠΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΉ «0» ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ Π½Π°Π»ΠΈΡΠΈΠ΅ Π·Π°ΡΠΈΡΡ
Π·Π°ΠΏΠΈΡΠΈ, Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠ°Ρ «1» β ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ Π·Π°ΡΠΈΡΡ. Π ΡΠΈΡΡΠΎΠ²ΠΎΠΉ ΡΡ
Π΅ΠΌΠΎΡΠ΅Ρ
Π½ΠΈΠΊΠ΅ ΡΠ°ΠΊΠΈΠ΅
ΡΠΈΠ³Π½Π°Π»Ρ Π½Π°Π·ΡΠ²Π°ΡΡ ΠΈΠ½Π²Π΅ΡΡΠ½ΡΠΌΠΈ.
ΠΠ°ΠΏΡΡΠΊ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΡΡΠΈΡΠ°Π½ΠΈΡ ΠΈ Π·Π°ΠΏΠΈΡΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΠΌΠΈΠΊΡΠΎΡΡ
Π΅ΠΌΡ SPI Flash
Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π² Π΄Π²Π° ΡΡΠ°ΠΏΠ°. Π‘Π½Π°ΡΠ°Π»Π° ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° Write Enable, Π·Π°ΡΠ΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π°,
Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΠ°Ρ ΡΡΠΈΡΠ°Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Π·Π°ΠΏΠΈΡΡ. ΠΡΠ»ΠΈ Π·Π°Π΄Π°Π½Π½Π°Ρ
ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π½Π΅ ΡΠΎΠ±Π»ΡΠ΄Π΅Π½Π°, ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΌΠΈΠΊΡΠΎΡΡ
Π΅ΠΌΡ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΡΡ.
Π’Π°ΠΊΠΎΠΉ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ Π·Π°ΡΠΈΡΠ°Π΅Ρ BIOS ΠΎΡ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠ³ΠΎ ΠΈΡΠΊΠ°ΠΆΠ΅Π½ΠΈΡ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅
ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΡΠ±ΠΎΡ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΏΡΠ΅ΠΏΡΡΡΡΠ²ΠΈΠ΅ΠΌ Π΄Π»Ρ «Π²ΠΈΡΡΡΠΎΠΏΠΈΡΠ°ΡΠ΅Π»Π΅ΠΉ» ΠΎΠ½ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ, ΡΠ°ΠΊ
ΠΊΠ°ΠΊ ΡΡΠ΅Π±ΡΠ΅ΠΌΠ°Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΠΎΠΏΠΈΡΠ°Π½Π° Π² ΠΎΡΠΊΡΡΡΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π½Π°
ΠΌΠΈΠΊΡΠΎΡΡ
Π΅ΠΌΡ SPI Flash, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ [4-7].
Β
ΠΡΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΠΌΡΡ
ΠΏΡΠΎΡΠ΅Π΄ΡΡ, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠΈΡ
ΡΡΠΈΡΠ°Π½ΠΈΠ΅ ΠΈ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΡ
ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΠΌΠΈΠΊΡΠΎΡΡ
Π΅ΠΌΡ Flash ROM, Π½Π΅ΠΈΠ·Π±Π΅ΠΆΠ½ΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠΈΡΠΊ ΠΈΡΠΊΠ°ΠΆΠ΅Π½ΠΈΡ BIOS Ρ
ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ΠΌ ΡΡΠ°ΡΡΠ° ΠΌΠ°ΡΠ΅ΡΠΈΠ½ΡΠΊΠΎΠΉ ΠΏΠ»Π°ΡΡ. ΠΡΠΈΠΌΠ΅ΡΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠ΅ΡΡ Π²
ΠΏΡΠΈΠ»Π°Π³Π°Π΅ΠΌΠΎΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ WORK, ΡΠ°ΡΡΡΠΈΡΠ°Π½Ρ Π½Π° ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΎΠ², ΠΈΠΌΠ΅ΡΡΠΈΡ
ΠΊΠ²Π°Π»ΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΈ
ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π»Ρ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ BIOS, Π΅ΡΠ»ΠΈ ΡΡΠΎ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ. ΠΠ΄Π΅Π°Π»ΡΠ½ΠΎΠ΅ ΡΠ°Π±ΠΎΡΠ΅Π΅
ΠΌΠ΅ΡΡΠΎ Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΠΌΡΡ
ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ β ΡΡΠΎ ΠΌΠ°ΡΠ΅ΡΠΈΠ½ΡΠΊΠ°Ρ ΠΏΠ»Π°ΡΠ°, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ
ΠΌΠΈΠΊΡΠΎΡΡ
Π΅ΠΌΠ° BIOS ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π° Π² «ΠΏΠ°Π½Π΅Π»ΡΠΊΡ», Π΄ΠΎΠΏΡΡΠΊΠ°ΡΡΡΡ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ ΠΌΠΈΠΊΡΠΎΡΡ
Π΅ΠΌΡ Π±Π΅Π·
ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠ°ΠΉΠΊΠΈ, Π² ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠΈ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠΎΠΌ. ΠΡΡ
ΠΎΠ΄Π½ΠΎΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅
ΠΌΠΈΠΊΡΠΎΡΡ
Π΅ΠΌΡ ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ Π² Π²ΠΈΠ΄Π΅ Π΄Π²ΠΎΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°. ΠΠ°ΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ Π΅ΡΠ»ΠΈ Π±ΡΠ΄Π΅Ρ
ΠΈΡΠΊΠ°ΠΆΠ΅Π½ BIOS Boot Block, ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΡΠ°ΠΌΠΎΠ²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ, ΡΠ΅ΠΊΠ»Π°ΠΌΠΈΡΡΠ΅ΠΌΡΠ΅
ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠΌΠΈ ΠΌΠ°ΡΠ΅ΡΠΈΠ½ΡΠΊΠΈΡ
ΠΏΠ»Π°Ρ, ΠΎΠΊΠ°ΠΆΡΡΡΡ Π½Π΅ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΡΠΌΠΈ. ΠΠ°ΠΏΠΎΠΌΠ½ΠΈΠΌ, ΡΡΠΎ Π²ΠΎ
Π²ΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΡΠ΅Π°Π½ΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠΎΠΏΠΈΡ BIOS Π² Shadow RAM, ΠΏΠΎΡΡΠΎΠΌΡ Π΅ΡΠ»ΠΈ
ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΌΠΈΠΊΡΠΎΡΡ
Π΅ΠΌΡ BIOS Π±ΡΠ΄Π΅Ρ ΠΈΡΠΊΠ°ΠΆΠ΅Π½ΠΎ, ΡΡΠΎ ΠΏΡΠΎΡΠ²ΠΈΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠΉ
ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠ΅. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π°Π²Π°ΡΠΈΠΉΠ½ΠΎΠ³ΠΎ
Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ BIOS, ΠΏΠ΅ΡΠ΅Π΄ ΡΠ±ΡΠΎΡΠΎΠΌ ΠΈΠ»ΠΈ Π²ΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ
ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Flash ROM.
ΠΠ°ΡΠ΅Π³ΠΎΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΡΠ°Π±ΠΎΡΠ΅ΠΌ
ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅, Π»ΡΡΡΠ΅ ΡΠΎΠ±ΡΠ°ΡΡ ΡΡΠ΅Π½Π΄, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠ°ΡΡΡ ΠΏΠ»Π°ΡΡ, ΠΎΡΡΠ°Π²ΡΡΡΡΡ
ΠΏΠΎΡΠ»Π΅ Π°ΠΏΠ³ΡΠ΅ΠΉΠ΄Π°.
Β
ΠΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌΡΠ΅ Π² ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ
1-3, ΡΡΠ΅Π±ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ
ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ
ΡΠ΅Π³ΠΈΡΡΡΠΎΠ² ΠΈ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ, ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΊΠΎΡΠΎΡΡΡ
ΡΠ°Π·Π»ΠΈΡΠ°Π΅ΡΡΡ
Π² ΡΠ°Π·Π½ΡΡ
ΡΠΈΠΏΡΠ΅ΡΠ°Ρ
. Π Π°Π·ΡΠΌΠ΅Π΅ΡΡΡ, ΡΠ°ΡΡΠΌΠΎΡΡΠ΅ΡΡ Π²ΡΠ΅ Π½Π°Π±ΠΎΡΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ Π² ΡΠ°ΠΌΠΊΠ°Ρ
ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠ°ΡΡΠΈ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΏΠΎΡΡΠΎΠΌΡ Π°Π²ΡΠΎΡ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΡΡ Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅:
ΠΌΠ°ΡΠ΅ΡΠΈΠ½ΡΠΊΠ°Ρ ΠΏΠ»Π°ΡΠ° Gigabyte GA-965P-S3 (ΡΠΈΠΏΡΠ΅Ρ Intel 965, ΠΌΠΈΠΊΡΠΎΡΡ
Π΅ΠΌΠ° BIOS SST
25VF080B). ΠΡΠΈΠΌΠ΅ΡΡ 1-3 ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Ρ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΏΠ»Π°Ρ Ρ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ½ΠΎΠΉ
Π±Π°Π·ΠΎΠΉ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΠΌΡΠΉ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π», Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠΈΡΠ°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ
ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡ Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠΈΡΠΎΠΊΠΎΠΉ Π½ΠΎΠΌΠ΅Π½ΠΊΠ»Π°ΡΡΡΡ
ΠΏΠ»Π°ΡΡΠΎΡΠΌ.
Β
ΠΠ°ΠΊ ΠΈ Π² ΡΠ°Π½Π΅Π΅ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½ΡΡ
ΡΡΠ°ΡΡΡΡ
Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π°, Π² ΡΠ΅Π»ΡΡ
ΠΌΠΎΠ½ΠΎΠΏΠΎΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΈ
Π±Π΅ΡΠΏΡΠ΅ΠΏΡΡΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Ρ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ
ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΠΌΡΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠΌ, Π°Π²ΡΠΎΡ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠ» «Π΄ΡΠ΅Π²Π½ΡΡ» ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΡ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΏΠΎΠ΄ DOS.
ΠΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠ°Π³Π° ΠΈ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ ΠΏΠΎ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΠΌΠ΅ΡΡΠ° ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ
Π² ΡΠ°Π½Π΅Π΅ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½ΠΎΠΉ ΡΡΠ°ΡΡΠ΅ «64-Π±ΠΈΡΠ½ΡΠΉ
ΡΠ΅ΠΆΠΈΠΌ ΠΏΠΎΠ΄ DOS: ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠ°Ρ ΡΠ°Π±ΠΎΡΠ° β 1″. ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ
ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΡΡΠΈΡΠ°Π½ΠΈΡ ΠΈ Π·Π°ΠΏΠΈΡΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΠΌΠΈΠΊΡΠΎΡΡ
Π΅ΠΌΡ BIOS, ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π±ΠΎΠ»Π΅Π΅
ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ β ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° ΠΈ ΡΡΠ°ΡΡΡΠ° ΡΡΠΎΠΉ ΠΌΠΈΠΊΡΠΎΡΡ
Π΅ΠΌΡ.
ΠΠ°ΡΠ°Π»ΠΎΠ³ WORK\ID_FLASH ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ:
ASM_TD.BAT β ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, Π»ΠΈΠ½ΠΊΠΎΠ²ΠΊΡ ΠΈ Π·Π°ΠΏΡΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
ΠΏΠΎΠ΄ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠΎΠΌ. ΠΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ TASM ΠΈ TLINK ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΎΠΏΡΠΈΠΈ, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΠΈΠ΅
Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π² EXE ΡΠ°ΠΉΠ».
ASM_EXE.BAT β ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Π»ΠΈΠ½ΠΊΠΎΠ²ΠΊΡ. ΠΠ΅Π½Π΅ΡΠΈΡΡΠ΅ΡΡΡ
EXE ΡΠ°ΠΉΠ».
FLASH_ID.ASM β ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
A20.INC β ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π°Π΄ΡΠ΅ΡΠ½ΠΎΠΉ
Π»ΠΈΠ½ΠΈΠΈ A20 Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π²ΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ° ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ.
BIGREAL.INC β ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΡΠ΅ΠΆΠΈΠΌΠ° Big Real Mode, Π΄Π»Ρ
ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ 32-Π±ΠΈΡΠ½ΡΡ
Π°Π΄ΡΠ΅ΡΠΎΠ² Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ 0-4 ΠΠ±. ΠΡΠΎΡ ΡΠ΅ΠΆΠΈΠΌ, ΠΊΠ°ΠΊ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅
Π°Π΄ΡΠ΅ΡΠ½ΠΎΠΉ Π»ΠΈΠ½ΠΈΠ΅ΠΉ A20, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π²
ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅, ΡΠ΅Π³ΠΈΡΡΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° SPI ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΡ
Memory-mapped I/O, ΡΠΎ Π΅ΡΡΡ Π°Π΄ΡΠ΅ΡΡΡΡΡΡ Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΏΠ°ΠΌΡΡΠΈ.
SPIFLASH.INC β ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΏΡΠΎΡΠ΅Π΄ΡΡ Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΠΌΠΈΠΊΡΠΎΡΡ
Π΅ΠΌΠΎΠΉ
BIOS, ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π½ΠΎΠΉ ΠΊ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ SPI. Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° SPI Π² ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ
ΡΠΈΠΏΡΠ΅ΡΠ°Ρ
ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ, Π΄Π°Π½Π½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΠΌΠΈΠΊΡΠΎΡΡ
Π΅ΠΌΡ
Intel ICH8, ΡΠΎ Π΅ΡΡΡ «ΡΠΆΠ½ΠΎΠ³ΠΎ ΠΌΠΎΡΡΠ°» ΡΠΈΠΏΡΠ΅ΡΠ° Intel 965. ΠΠ»Ρ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ
ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡ Π΄Π°Π½Π½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ ΠΊ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ [3].
OUTPUT.INC β ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΏΡΠΎΡΠ΅Π΄ΡΡ Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ
ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ Ρ
ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΠΉ DOS ΠΈ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π° ΡΠ΅ΡΡΠ½Π°Π΄ΡΠ°ΡΠ΅ΡΠΈΡΠ½ΡΡ
ΡΠΈΡΠ΅Π» Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ΅
ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅.
DATASEGS.INC β Π‘Π΅Π³ΠΌΠ΅Π½ΡΡ Π΄Π°Π½Π½ΡΡ
. Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ΅Π³ΠΌΠ΅Π½Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
, ΡΠ΅Π³ΠΌΠ΅Π½Ρ
ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ
ΡΡΡΠΎΠΊ ΠΈ ΡΠ΅Π³ΠΌΠ΅Π½Ρ ΡΡΠ΅ΠΊΠ°.
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΡΠ΅Π½ΠΈΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° ΠΈ ΡΡΠ°ΡΡΡΠ° ΠΌΠΈΠΊΡΠΎΡΡ
Π΅ΠΌΡ
BIOS. ΠΡΠΌΠ΅ΡΠ°ΡΠΈΡ ΠΏΡΠ½ΠΊΡΠΎΠ² ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ Π½ΠΈΠΆΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π½ΡΠΌΠ΅ΡΠ°ΡΠΈΠΈ
ΠΏΡΠ½ΠΊΡΠΎΠ² Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ
ΠΊ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠΌΡ ΡΠ΅ΠΊΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. Π‘ΠΌ. ΡΠ°ΠΉΠ»
WORK\ID_FLASH\flash_id.asm.
1) Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π°Π΄ΡΠ΅ΡΠ° ΡΡΠ΅ΠΊΠ°, Π·Π°Π³ΡΡΠ·ΠΊΠ° ΡΠ΅Π³ΠΈΡΡΡΠΎΠ² SS ΠΈ SP.
2) ΠΡΠ΄Π°ΡΠ° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎ Π½Π°ΡΠ°Π»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
3) ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΡΠ΅ΠΆΠΈΠΌΠ° ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° (Real ΠΈΠ»ΠΈ Protected). Π’Π°ΠΊ ΠΊΠ°ΠΊ Π΄Π°Π½Π½Π°Ρ
ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ ΡΠ΅Π³ΠΈΡΡΡΠ°ΠΌΠΈ ΡΠΈΠΏΡΠ΅ΡΠ° ΠΈ
Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΌΠΈ ΡΠ΅ΡΡΡΡΠ°ΠΌΠΈ, ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ Real Mode. ΠΡΠ»ΠΈ
ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ Protected Mode, ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄ΠΈΠΌ ΠΊ ΠΏΡΠ½ΠΊΡΡ 15 (Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ Ρ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ).
4) ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° ΠΊ Π°Π΄ΡΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΠ°ΠΌΡΡΠΈ Π²ΡΡΠ΅ 1 MB. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΡΠ°Π·ΡΠ΅ΡΠ°Π΅ΠΌ Π°Π΄ΡΠ΅ΡΠ½ΡΡ
Π»ΠΈΠ½ΠΈΡ A20 ΠΈ Π²ΠΊΠ»ΡΡΠ°Π΅ΠΌ ΡΠ΅ΠΆΠΈΠΌ Big Real Mode, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ 32-Π±ΠΈΡΠ½ΠΎΠΉ
Π°Π΄ΡΠ΅ΡΠ°ΡΠΈΠΈ Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅. ΠΡΠΎ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ΅Π³ΠΈΡΡΡΠ°ΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°
SPIBAR. ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ Π² [3]. ΠΡΠ»ΠΈ ΠΏΡΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΈ Π°Π΄ΡΠ΅ΡΠ½ΠΎΠΉ Π»ΠΈΠ½ΠΈΠ΅ΠΉ A20 Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΈ
ΠΎΡΠΈΠ±ΠΊΠΈ, ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄ΠΈΠΌ ΠΊ ΠΏΡΠ½ΠΊΡΡ 15 (Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ Ρ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ).
5) ΠΠ΅ΡΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΈΠΏΡΠ΅ΡΠ° ΠΌΠ°ΡΠ΅ΡΠΈΠ½ΡΠΊΠΎΠΉ ΠΏΠ»Π°ΡΡ, ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π°Π΄ΡΠ΅ΡΠ° Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° RCBA
(Root Complex Base Address). ΠΠ½Π°ΡΠ°Π»Π΅ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ
PCIBIOS, Π·Π°ΡΠ΅ΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ PCIBIOS, ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ Π½Π°Π»ΠΈΡΠΈΠ΅ «ΡΠΆΠ½ΠΎΠ³ΠΎ ΠΌΠΎΡΡΠ°» Intel ICH8
ΠΏΠΎ ΠΊΠΎΠ΄Π°ΠΌ PCI Vendor ID, PCI Device ID. ΠΡΠ»ΠΈ ΡΠΈΠΏΡΠ΅Ρ Π½Π΅ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π½, ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄ΠΈΠΌ ΠΊ
ΠΏΡΠ½ΠΊΡΡ 14 (Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ Ρ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ). ΠΠ°ΠΏΠΎΠΌΠ½ΠΈΠΌ, ΡΡΠΎ ΡΠ΅ΠΊΡΡΠ°Ρ Π²Π΅ΡΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΡΠΎΠ»ΡΠΊΠΎ Ρ Π΄Π°Π½Π½ΡΠΌ ΡΠΈΠΏΠΎΠΌ «ΡΠΆΠ½ΠΎΠ³ΠΎ ΠΌΠΎΡΡΠ°». Π‘ΡΠΈΡΡΠ²Π°Π΅ΠΌ Π±Π°Π·ΠΎΠ²ΡΠΉ
Π°Π΄ΡΠ΅Ρ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° RCBA.
6) Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΈΠΊΠ»ΠΎΠ² Π·Π°ΠΏΠΈΡΠΈ Π΄Π»Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° SPI. Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ Π±ΠΈΡ 0
Π² ΡΠ΅Π³ΠΈΡΡΡΠ΅ BIOS_CNTL. ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ Π² [3].
7) Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ ΠΈ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ½ΡΡ
ΡΠ΅Π³ΠΈΡΡΡΠΎΠ². DS:EBX Π΄Π°Π»Π΅Π΅ Π±ΡΠ΄Π΅Ρ
ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΊ Π±Π°Π·ΠΎΠ²ΡΠΉ Π°Π΄ΡΠ΅Ρ Π±Π»ΠΎΠΊΠ° ΡΠ΅Π³ΠΈΡΡΡΠΎΠ² ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° SPI (SPIBAR). ΠΡΠΎΡ
ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²Ρ
ΠΎΠ΄Π½ΡΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ Π΄Π»Ρ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ SPI_Read ΠΈ
Scan_Opcode_Menu. ΠΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌ Big Real Mode, DS=0, Π° EBX ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ 32-Π±ΠΈΡΠ½ΡΠΉ
ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°Π΄ΡΠ΅Ρ. ΠΠ°Π·ΠΎΠ²ΡΠΉ Π°Π΄ΡΠ΅Ρ Π±Π»ΠΎΠΊΠ° ΡΠ΅Π³ΠΈΡΡΡΠΎΠ² ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° SPI ΡΠ°Π²Π΅Π½
RCBA+3020h. Π‘Π΅Π³ΠΌΠ΅Π½Ρ ES Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΡΡΡΠΎΠΊ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ
ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ.
8) Π‘ΡΠΈΡΡΠ²Π°Π΅ΠΌ ΠΈ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΌΠΈΠΊΡΠΎΡΡ
Π΅ΠΌΡ Flash ROM.
ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π΄Π²Π° Π±Π°ΠΉΡΠ°. ΠΠ΅ΡΠ²ΡΠΉ Π±Π°ΠΉΡ β Vendor ID (ΡΠΈΠ½ΠΎΠ½ΠΈΠΌ Manufacturer
ID) ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΡΠ΅Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ ΠΌΠΈΠΊΡΠΎΡΡ
Π΅ΠΌΡ, Π² Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΎΠ½ ΡΠ°Π²Π΅Π½ BFh, ΡΡΠΎΡ
ΠΊΠΎΠ΄ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ ΡΠΈΡΠΌΠ΅ SST. ΠΡΠΎΡΠΎΠΉ Π±Π°ΠΉΡ β ΡΠΈΠΏ ΠΌΠΈΠΊΡΠΎΡΡ
Π΅ΠΌΡ, Π΄Π»Ρ 25VF080B ΠΎΠ½ ΡΠ°Π²Π΅Π½ 8Eh.
ΠΡΠΎΡΠ΅Π΄ΡΡΠ° ΡΡΠ΅Π½ΠΈΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΌΠΈΠΊΡΠΎΡΡ
Π΅ΠΌΠ΅ ΠΊΠΎΠ΄Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ (90h
Π΄Π»Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Read ID) ΠΈ ΡΡΠΈΡΡΠ²Π°Π½ΠΈΡ Π΄Π²ΡΡ
Π±Π°ΠΉΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ°.
ΠΠ°ΠΏΠΎΠΌΠ½ΠΈΠΌ, ΡΡΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ SPI Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΊΠΎΠ΄
ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΌΠΈΠΊΡΠΎΡΡ
Π΅ΠΌΠ΅ Flash ROM, ΡΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ ΠΊΠΎΡΠ²Π΅Π½Π½ΠΎ, ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ Π±Π»ΠΎΠΊΠ° ΡΠ΅Π³ΠΈΡΡΡΠΎΠ²
OpCode Menu. ΠΠ°ΠΆΠ΄ΡΠΉ Π±Π°ΠΉΡ 8-Π±Π°ΠΉΡΠ½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° OpCode Menu ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΊΠΎΠ΄ΠΎΠ²
ΠΊΠΎΠΌΠ°Π½Π΄ Π΄Π»Ρ ΠΌΠΈΠΊΡΠΎΡΡ
Π΅ΠΌΡ Flash ROM (ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ°, ΡΡΠ΅Π½ΠΈΠ΅ ΡΡΠ°ΡΡΡΠ°, Π·Π°ΠΏΠΈΡΡ,
ΡΡΠΈΡΠ°Π½ΠΈΠ΅, ΠΈ Ρ.ΠΏ.). ΠΡΠΎΡ Π±Π»ΠΎΠΊ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ BIOS ΠΏΡΠΈ ΡΡΠ°ΡΡΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ. ΠΠ»Ρ
ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ Π½ΠΎΠΌΠ΅Ρ Π±Π°ΠΉΡΠ° Π² 8-Π±Π°ΠΉΡΠ½ΠΎΠΌ
Π±Π»ΠΎΠΊΠ΅ OpCode Menu, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄ ΡΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ. Π’Π°ΠΊ ΠΊΠ°ΠΊ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄ΠΎΠ² Π²
ΡΡΠ΅ΠΉΠΊΠ°Ρ
OpCode Menu Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ BIOS ΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠΌ,
ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠ½Π°ΡΠ°Π»Π° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΡΠΎΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°ΡΡ OpCode Menu ΠΈ Π½Π°ΠΉΡΠΈ Π½ΠΎΠΌΠ΅Ρ ΡΡΠ΅ΠΉΠΊΠΈ, Π²
ΠΊΠΎΡΠΎΡΠΎΠΉ Ρ
ΡΠ°Π½ΠΈΡΡΡ ΠΊΠΎΠ΄ ΡΡΠ΅Π±ΡΠ΅ΠΌΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ (90h Π΄Π»Ρ Read ID). ΠΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ
ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Scan_OpCode_Menu. ΠΠ°ΡΠ΅ΠΌ, ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΉ 3-Π±ΠΈΡΠ½ΡΠΉ Π½ΠΎΠΌΠ΅Ρ ΡΡΠ΅ΠΉΠΊΠΈ
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ Π±ΠΈΡΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ»Π΅ COP (Cycle Opcode Pointer) ΠΏΡΠΈ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ
32-Π±ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π΄Π»Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° SPI. ΠΡΠΎΠΌΠ΅ COP, ΠΊΠΎΠ΄ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠ°ΠΊΠΆΠ΅
ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π΅ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΡ
Π±Π°ΠΉΡ Π΄Π°Π½Π½ΡΡ
, ΡΠ°ΡΡΠΎΡΠ΅ Π±ΠΈΡΠΎΠ²ΠΎΠΉ
ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ ΠΈ Ρ.ΠΏ. Π‘ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ 32-Π±ΠΈΡΠ½ΡΠΉ ΠΊΠΎΠ΄ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²Ρ
ΠΎΠ΄Π½ΡΠΌ
ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ Π΄Π»Ρ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ SPI_Read, ΠΊΠΎΡΠΎΡΠ°Ρ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅Ρ Π΅Π³ΠΎ Π² ΡΠ΅Π³ΠΈΡΡΡ Software
Sequencing Flash Control Register, ΠΈΠ½ΠΈΡΠΈΠΈΡΡΡ Π½Π°ΡΠ°Π»ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π½Π°
ΡΠΈΠ½Π΅ SPI. ΠΠ΅ΡΠ΅Π΄ ΡΡΠΈΠΌ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΏΠΈΡΠ°ΡΡ Π°Π΄ΡΠ΅Ρ Π² ΡΠ΅Π³ΠΈΡΡΡ Flash Address Register.
ΠΠ°ΡΠ΅ΠΌ, ΡΠΈΠΊΠ»ΠΈΡΠ΅ΡΠΊΠΈ ΠΎΠΏΡΠ°ΡΠΈΠ²Π°Π΅ΠΌ ΡΠ΅Π³ΠΈΡΡΡ Software Sequencing Flash Status Register
Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ, ΠΈΠ· ΡΠ΅Π³ΠΈΡΡΡΠ° Flash
Data 0 Register, ΡΡΠΈΡΡΠ²Π°Π΅ΠΌ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, Π² Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠΎ Π΄Π²Π° Π±Π°ΠΉΡΠ°
ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° ΠΌΠΈΠΊΡΠΎΡΡ
Π΅ΠΌΡ Flash ROM. ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ Π² [3,5].
9) Π‘ΡΠΈΡΡΠ²Π°Π΅ΠΌ ΠΈ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌ ΡΠ΅Π³ΠΈΡΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΌΠΈΠΊΡΠΎΡΡ
Π΅ΠΌΡ Flash ROM. ΠΡΠΎΡ
ΡΠ΅Π³ΠΈΡΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΎΠ΄ΠΈΠ½ Π±Π°ΠΉΡ, Π΅Π³ΠΎ ΠΏΠΎΠ±ΠΈΡΠ½ΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΎ Π² [5]. ΠΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
Read Status β 05h, ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΈΡΠ°Π΅ΠΌΡΡ
Π±Π°ΠΉΡ β 1. Π ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠΌ, Π΄Π°Π½Π½Π°Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ°
Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½Π° ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ΅ ΡΡΠ΅Π½ΠΈΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ°, ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠΉ Π² ΠΏΡΠ½ΠΊΡΠ΅ 8.
10) ΠΠΎΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠ° BIOS_CNTL, ΡΠΎΡ
ΡΠ°Π½Π΅Π½Π½ΠΎΠ΅ ΠΏΠ΅ΡΠ΅Π΄
Π΅Π³ΠΎ ΠΏΠ΅ΡΠ΅Π½Π°ΡΡΡΠΎΠΉΠΊΠΎΠΉ Π² ΠΏΡΠ½ΠΊΡΠ΅ 6.
11) ΠΠΎΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π°Π΄ΡΠ΅ΡΠ½ΠΎΠΉ Π»ΠΈΠ½ΠΈΠΈ A20 ΠΈ Π²ΡΠΊΠ»ΡΡΠ°Π΅ΠΌ ΡΠ΅ΠΆΠΈΠΌ
32-Π±ΠΈΡΠ½ΠΎΠΉ Π°Π΄ΡΠ΅ΡΠ°ΡΠΈΠΈ (Big Real Mode).
12) ΠΡΠ²ΠΎΠ΄ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΠ± ΡΡΠΏΠ΅ΡΠ½ΠΎΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅. ΠΡΠ° ΡΠΎΡΠΊΠ°
Π²ΡΡ
ΠΎΠ΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΡΠΈ ΠΎΡΡΡΡΡΡΠ²ΠΈΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ.
13) ΠΠ°ΡΠ°Π»ΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠΉ Π΄Π»Ρ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΡΠΈ
ΠΎΡΠΈΠ±ΠΊΠ°Ρ
. ΠΠΎΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠ° BIOS_CNTL, ΡΠΎΡ
ΡΠ°Π½Π΅Π½Π½ΠΎΠ΅ ΠΏΠ΅ΡΠ΅Π΄
Π΅Π³ΠΎ ΠΏΠ΅ΡΠ΅Π½Π°ΡΡΡΠΎΠΉΠΊΠΎΠΉ Π² ΠΏΡΠ½ΠΊΡΠ΅ 6. Π‘ΡΠ΄Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ, Π΅ΡΠ»ΠΈ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ
ΠΏΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ΅Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠ΅Π³ΠΈΡΡΡΠ° BIOS_CNTL ΠΈ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π΅Π³ΠΎ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅Π΄
Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
14) ΠΠΎΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π°Π΄ΡΠ΅ΡΠ½ΠΎΠΉ Π»ΠΈΠ½ΠΈΠΈ A20 ΠΈ Π²ΡΠΊΠ»ΡΡΠ°Π΅ΠΌ ΡΠ΅ΠΆΠΈΠΌ
32-Π±ΠΈΡΠ½ΠΎΠΉ Π°Π΄ΡΠ΅ΡΠ°ΡΠΈΠΈ (Big Real Mode).
15) ΠΡΠ²ΠΎΠ΄ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ°Ρ
ΠΈ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΡΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅
ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π½Π° ΡΡΠΎΡ ΠΏΡΠ½ΠΊΡ, ΡΠ΅Π³ΠΈΡΡΡ BP Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΡΡΠΎΠΊΡ
ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅.
Β
ΠΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠΈΠΉ ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΠΌΠΈΠΊΡΠΎΡΡ
Π΅ΠΌΡ BIOS Π² ΡΠ°ΠΉΠ»,
Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ WORK\RD_FLASH. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ
ΡΠΎΡ
ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΎΠ±Π»Π°ΡΡΠΈ Π°Π΄ΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° FFF00000h-FFFFFFFFh Π² ΡΠ°ΠΉΠ» ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ 1
ΠΠ± ΠΈ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ BIOS.BIN. Π€Π°ΠΉΠ» ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅. Π Π°Π·ΠΌΠ΅Ρ
ΡΠΎΡ
ΡΠ°Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° Π½Π΅ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠΉ ΠΌΠΈΠΊΡΠΎΡΡ
Π΅ΠΌΡ BIOS,
ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΠ΅ ΡΠΈΠΏΠ° ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΌΠΈΠΊΡΠΎΡΡ
Π΅ΠΌΡ Π½Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ Π² Π΄Π°Π½Π½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ.
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΌΠ°ΡΠ΅ΡΠΈΠ½ΡΠΊΠΈΠ΅ ΠΏΠ»Π°ΡΡ Ρ «ΡΠΆΠ½ΡΠΌ ΠΌΠΎΡΡΠΎΠΌ» Intel ICH8. ΠΠ»Ρ
Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΌΠ° ΠΌΠΈΠΊΡΠΎΡΡ
Π΅ΠΌΡ BIOS Π² Π°Π΄ΡΠ΅ΡΠ½ΠΎΠ΅
ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΡ Π±ΠΈΡΠΎΠ² FWH_F8_EN, FWH_F0_EN Π²
ΡΠ΅Π³ΠΈΡΡΡΠ΅ FWH_DEC_EN1, ΡΠ΅ΠΌ ΠΈ ΠΎΠ±ΡΡΠ»ΠΎΠ²Π»Π΅Π½Π° Π΅Π΅ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ° ΠΊ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΌΡ ΡΠΈΠΏΡΠ΅ΡΡ.
ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ Π² [3].
ΠΡΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌ, Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ SPI Flash ΠΌΠΎΠΆΠ½ΠΎ
ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ «ΡΡΠ°ΡΡΠΉ» ΠΌΠ΅ΡΠΎΠ΄ Π΄ΠΎΡΡΡΠΏΠ° ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΠΎΠΊΠ½Π° Π² Π°Π΄ΡΠ΅ΡΠ½ΠΎΠΌ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅,
ΡΡΠΎ ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅. Π ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΡΡΠ΅Π±ΡΡΡΠΈΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄
ΠΌΠΈΠΊΡΠΎΡΡ
Π΅ΠΌΠ΅ SPI Flash (ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° ΠΈΠ»ΠΈ ΡΡΠ°ΡΡΡΠ°, Π·Π°ΠΏΠΈΡΡ, ΡΡΠΈΡΠ°Π½ΠΈΠ΅) ΠΌΠΎΠ³ΡΡ
Π±ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Ρ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ² ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° SPI. Π’Π°ΠΊΠΎΠΉ ΠΌΠ΅ΡΠΎΠ΄
ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ Π² ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ
1 ΠΈ 3.
Β
ΠΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠΈΠΉ ΡΡΠΈΡΠ°Π½ΠΈΠ΅ ΠΈ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΡ ΠΌΠΈΠΊΡΠΎΡΡ
Π΅ΠΌΡ BIOS,
Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ WORK\WR_FLASH. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ
Π·Π°ΠΏΠΈΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Ρ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ BIOS.BIN ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ 1 ΠΠ± Π²
ΠΌΠΈΠΊΡΠΎΡΡ
Π΅ΠΌΡ BIOS. Π€Π°ΠΉΠ» Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡΡ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅.
Β
Π ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠΉ ΡΠ°Π· ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠ½Ρ, ΡΡΠΎ ΡΠ΅Π»ΡΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΉ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ
ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ «Π²ΡΠ΅Π΄ΠΈΡΠ΅Π»Π΅ΠΉ». ΠΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ Π±ΡΠ΄ΡΡ ΠΏΠΎΠ»Π΅Π·Π½Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠ°ΠΌ ΠΏΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ
Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ.
ΠΡΡΠ°Π±ΠΎΡΠΊΠ° ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠΎΠ² Π΄Π»Ρ ΠΏΡΠΎΡΠΈΠ²ΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΡΠ³ΡΠΎΠ·Π΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° Π±Π΅Π·
Π΄Π΅ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ ΡΠ°ΠΌΠΎΠΉ ΡΠ³ΡΠΎΠ·Ρ.
ΠΡΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Π° ΠΈΠ· ΠΎΡΠΊΡΡΡΡΡ
ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ², ΡΠΏΠΈΡΠΎΠΊ ΠΊΠΎΡΠΎΡΡΡ
ΠΏΡΠΈΠ»Π°Π³Π°Π΅ΡΡΡ.
Β
1) Intel Low Pin Count (LPC) Interface Specification. Revision 1.1. Document
Number 251289-001.
2) Intel P965 Express Chipset Family Datasheet β For the Intel 82P965 Memory
Controller Hub (MCH). Document Number: 313053-001.
3) Intel I/O Controller Hub 8 (ICH8) Family Datasheet β For the Intel 82801HB
ICH8 and 82801HR ICH8R I/O Controller Hubs. Document Number: 313056-001.
4) 1 Mbit SPI Serial Flash SST25VF010 Data Sheet. Document Number:
S71233-01-000.
5) 8 Mbit SPI Serial Flash SST25VF080B Data Sheet. Document Number:
S71296-01-000.
6) W25X10A, W25X20A, W25X40A, W25X80A 1M-bit, 2M-bit, 4M-bit and 8M-bit
Serial Flash Memory with 4KB sectors and dual output SPI Data Sheet.
7) MX25L802 8M-bit [8Mx1] CMOS Serial Flash EEPROM Data Sheet.
8) SPI EEPROM Interface Specification. Part Number 223-0017-004 Revision H.
9) SPI Interface Specification. Technical Note 15.
ΠΠΎΠΊΡΠΌΠ΅Π½ΡΡ [11], [12] Π½Π° ΡΠ°ΠΉΡΠ΅ pcisig.com Π΄ΠΎΡΡΡΠΏΠ½Ρ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΠ»Π΅Π½ΠΎΠ² PCI
Special Interest Group. ΠΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π²ΡΠΈΡΡ ΠΏΠΎΠΈΡΠΊΠΎΠ²ΡΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ, ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ
Π΄Π°Π½Π½ΡΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ Π΄Π»Ρ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ.
10) PCI BIOS Specification. Revision 2.1.
11) PCI Local Bus Specification. Revision 3.0.
12) PCI-to-PCI Bridge Architecture Specification. Revision 1.1.
xakep.ru
ΠΠ΅ ΡΡΠΎΠ»Ρ Π΄Π°Π²Π½ΠΎ ΠΏΡΠΈΠΊΠ»ΡΡΠΈΠ»Π°ΡΡ ΡΠΎ ΠΌΠ½ΠΎΠΉ ΠΎΠ΄Π½Π° Π½Π΅ΠΏΡΠΈΡΡΠ½ΠΎΡΡΡ. ΠΡΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ BIOS Π½Π° ΠΌΠ°ΡΠ΅ΡΠΈΠ½ΡΠΊΠΎΠΉ ΠΏΠ»Π°ΡΠ΅, Π½ΠΎ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»Π° ΠΎΡΠΈΠ±ΠΊΠ°, ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π°Π²ΠΈΡΠ»Π° ΠΈ ΠΏΠ΅ΡΠ΅ΡΡΠ°Π»Π° ΠΎΡΠ²Π΅ΡΠ°ΡΡ Π½Π° Π»ΡΠ±ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ. ΠΠΎΡΠ»Π΅ Π²ΡΠ½ΡΠΆΠ΄Π΅Π½Π½ΠΎΠΉ ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ Π²ΠΊΠ»ΡΡΠΈΠ»ΡΡ, ΠΊΡΡΡΠΈΠ» ΠΊΡΠ»Π΅ΡΠ°ΠΌΠΈ, Π½ΠΎ Π½Π° ΡΠΊΡΠ°Π½Π΅ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π»ΠΎΡΡ ΠΈ Π½Π΅ Π±ΡΠ»ΠΎ Π½ΠΈΠΊΠ°ΠΊΠΈΡ Π·Π²ΡΠΊΠΎΠ²ΡΡ ΡΠΈΠ³Π½Π°Π»ΠΎΠ². ΠΠ° Π»ΠΈΡΠΎ ΠΏΠΎΠ²ΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ BIOS ΠΏΡΠΈ Π·Π°ΠΏΠΈΡΠΈ.
ΠΠ°ΡΠ΅ΡΠΈΠ½ΡΠΊΠ°Ρ ΠΏΠ»Π°ΡΠ° ASUS Commando, Π±Π΅Π·, ΠΌΠΎΠ΄Π½ΠΎΠ³ΠΎ Π½ΡΠ½ΡΠ΅, Dual BIOS. Π’ΠΎΠ»ΡΠΊΠΎ Boot Block β Π½Π΅Π±ΠΎΠ»ΡΡΠ°Ρ ΠΎΠ±Π»Π°ΡΡΡ BIOS, Π½Π΅ Π·Π°ΡΡΠ°Π³ΠΈΠ²Π°Π΅ΠΌΠ°Ρ Π·Π°ΠΏΠΈΡΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ, Π² ΡΠ»ΡΡΠ°Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ, ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ Π½Π°Π±ΠΎΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ², Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π΄Π»Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°, ΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ ΠΏΠΎΠΈΡΠΊ BIOS Π½Π° ΡΡΠ΅ΠΌΠ½ΡΡ Π½ΠΎΡΠΈΡΠ΅Π»ΡΡ . ΠΠ±ΡΡΠ½ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡ Floppy ΠΈΠ»ΠΈ ΡΠ»Π΅ΡΠΊΠ° Ρ ΡΠ°ΠΉΠ»ΠΎΠΌ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ, ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠΌ Π² AMIBOOT.ROM (Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ BIOS ΠΈ ΠΌΠ°ΡΠ΅ΡΠΈΠ½ΡΠΊΠΎΠΉ ΠΏΠ»Π°ΡΡ, ΡΠΎΡΠ½Π΅Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ Π² ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΊ ΠΏΠ»Π°ΡΠ΅), Π»ΠΈΠ±ΠΎ CD Ρ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°ΠΌΠΈ ΠΈΠ· ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ° ΠΏΠΎΡΡΠ°Π²ΠΊΠΈ. ΠΠ±Π½Π°ΡΡΠΆΠΈΠ² ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠΉ ΡΠ°ΠΉΠ», boot block Π·Π°ΠΏΠΈΡΠ΅Ρ Π΅Π³ΠΎ Π² BIOS ΠΈ, Π΅ΡΠ»ΠΈ Π²ΡΠ΅ ΠΏΡΠΎΡΠ»ΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ, ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ ΠΏΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΎΠΆΠΈΠ²Π΅Ρ. ΠΠ΅ΠΏΠ»ΠΎΡ Π°Ρ ΡΠΈΡΠΊΠ°, Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π· Π²ΡΡΡΡΠ°Π»Π°, Π½ΠΎ Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΠ½Π° Π½Π΅ ΡΡΠ°Π±ΠΎΡΠ°Π»Π°, Π²ΠΈΠ΄ΠΈΠΌΠΎ, ΠΎΠΊΠ°Π·Π°Π»ΡΡ ΠΏΠΎΠ²ΡΠ΅ΠΆΠ΄Π΅Π½ ΠΈ boot block.
ΠΡΠΈΡΠ»ΠΎΡΡ ΠΈΡΠΊΠ°ΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ. Π’Π°ΠΊ ΠΊΠ°ΠΊ Π² ΡΠ²ΠΎΠ΅ΠΌ Π°ΡΡΠ΅Π½Π°Π»Π΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° Ρ ΠΌΠ΅Π½Ρ Π½Π΅ Π±ΡΠ»ΠΎ ΠΏΠ°ΡΠ»ΡΠ½ΠΎΠΉ ΡΡΠ°Π½ΡΠΈΠΈ ΠΈ ΡΡΠ°ΡΠΈΠΎΠ½Π°ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠ° Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ eepromβΠΎΠΊ, ΠΏΡΠΈΡΠ»ΠΎΡΡ ΠΈΡΠΊΠ°ΡΡ Π±ΠΎΠ»Π΅Π΅ Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ. Π Π°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Ρ ΠΏΠ»Π°ΡΡ, Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ» Π½Π° Π½Π΅ΠΉ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΠ°Π·ΡΠ΅ΠΌ SPI_J1, Π° ΠΌΠΈΠΊΡΠΎΡΡ Π΅ΠΌΠ° ΡΠ»Π΅Ρ ΠΏΠ°ΠΌΡΡΠΈ ΠΊΠ°ΠΊ ΡΠ°Π· Ρ SPI ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ. ΠΠΎΠΈΡΠΊ Π² ΠΠ½ΡΠ΅ΡΠ½Π΅Ρ ΠΏΠΎΠΊΠ°Π·Π°Π», ΡΡΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ Π²ΠΏΠΎΠ»Π½Π΅ ΠΏΡΠΈΠ»ΠΈΡΠ½ΡΠ΅ Π·Π°Π²ΠΎΠ΄ΡΠΊΠΈΠ΅ Π΄Π΅Π²Π°ΠΉΡΡ ΠΈ Π½Π΅ΠΌΠ°Π»ΠΎ ΡΠ°ΠΌΠΎΠ΄Π΅Π»ΠΎΠΊ Π΄Π»Ρ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ SPI ΠΌΠΈΠΊΡΠΎΡΡ Π΅ΠΌ ΡΠ΅ΡΠ΅Π· USB (ΠΎΠ± ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠ°Ρ Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ SPI Π΄Π°ΠΆΠ΅ Π½Π΅ Π³ΠΎΠ²ΠΎΡΡ, ΡΡΠΎ ΡΠ°ΠΌΠΎ ΡΠΎΠ±ΠΎΠΉ). ΠΡΠ°Π²Π΄Π°, ΠΏΠΎΠΈΡΠΊ ΠΏΠΎ ΠΌΠ΅ΡΡΠ½ΡΠΌ ΠΌΠ°Π³Π°Π·ΠΈΠ½Π°ΠΌ, Π‘Π¦ ΠΈ ΡΠΎΡΡΠΌΠ°ΠΌ Π² ΠΎΡΠ»ΠΈΡΠΈΠΈ ΠΎΡ Google Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π΄Π°Π», Π° Π·Π°ΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΈ ΠΆΠ΄Π°ΡΡ ΠΌΠ΅ΡΡΡ ΠΎΡΠ΅Π½Ρ Π½Π΅ Ρ ΠΎΡΠ΅Π»ΠΎΡΡ.
ΠΡΠ΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠΈΡΠΊΠ°, ΠΈ Π²ΠΎΡ ΠΎΠ½ΠΎ, ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ β ΡΡΠ°ΡΡΡ ΡΠ΅ΡΡΠΊΠΎΠ³ΠΎ ΠΊΠΎΠΌΡΠ°Π΄Π° (Π½Π° ΡΠ΅ΡΡΠΊΠΎΠΌ) ΠΎ ΠΏΡΠ΅Π΄Π΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠ΅ ΠΈ ΡΠΎΡΡΠΈΠ½Π΅ ΠΊ Π½Π΅ΠΌΡ Π΄Π»Ρ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ ΠΌΠΈΠΊΡΠΎΡΡ Π΅ΠΌ ΡΠ»Π΅Ρ ΠΏΠ°ΠΌΡΡΠΈ Ρ SPI ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ! ΠΠΈΡΠ΅Π³ΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎΠ³ΠΎ, ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ².
Π’Π΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈ ΡΡΠΎ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΏΠΎΡΠΎΠ±, ΠΈ ΡΡΠ΅Π±ΡΠ΅Ρ Π»ΠΈΡΡ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ ΡΡ Π΅ΠΌΠΎΡΠ΅Ρ Π½ΠΈΠΊΠΈ, ΡΠΌΠ΅Π½ΠΈΡ ΠΏΡΠΈΠΏΠ°ΡΡΡ ΠΏΠ°ΡΡ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΊΠΎΠ² ΠΈ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΎΠΉ (cmd). ΠΠΎ Π΅ΡΠ»ΠΈ Π²Ρ Π½Π΅ ΡΠ²Π΅ΡΠ΅Π½Ρ Π² ΡΠ²ΠΎΠΈΡ ΡΠΈΠ»Π°Ρ , Π»ΡΡΡΠ΅ Π½Π΅ ΡΠΈΡΠΊΡΠΉΡΠ΅. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π²ΡΠ΅Π³Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΏΡΠΎΡΠΈΡΡ Π΄ΡΡΠ³Π°, Π΄ΡΡΠΆΠ°ΡΠ΅Π³ΠΎ Ρ ΠΏΠ°ΡΠ»ΡΠ½ΠΈΠΊΠΎΠΌ.
ΠΠΈΡΠ΅Π³ΠΎ Π΄Π΅ΡΠΈΡΠΈΡΠ½ΠΎΠ³ΠΎ Π½Π΅Ρ, Π²ΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π² ΠΊΡΡΠ΅ Ρ Π»Π°ΠΌΠ° ΠΈΠ»ΠΈ Π·Π° ΠΊΠΎΠΏΠ΅ΠΉΠΊΠΈ Π² Π»ΡΠ±ΠΎΠΌ ΡΠ°Π΄ΠΈΠΎΠΌΠ°Π³Π°Π·ΠΈΠ½Π΅. Π Ρ ΡΠ΄ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ ΠΎΠ±ΠΎΠΉΡΠΈΡΡ Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΠΊΡΡΠΊΠ°ΠΌΠΈ ΠΏΡΠΎΠ²ΠΎΠ΄Π°, ΠΏΠΎΠ΄ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΠ² ΠΊΠΎΠ½ΡΠ°ΠΊΡΡ Ρ SPI Π½Π°ΠΏΡΡΠΌΡΡ ΠΊ LPT, ΠΎΠ΄Π½Π°ΠΊΠΎ, Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½ΡΠΆΠ½ΠΎ Π±ΡΡΡ ΠΏΡΠ΅Π΄Π΅Π»ΡΠ½ΠΎ ΠΎΡΡΡΠΎΠΆΠ½ΡΠΌ, Π΄Π° ΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΡΡΡ Π·Π°ΠΏΠΈΡΠΈ Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎ.
Π‘Ρ Π΅ΠΌΠ° Ρ ΡΠ°ΠΉΡΠ° Π°Π²ΡΠΎΡΠ°, ΠΏΡΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΊ ΡΠΈΠΏΡ (Π΄Π»Ρ ΡΠ»Π΅Ρ-ΠΏΠ°ΠΌΡΡΠΈ Ρ ΡΠ°Π±ΠΎΡΠΈΠΌ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ΠΌ 3 Π²ΠΎΠ»ΡΡΠ°):
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡ SPIPGM ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΈ Π΄Π»Ρ ΠΌΠΈΠΊΡΠΎΡΡ Π΅ΠΌ ΡΠ»Π΅Ρ-ΠΏΠ°ΠΌΡΡΠΈ Ρ ΡΠ°Π±ΠΎΡΠΈΠΌ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ΠΌ 1.8 ΠΠΎΠ»ΡΡ. ΠΠ²ΡΠΎΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅Ρ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ (ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠΎΠ΄Π° ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π½ΠΈΠΊ), ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΊ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌΡ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΈ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ΅Π·ΠΈΡΡΠΎΡΠΎΠ² Π΄Π»Ρ Π³Π°ΡΠ΅Π½ΠΈΡ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΊΠ°ΡΠΊΠ°Π΄Π° ΡΡΠΈΠ»Π΅Π½ΠΈΡ Π½Π° ΡΡΠ°Π½Π·ΠΈΡΡΠΎΡΠ°Ρ BC547 Π΄Π»Ρ Π²ΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΈΠ³Π½Π°Π»Π° ΡΠΈΠΏΠ° (ΡΡ Π΅ΠΌΡ Π½Π° ΡΠ°ΠΉΡΡ Π°Π²ΡΠΎΡΠ° ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅ Π²ΡΡΠ΅). ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡΡ Π°Π΄Π°ΠΏΡΠ°ΡΠΈΡ ΡΡ Π΅ΠΌΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, ΡΡΠ°Π·Ρ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½Π°Ρ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠΈΠΏΠ°ΠΌΠΈ Π½Π° 1.8Π. ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ ΠΏΠΈΡΠ°Π½ΠΈΡ Π² 1.8 ΠΠΎΠ»ΡΡΠ° ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ (Π½Π° ΡΡ Π΅ΠΌΠ΅ ΡΠ΅ΡΡΠ΅ ΡΠ΅Π·ΠΈΡΡΠΎΡΡ, ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ 1/4 ΠΠ°ΡΡ), Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ ΠΏΡΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠ΅ΡΠ΅ΡΡΠΈΡΠ°Π½ Π½Π° Π΄ΡΡΠ³ΠΈΠ΅ Π½ΠΎΠΌΠΈΠ½Π°Π»Ρ (Ρ ΡΠΊΠ°Π·ΡΠ²Π°Ρ Π²Π°ΡΠΈΠ°Π½ΡΡ 10 ΠΈ 12 ΠΠΌ, ΠΈΠ»ΠΈ 100 ΠΈ 120 ΠΠΌ), Π° Π΅ΡΠ΅ Π»ΡΡΡΠ΅ Π·Π°ΠΌΠ΅Π½Π΅Π½ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠΌ DC-DC ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, TLV70018). ΠΠΈΠΎΠ΄Ρ Π»ΡΠ±ΡΠ΅, Π½ΡΠΆΠ½Ρ ΠΎΠ½ΠΈ Π΄Π»Ρ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΈ, Π² ΠΏΡΠΈΠ½ΡΠΈΠΏΠ΅, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΠΎΠΉΡΠΈΡΡ Π±Π΅Π· Π½ΠΈΡ .
ΠΡ ΠΆΠ΅ Π±ΡΠ΄Π΅ΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡ Π½Π΅ ΠΊ ΡΠΈΠΏΡ, Π° ΠΊ ΡΠ°Π·ΡΠ΅ΠΌΡ SPI_J1.
ΠΡΠ»ΠΈ ΡΠ°Π·ΡΠ΅ΠΌ 7 ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ½ΡΠΉ, ΡΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΊ Π½Π΅ΠΌΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
1. -> ΠΏΠΈΡΠ°Π½ΠΈΠ΅ +3.3v 2. -> Π·Π΅ΠΌΠ»Ρ ΠΎΡ ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΈ Π²ΡΠ²ΠΎΠ΄ 18 Π½Π° LPT 3. -> ΡΠ΅Π·ΠΈΡΡΠΎΡ -> LPT 7 4. -> ΡΠ΅Π·ΠΈΡΡΠΎΡ -> LPT 8 5. -> ΡΠ΅Π·ΠΈΡΡΠΎΡ -> LPT 10 6. -> ΡΠ΅Π·ΠΈΡΡΠΎΡ -> LPT 9
Π’Π°ΠΊ ΠΆΠ΅, Π½Π° Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ½ΡΠΊΠΈΡ ΠΏΠ»Π°ΡΠ°Ρ Π±ΡΠ²Π°ΡΡ 9 ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ½ΡΠ΅ ΡΠ°Π·ΡΠ΅ΠΌΡ, ΡΠ°ΠΌ ΡΡ Π΅ΠΌΠ° ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ:
Π Π°Π·ΡΠ΅ΠΌ DB25P Ρ ΠΎΡΠΎΡ ΡΠ΅ΠΌ, ΡΡΠΎ Π²Π½ΡΡΡΠΈ Π½Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΡ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π΅ΡΠ°Π»ΠΈ. ΠΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΠΊΠΎΡΠΎΡΠΊΡΡ Π΄Π»ΠΈΠ½Ρ ΠΊΠ°Π±Π΅Π»Ρ, ΠΈΠ½Π°ΡΠ΅ Π±ΡΠ΄ΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ Π·Π°ΠΏΠΈΡΠΈ. ΠΠ΅ΠΏΠ»ΠΎΡ ΠΎ Π±ΡΠ»ΠΎ Π±Ρ Π·Π°ΠΊΡΡΡΡ ΠΏΡΠΎΠ²ΠΎΠ΄Π° ΡΠΊΡΠ°Π½ΠΎΠΌ, Π»ΠΈΠ±ΠΎ ΠΎΡ Π°Π½ΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠ°Π±Π΅Π»Ρ, Π»ΠΈΠ±ΠΎ ΠΏΡΠΎΡΡΠΎ ΠΎΠ±ΠΌΠΎΡΠ°Π² ΡΠΎΠ»ΡΠ³ΠΎΠΉ ΠΎΡ ΡΠΎΠΊΠΎΠ»Π°Π΄ΠΊΠΈ, Π½Π΅ Π·Π°Π±ΡΠ² ΠΏΠΎΠ΄ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΡ ΡΠΊΡΠ°Π½ ΠΊ Π·Π΅ΠΌΠ»Π΅ (GND).
ΠΡΠΈ ΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΎΡ Π±Π°ΡΠ°ΡΠ΅ΠΉΠΊΠΈ ΠΊΠΎΠ½Π΄Π΅Π½ΡΠ°ΡΠΎΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΊΠ»ΡΡΠΈΡΡ. ΠΠΈΡΠ½ΠΎ Ρ Π±ΡΠ°Π» Ρ +5 ΡΠΈΠ½Ρ Π±Π»ΠΎΠΊΠ° ΠΏΠΈΡΠ°Π½ΠΈΡ (ΠΊΡΠ°ΡΠ½ΡΠΉ ΠΏΡΠΎΠ²ΠΎΠ΄), ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΠ² ΠΊ Π½Π΅ΠΌΡ ΡΠ΅ΡΠ΅Π· ΡΠ°Π·ΡΠ΅ΠΌ molex ΠΈ ΠΏΠΎΠ³Π°ΡΠΈΠ² Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΈΠΎΠ΄Π°ΠΌΠΈ Π΄ΠΎ ~3.3v (Π΄Π²ΡΡ -ΡΡΠ΅Ρ Π΄ΠΈΠΎΠ΄ΠΎΠ² Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ).
ΠΠ»ΠΎΠΊ ΠΏΠΈΡΠ°Π½ΠΈΡ Π²ΡΠ΅ ΠΆΠ΅ Π½Π°Π΄Π΅ΠΆΠ½Π΅ΠΉ Π±Π°ΡΠ°ΡΠ΅ΠΉΠΊΠΈ. ΠΠΌΠ΅Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΠΠ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°ΡΡ Π½Π°ΠΏΡΡΠΌΡΡ ΠΎΡ ΡΠΈΠ½Ρ +3.3 (ΠΎΡΠ°Π½ΠΆΠ΅Π²ΡΠΉ ΠΏΡΠΎΠ²ΠΎΠ΄ ATX ΡΠ°Π·ΡΠ΅ΠΌΠ°). Π§ΡΠΎΠ±Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ Π±Π»ΠΎΠΊ ΠΏΠΈΡΠ°Π½ΠΈΡ Π±Π΅Π· ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ° Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΌΠΊΠ½ΡΡΡ Π·Π΅Π»Π΅Π½ΡΠΉ ΠΈ ΡΠ΅ΡΠ½ΡΠΉ ΠΏΡΠΎΠ²ΠΎΠ΄Π°.
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡΡ ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΌΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ.
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΈΠΏΠΎΠ² (ΠΏΠΎΠ»Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ Π² ΡΠ°ΠΉΠ»Π΅ Readme.txt) ΠΈ ΠΏΠΎ Π·Π°ΡΠ²Π»Π΅Π½ΠΈΡ Π°Π²ΡΠΎΡΠ° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π±ΡΡΡΡΠ΅ΠΉ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ². Π‘ΠΊΠ°ΡΠ°ΡΡ ΡΠ²Π΅ΠΆΡΡ Π²Π΅ΡΡΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Ρ ΡΠ°ΠΉΡΠ° Π°Π²ΡΠΎΡΠ°, Π»ΠΈΠ±ΠΎ ΠΎΡΡΡΠ΄Π°:
ΠΡΠΎΠ΅ΠΊΡ, ΠΊΡΡΠ°ΡΠΈ, ΡΠ°Π·Π²ΠΈΠ²Π°Π΅ΡΡΡ ΠΈ ΠΏΠΎ ΡΠ΅ΠΉ Π΄Π΅Π½Ρ, Π°Π²ΡΠΎΡ ΡΠ°ΡΡΠ΅Π½ΡΠΊΠΎ Π²ΡΠΊΠ»Π°Π΄ΡΠ²Π°Π΅Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ ΠΎ Π½ΠΎΠ²ΡΡ ΡΠΈΠΏΠ°Ρ , Π΄ΠΎΡΠ°Π±ΠΎΡΠΊΠ°ΠΌΠΈ ΠΈ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡΠΌΠΈ.
SPIPGM β ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» Π΄Π»Ρ Linux
SPIPGM.EXE β ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» Π΄Π»Ρ DOS/Win9x
SPIPGMW.EXE β ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» Π΄Π»Ρ Win9x/NT/2k/XP/Vista/7 (ΡΠΎΠ»ΡΠΊΠΎ Ρ 32, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Ρ 64 Π½Π΅Ρ)
IOPERM.DLL β Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ° Π² Win9x/NT/2k/XP/Vista/7(Π±Π΅Π· UAC)
ΠΠ°Π΄Π΅ΠΆΠ½Π΅ΠΉ Π²ΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΠΈΠ²Π°ΡΡ ΠΈΠ· DOS, Π·Π°Π³ΡΡΠ·ΠΈΠ²ΡΠΈΡΡ Ρ Hiren ΠΈΠ»ΠΈ Π»ΡΠ±ΠΎΠ³ΠΎ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠ΅Π³ΠΎ Π·Π°Π³ΡΡΠ·ΠΎΡΠ½ΠΎΠ³ΠΎ CD/Flash. ΠΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈ ΠΈΠ· Windows.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ: spipgmw /<ΠΊΠΎΠΌΠ°Π½Π΄Π°> [ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π°] [Π°Π΄ΡΠ΅Ρ] [ΡΠ°Π·ΠΌΠ΅Ρ] [/l=Π°Π΄ΡΠ΅Ρ] [/d=Π·Π°Π΄Π΅ΡΠΆΠΊΠ°]
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
i β ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΡΠ»Π΅Ρ ΠΏΠ°ΠΌΡΡΠΈ d ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π° β ΡΡΠΈΡΠ°ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ»Π΅Ρ ΠΏΠ°ΠΌΡΡΠΈ Π² ΡΠ°ΠΉΠ» p ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π° β Π·Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ»Π΅Ρ ΠΏΠ°ΠΌΡΡΡ ΠΈΠ· ΡΠ°ΠΉΠ»Π° ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ (Π±Π΅Π· ΡΡΠΈΡΠ°Π½ΠΈΡ) v ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π° β ΡΡΠ°Π²Π½ΠΈΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ»Π΅Ρ ΠΏΠ°ΠΌΡΡΠΈ Ρ ΡΠ°ΠΉΠ»ΠΎΠΌ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ e β ΠΏΠΎΠ»Π½ΠΎΠ΅ ΡΡΠΈΡΠ°Π½ΠΈΠ΅ ΡΠ»Π΅Ρ ΠΏΠ°ΠΌΡΡΠΈ b β ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΡΡΠΈΡΠ°Π½ΠΈΡ ΡΠ»Π΅Ρ ΠΏΠ°ΠΌΡΡΠΈ u β ΡΠ°Π·Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°ΡΡ Π·Π°ΡΠΈΡΡ ΠΎΡ Π·Π°ΠΏΠΈΡΠΈ (Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠΈΠ³Π½Π°Π»Π° WP#)
ΠΠΌΡ ΡΠ°ΠΉΠ»Π° β ΠΏΠΎΠ»Π½ΠΎΠ΅ ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ: file.bin, file.rom ΠΈ Ρ.ΠΏ. Π Π°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠΎΠ»ΠΈ Π½Π΅ ΠΈΠ³ΡΠ°Π΅Ρ, Π³Π»Π°Π²Π½ΠΎΠ΅ ΡΡΠΎΠ±Ρ ΡΡΠΎ Π±ΡΠ» ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» ΠΎΠ±ΡΠ°Π·Π° ΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΡΠΊΠ°Π·Π°Π½ΠΎ ΠΈΠΌΡ.
spipgmw /i β ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΡΠΈΠΏΠ°. ΠΠ»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π²ΡΠ΅ Π»ΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΎ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠΈΠΏ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ. ΠΡΠ»ΠΈ ΡΡΠΎΠ³ΠΎ Π½Π΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ, ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΡΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΡΠΈΠΏΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ.
spipgmw /d BIOS.bak β Π΅ΡΠ»ΠΈ Π½ΡΠΆΠ½ΠΎ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΡΠ΅Π·Π΅ΡΠ²Π½ΡΡ ΠΊΠΎΠΏΠΈΡ ΠΈΠΌΠ΅ΡΡΠ΅Π³ΠΎΡΡ BIOS.
spipgmw /u β ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π·Π°ΠΏΠΈΡΠΈ.
spipgmw /e β ΡΡΠΈΡΠ°Π½ΠΈΠ΅.
spipgmw /p FILE.rom β Π·Π°ΠΏΠΈΡΡ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ (Β«FILE.romΒ» β ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π° ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ, Π½ΡΠΆΠ½ΠΎ ΡΡΠΎΠ±Ρ ΡΠ°ΠΉΠ» Π½Π°Ρ ΠΎΠ΄ΠΈΠ»ΡΡ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ)
β¦ΠΆΠ΄Π΅ΠΌ ΠΏΡΠΎΡΠ΅ΡΡ Π·Π°ΠΏΠΈΡΠΈβ¦
spipgmw /v FILE.rom β ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅ΠΌ Π·Π°ΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Ρ ΡΠ°ΠΉΠ»ΠΎΠΌ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ. ΠΠΈΠ±ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π΄Π°ΠΌΠΏ spipgmw /d test.rom ΠΈ ΡΡΠ°Π²Π½ΠΈΡΡ Π΅Π³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Ρ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΡΠΌ ΡΠ°ΠΉΠ»ΠΎΠΌ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ Π² ΠΊΠ°ΠΊΠΎΠΌ-Π½ΠΈΠ±ΡΠ΄Ρ Hex-ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅.
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π»ΠΈΡΠΈΠ΅ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΡΠΈΠ±ΠΎΠΊ. ΠΠ°Π²ΠΈΡΠΈΡ ΠΎΡ Π΄Π»ΠΈΠ½Π½Ρ ΠΊΠ°Π±Π΅Π»Ρ, ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΡΡΠΈ ΠΏΠΈΡΠ°Π½ΠΈΡ, ΡΠΈΠΏΠ° ΠΏΠ°ΠΌΡΡΠΈ. ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΡΡΠΎΠ±Ρ ΠΎΡΠΈΠ±ΠΎΠΊ Π½Π΅ Π±ΡΠ»ΠΎ Π²ΠΎΠ²ΡΠ΅, Π½ΠΎ Π΄Π°ΠΆΠ΅ Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ ΡΠΊΠΎΡΠ΅ΠΉ Π²ΡΠ΅Π³ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡΡ, Π° ΡΠ°ΠΌ ΡΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠΈΡΡ BIOS ΡΡΠ°ΡΠ½ΡΠΌΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ.
ΠΠ°Π½Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ BIOS ΠΌΠ°ΡΠ΅ΡΠΈΠ½ΡΠΊΠΈΡ ΠΏΠ»Π°Ρ, Π½ΠΎ ΠΈ Π»ΡΠ±ΡΡ Π΄ΡΡΠ³ΠΈΡ ΡΡΡΡΠΎΠΉΡΡΠ², ΠΈΠΌΠ΅ΡΡΠΈΡ SPI ΡΠ°Π·ΡΠ΅ΠΌ, Π»ΠΈΠ±ΠΎ Π½Π°ΠΏΡΡΠΌΡΡ, Π»ΡΠ±ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠΉ ΠΌΠΈΠΊΡΠΎΡΡ Π΅ΠΌΡ.
www.toolgir.ru
FlashROM — ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½Π°Ρ ΡΡΠΈΠ»ΠΈΡΠ° Π΄Π»Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ, ΡΡΠ΅Π½ΠΈΡ, Π·Π°ΠΏΠΈΡΠΈ, ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΈ ΡΡΠΈΡΠ°Π½ΠΈΡ ΠΌΠΈΠΊΡΠΎΡΡ Π΅ΠΌ Flash ΠΏΠ°ΠΌΡΡΠΈ.
ΠΡΠ½ΠΎΠ²Π½ΠΎΠ΅ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ — ΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΏΡΠΎΡΠΈΠ²ΠΊΠ° BIOS, etc, Π° ΠΏΠΎΡΠΎΠΌΡ Π² ΡΠΏΠΈΡΠΊΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΌΠ½ΠΎΠ³ΠΎ Π²Π΅ΡΡΠΌΠ° ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΡ . ΠΠΎ ΡΠ°ΠΊ ΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ½Π½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΡ/Π°Π΄Π°ΠΏΡΠ΅ΡΡ:
ΠΠ΄Π°ΠΏΡΠ΅ΡΡ rayer
ΠΈ pony
ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π½Π° LPT ΠΏΠΎΡΡ, ΡΠ°ΠΊ ΡΡΠΎ Π² ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΡΠ΅Π°Π»ΠΈΡΡ
ΠΈΡ
ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π·Π°ΡΡΡΠ΄Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ.
serprog
ΡΡΠΎ Π½Π΅ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ Π°Π΄Π°ΠΏΡΠ΅Ρ, Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ» Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ Π°Π΄Π°ΠΏΡΠ΅ΡΠΎΠΌ ΠΏΠΎ UART ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ (ΠΈΠ»ΠΈ ΡΠ΅ΡΠ΅Π· ΡΠΌΡΠ»ΡΡΠΈΡ UART Π½Π° USB).
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΡΠ°Π·Π½ΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π°Π΄Π°ΠΏΡΠ΅ΡΠΎΠ², ΡΡΠ΅Π±ΡΡΡΠΈΠ΅ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΠΎΠ±Π²ΡΠ·ΠΊΠΈ Π΄Π»Ρ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°.
Π― Π±ΡΡΡΡΠΎ ΡΠΎΠ·Π΄Π°Π» ΠΏΡΠΎΡΠΎΡΠΈΠΏ SerProg STM32VCP ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π² Π³ΠΎΡΠΎΠ²ΡΡ devboard Π½Π° stm32f103rbt6
Ρ ΡΠ°Π·Π²Π΅Π΄ΡΠ½Π½ΡΠΌ USB:
SPI Flash ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΊ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΡ:
ΠΡΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΈΠΈ ΡΠ΅ΠΆΠΈΠΌΠ° Π½Π° Π½ΠΎΠ³Ρ PA0 (14).
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΡΠ²Π΅ΠΆΠ΅Π·Π°ΠΏΠΈΠ»Π΅Π½ΡΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡ ΠΈ ΠΏΠΎΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΏΠ°ΠΌΡΡΡΡ.
flashrom -p serprog:dev=/dev/ttyACM0:4000000 -r backup-firmware.bin flashrom -p serprog:dev=/dev/ttyACM0:4000000 -w firmware.bin
Π Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
ΡΠ»ΡΡΠ°ΡΡ
flashrom
Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠ΄Π½ΠΎΠ·Π½Π°ΡΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Ρ ΠΊΠ°ΠΊΠΈΠΌ ΡΠΈΠΏΠΎΠΌ ΠΎΠ½ ΠΈΠΌΠ΅Π΅Ρ Π΄Π΅Π»ΠΎ, Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΠ½ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΡ Π²Π°ΡΠΈΠ°Π½ΡΡ, ΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΡΠΈΠΏ ΡΠΈΠΏΠ° ΡΠ²Π½ΠΎ:
/usr/sbin/flashrom -p serprog:dev=/dev/ttyACM0:4000000
-c MX25L6445E -w fw.bin
βΠΠ°ΡΠΎΠ΄Π½ΡΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡβ Π·Π° ΡΠ²ΠΎΡ Π½ΠΈΠ·ΠΊΡΡ ΡΠ΅Π½Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ Π½Π° Π±Π°Π·Π΅ USB ΠΊΠΎΠ½Π²Π΅ΡΡΠ΅ΡΠ° Ch441A ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°ΠΌΠΈ UART, EPP, I2C ΠΈ SPI. ΠΠ°ΡΠΈΠ°Π½ΡΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠ° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ, Π½ΠΎ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΠΎΠ½ΠΈ ΠΏΠΎ Π±ΠΎΠ»ΡΡΠΎΠΌΡ ΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π²Π½Π΅ΡΠ½ΠΈΠΌ Π²ΠΈΠ΄ΠΎΠΌ ΠΈ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎΠΌ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠ° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎ βflashromβ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π΅Π΄Π°Π²Π½ΠΎ, Π΅ΡΠ»ΠΈ ΠΌΠ½Π΅ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ ΠΏΠ°ΠΌΡΡΡ Π²Π΅ΡΡΠΈΠΈ ΡΡΠ°ΠΊ Ρ β0.9.4β Π§ΡΠ΅Π½ΠΈΠ΅ Π½Π΅ Π²ΡΠ·ΡΠ²Π°Π΅Ρ Π·Π°ΡΡΡΠ΄Π½Π΅Π½ΠΈΠΉ ΠΈ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π±ΡΡΡΡΠΎ:
$ time flashrom -p ch441a_spi -r tmp_firmware_4mb.bin
flashrom v0.9.9-r1954 on Linux 4.4.0-1-amd64 (x86_64)
flashrom is free software, get the source code at https://flashrom.org
Calibrating delay loop... OK.
Found PMC flash chip "Pm25LQ032C" (4096 kB, SPI) on ch441a_spi.
Reading flash... done.
real 1m6.870s
user 0m2.096s
sys 0m2.420s
ΠΠ°ΠΏΠΈΡΡ ΡΠΎΠΆΠ΅ Π½Π΅ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌ.
$ time flashrom -p ch441a_spi -w tmp_firmware_16mb.bin
flashrom v0.9.9-r1954 on Linux 4.4.0-1-amd64 (x86_64)
flashrom is free software, get the source code at https://flashrom.org
Calibrating delay loop... OK.
Found Winbond flash chip "W25Q128.V" (16384 kB, SPI) on ch441a_spi.
Reading old flash chip contents... done.
Erasing and writing flash chip... Erase/write done.
Verifying flash... VERIFIED.
real 19m17.848s
user 0m25.116s
sys 0m36.900s
ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Π½Π° ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅ ch441a.
ΠΡΠ»ΠΈ Π΅ΡΡΡ ΠΏΠΎΠ΄ ΡΡΠΊΠΎΠΉ BusPirate (ΠΊΠ°ΠΊ Ρ ΠΌΠ΅Π½Ρ), ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΈΠΌ, Π½ΠΎ ΡΡΠΎ ΠΏΠ»ΠΎΡ ΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ, ΠΏΠΎΡΠΎΠΌΡ ΠΊΠ°ΠΊ BusPirate ΠΎΡΠ΅Π½Ρ-ΠΎΡΠ΅Π½Ρ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΠΉ. Π’Π°ΠΊ ΠΏΠΎΠ»Π½ΡΠΉ ΡΠΈΠΊΠ» Π·Π°ΠΏΠΈΡΠΈ (ΡΡΠ΅Π½ΠΈΠ΅ ΡΡΠ°ΡΠΎΠΉ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ, ΡΡΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ, Π·Π°ΠΏΠΈΡΡ Π½ΠΎΠ²ΠΎΠΉ, Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ) SPI Flash Π½Π° 16Mb Ρ ΠΌΠ΅Π½Ρ Π·Π°Π½ΡΠ»ΠΎ Π±ΠΎΠ»Π΅Π΅ 20 ΠΌΠΈΠ½ΡΡ.
ΠΡΠΈΠΌΠ΅Ρ ΡΡΠ΅Π½ΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΠΌΠΈΠΊΡΠΎΡΡ Π΅ΠΌΡ ΠΏΠ°ΠΌΡΡΠΈ:
/usr/sbin/flashrom -p buspirate_spi:dev=/dev/ttyACM0,spispeed=1M
-r backup_firmware.bin
FT2232
Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Ρ
ΠΎΡΠΎΡΠΈΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠΌ, Π½ΠΎ Ρ ΠΌΠ΅Π½Ρ Π΅Π³ΠΎ Π½Π΅Ρ. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ JTAG Π°Π΄Π°ΠΏΡΠ΅ΡΡ. http://flashrom.org/Supported_hardware#USB_Devices
tuxotronic.org
ΠΠ»Ρ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ Flash-ΠΏΠ°ΠΌΡΡΠΈ BIOS ΠΌΠ°ΡΠ΅ΡΠΈΠ½ΡΠΊΠΈΡ ΠΏΠ»Π°Ρ, Π²ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΠΎΠ², Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ²ΠΎΠΈΡ Π»ΡΠ±ΠΈΡΠ΅Π»ΡΡΠΊΠΈΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΉ ΠΌΠ½Π΅ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°Π»ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡ. ΠΡΠ±ΠΈΠΌΡΠΉ PonyProg ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π΄ΠΎ 256ΠΊΠ±ΠΈΡ, ΠΊΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ LPT-ΠΏΠΎΡΡ ΡΠ΅ΠΏΠ΅ΡΡ ΡΠ΅Π΄ΠΊΠΎΡΡΡ, ΠΏΠΎΠΈΡΠΊΠ°Π² ΠΏΠΎ ΠΠ½ΡΠ΅ΡΠ½Π΅ΡΡ, Π½Π°ΡΠ΅Π» Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎΠΉ USB-Π²Π°ΡΠΈΠ°Π½Ρ Β«BlackcatUSBΒ»:
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ/Π·Π°ΠΏΠΈΡΠΈΒ SPI-Flash ΡΠΈΠΏΠΎΠ² ΠΏΠ°ΠΌΡΡΠΈ ΠΎΠ±ΡΠ΅ΠΌΠΎΠΌ ΠΎΡ 1 ΠΠ±ΠΈΡΠ° ΠΈ Π²ΡΡΠ΅ (Ρ.Π΅. Π±ΠΎΠ»Π΅Π΅ 128ΠΊΠ±Π°ΠΉΡ) ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ ΡΠ΅ΡΠΈΠΉ 25Ρ Ρ Ρ , 26Ρ Ρ Ρ .
ΠΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ JTAG (ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΏΡΠΎΡΠΈΠ²ΠΊΠ°) CFI-Flash ΡΠΈΠΏΠΎΠ² β 25Ρ Ρ Ρ , 28Ρ Ρ Ρ , 29Ρ Ρ Ρ , 39Ρ Ρ Ρ , 49Ρ Ρ Ρ , 58Ρ Ρ Ρ , Π° ΡΠ°ΠΊ ΠΆΠ΅ K8D17Ρ Ρ Ρ , K8D32Ρ Ρ Ρ .
ΠΠ³ΠΎ ΠΎΡΠ½ΠΎΠ²ΠΎΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ AT90USB162, ΠΈΠΌΠ΅ΡΡΠΈΠΉ USB-Π·Π°Π³ΡΡΠ·ΡΠΈΠΊ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½Π°Ρ Π΅Π³ΠΎ ΠΏΡΠΎΡΠΈΠ²ΠΊΠ° ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΠ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΠΏΠΎ ΡΠΈΠ½Π΅ USB. ΠΠ»Ρ ΠΏΠ΅ΡΠ΅ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ β ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΡΡΠΌΠΎ ΠΈΠ· Π΅Π³ΠΎ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎ, Π±ΠΎΠ»Π΅Π΅ ΡΠΎΠ³ΠΎ. ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΡΠ°ΠΉΠ»Ρ ΠΏΡΠΎΡΠΈΠ²ΠΎΠΊ ΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠΊΡΠΈΠΏΡΠΎΠ² Π΄Π»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π½ΠΎΠ²ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ². ΠΠΎΠΆΠ½ΠΎ Π²ΡΡΡΠ½ΡΡ Π²ΡΠ±ΠΈΡΠ°ΡΡ Π²ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠ°Π±ΠΎΡΡ Ρ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΡΡ. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ, ΠΏΡΠΎΡΡΠΎ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΠΈ ΡΠ°Π±ΠΎΡΠ°Π΅ΠΌ.
ΠΠ½Π΅ΡΠ½ΠΈΠΉ Π²ΠΈΠ΄ ΡΠ°Π±ΡΠΈΡΠ½ΠΎΠ³ΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠ°:
ΠΠ° ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΠΎΠΉ ΠΏΠ»Π°ΡΠ΅ ΠΈΠΌΠ΅ΡΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΡΡΠΊΠΈ Π΄Π»Ρ Π²ΡΠ±ΠΎΡΠ° Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ SPI β 3,3V / 5V, ΠΊΠ½ΠΎΠΏΠΊΠ° ΡΠ±ΡΠΎΡΠ° ΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»ΠΈ Π²ΡΠ±ΠΎΡΠ° ΡΠ΅ΠΆΠΈΠΌΠ° Π·Π°Π³ΡΡΠ·ΠΊΠΈ: ΠΎΠ±ΡΡΠ½ΡΠΉ / Π·Π°Π³ΡΡΠ·ΡΠΈΠΊ. Π ΠΏΠΎΠ²ΡΠ΅Π΄Π½Π΅Π²Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅ ΡΠ±ΡΠΎΡ ΠΈ ΠΏΠ΅ΡΠ΅ΠΏΡΠΎΡΠΈΠ²ΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠ° ΠΊΡΠ°ΠΉΠ½Π΅ ΡΠ΅Π΄ΠΊΠΎ ΡΡΠ΅Π±ΡΡΡΡΡ, ΠΏΠΎΡΡΠΎΠΌΡ Π΄Π»Ρ ΠΊΠ»ΠΎΠ½Π° ΠΊΠ½ΠΎΠΏΠΊΠ° ΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»ΠΈ Π±ΡΠ»ΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½Ρ. ΠΠΌΠ΅ΡΡΠΎ 10-ΡΡΡΡΡΠΊΠΎΠ²ΠΎΠ³ΠΎ ΡΠ°Π·ΡΠ΅ΠΌΠ° ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ DIP-ΡΠΎΠΊΠ΅Ρ, Π° ΡΠ°Π·ΡΠ΅ΠΌ USB Π²ΡΠΏΠΎΠ»Π½Π΅Π½ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠ΅ΡΠ°ΡΠ½ΠΎΠΉ ΠΏΠ»Π°ΡΡ:
ΒΠ§ΡΠΎΠ±Ρ Β«ΡΠ°Π·ΡΠ΅ΠΌ USBΒ» Π½Π΅ Π±ΠΎΠ»ΡΠ°Π»ΡΡ Π² Π³Π½Π΅Π·Π΄Π΅, ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠΎΠ»ΡΠΈΠ½ΠΎΠΉ 2,5ΠΌΠΌ, ΠΠ½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ Π½Π°ΠΉΡΠΈ ΠΊΡΡΠΎΡΠ΅ΠΊ ΡΠ΅ΠΊΡΡΠΎΠ»ΠΈΡΠ° ΡΠ°ΠΊΠΎΠΉ ΡΠΎΠ»ΡΠΈΠ½Ρ, Π° Π΄Π»Ρ ΠΏΠ»Π°ΡΡ Π² 1,5ΠΌΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΏΡΠΈΠΊΠ»Π΅ΠΈΠ²Π°ΡΡ Β«ΠΏΠΎΠ΄ΠΊΠ»Π°Π΄ΠΊΡΒ» 1ΠΌΠΌ. ΠΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π½Π΅ΠΌΠ΅ΡΠ°Π»Π»ΠΈΡΠ΅ΡΠΊΠΎΠΉ β Π½Π° ΡΠ»ΡΡΠ°ΠΉ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠΉ Π²ΡΡΠ°Π²ΠΊΠΈ Π² ΡΠ°Π·ΡΠ΅ΠΌ Β«Π²Π²Π΅ΡΡ Π½ΠΎΠ³Π°ΠΌΠΈΒ».
Β Π‘Ρ Π΅ΠΌΠ°:
ΠΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΡΡΠΊΠΈ J1 Π² ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 1-2 ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡ Π»ΠΈΠ½ΠΈΠΈ 5V USB, ΠΏΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ 2-3 β ΠΎΡ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ ΡΡΠ°Π±ΠΈΠ»ΠΈΠ·Π°ΡΠΎΡΠ° 3,3V.
ΠΠ½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠΌΠΎΡΡΠΈΡΠ΅ Π΄Π°ΡΠ°ΡΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΠ±ΠΎΡΠΎΠΌ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ β Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΡΡΠ΅Ρ Π²ΠΎΠ»ΡΡΠΎΠ²ΡΡ ΡΠΈΠΏΠΎΠ² Π²ΡΠΉΠ΄ΡΡ ΠΈΠ· ΡΡΡΠΎΡ ΠΏΡΠΈ ΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΎΡ 5V.
Π‘ΠΎΠ±ΡΠ°Π½Π½ΡΠΉ Π±Π΅Π· ΠΎΡΠΈΠ±ΠΎΠΊ ΠΊΠ»ΠΎΠ½ ΡΡΠ°Π·Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΊΠ°ΠΊ AT90USB162 Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ DFU. ΠΠ°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΡ BlackcatUSB ΠΈ ΡΠ±Π΅ΠΆΠ΄Π°Π΅ΠΌΡΡ Π² ΡΡΠΎΠΌ:
ΠΡΠ»ΠΈ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ Π½Π΅ Β«ΡΠΈΡΡΡΠΉΒ», ΡΠΎ ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΈΠΌ Π΅Π³ΠΎ Π² ΡΠ΅ΠΆΠΈΠΌ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠ°:
1) Π·Π°ΠΌΡΠΊΠ°Π΅ΠΌ Π½Π° ΠΊΠΎΡΠΏΡΡ ΠΊΠΎΠ½ΡΠ°ΠΊΡ RESET
2) Π·Π°ΠΌΡΠΊΠ°Π΅ΠΌ Π½Π° ΠΊΠΎΡΠΏΡΡ ΠΊΠΎΠ½ΡΠ°ΠΊΡ BOOT
3) ΠΎΡΠΏΡΡΠΊΠ°Π΅ΠΌ RESET
4) ΠΎΡΠΏΡΡΠΊΠ°Π΅ΠΌ BOOT
ΠΠ°ΠΆΠ½ΠΎ, ΡΡΠΎΠ±Ρ BOOT Π±ΡΠ» ΠΎΡΠΏΡΡΠ΅Π½ ΡΡΡΡ ΠΏΠΎΠ·ΠΆΠ΅, ΡΠ΅ΠΌ RESET.
ΠΠ°Π»Π΅Π΅ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΡ AVR Firmware, Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ ΡΠ°ΠΉΠ» ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ BCUSB.1.09.SPI.hex ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ Β«ProgramΒ» Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΠΏΡΠΎΡΠ΅ΡΡ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ:
ΠΠΎ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠ° (ΠΏΠ°ΡΠ° ΡΠ΅ΠΊΡΠ½Π΄), ΠΆΠΌΠ΅ΠΌ Β«Start ApplicationΒ». ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΈ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅Ρ Π΄ΡΠ°ΠΉΠ²Π΅Ρ β Π½Π°Ρ ΠΎΠ΄ΠΈΠΌ Π΅Π³ΠΎ Π² ΠΏΠ°ΠΏΠΊΠ΅ Drivers. ΠΠΎΡΠ»Π΅ Π΅Π³ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π²ΠΈΠ΄ΠΈΠΌ Π³ΠΎΡΠΎΠ²ΡΠΉ ΠΊ ΡΠ°Π±ΠΎΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡ:
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π΅Π³ΠΎ Π² ΡΠ°Π±ΠΎΡΠ΅.
ΠΠΠΠΠ! ΠΡΠ»ΠΈ Π³ΠΎΡΠΈΡ (ΠΈΠ»ΠΈ ΠΌΠΈΠ³Π°Π΅Ρ) ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄ ΡΠ΅ΠΆΠΈΠΌΠ°, ΡΠΎ Π²ΡΡΠ°Π²Π»ΡΡΡ ΠΈ Π²ΡΠ½ΠΈΠΌΠ°ΡΡ ΠΏΠ°ΠΌΡΡΡ ΠΈΠ· ΡΠΎΠΊΠ΅ΡΠ° Π½Π΅Π»ΡΠ·Ρ β ΠΎΠ½ ΠΏΠΎΠ΄ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ΠΌ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΡΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ!
ΠΠΎΡΡΠΎΠΌΡ ΠΏΡΠΎΡΡΠΎ Π²ΡΠ½ΠΈΠΌΠ°Π΅ΠΌ ΠΊΠ»ΠΎΠ½ ΠΈΠ· ΡΠ°Π·ΡΠ΅ΠΌΠ° USB, Π²ΡΡΠ°Π²Π»ΡΠ΅ΠΌ ΠΏΠ°ΠΌΡΡΡ Π² ΡΠΎΠΊΠ΅Ρ ΠΈ ΠΏΡΠΎΠ±ΡΠ΅ΠΌ:
ΠΠ°ΠΌΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ»Π°ΡΡ ΠΈ ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ Π²ΠΊΠ»Π°Π΄ΠΊΠ° SPI Flash, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π΅Π΅ ΠΏΡΠΎΡΠ΅ΡΡΡ ΠΈ Π·Π°ΠΏΠΈΡΠ°ΡΡ:
ΠΠ»Ρ ΡΠ΅ΠΆΠΈΠΌΠ° JTAG ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π΄ΡΡΠ³Π°Ρ ΠΏΡΠΎΡΠΈΠ²ΠΊΠ° β BCUSB.6.03.EJTAG.hex., Π° ΡΠ°ΠΊ ΠΆΠ΅ ΡΠ°Π·ΡΠ΅ΠΌ-ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π½ΠΈΠΊ DIP-ΡΠΎΠΊΠ΅Ρ β JTAG. ΠΠΎΠ²ΠΎΠ΅ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ²ΠΎΠ΄ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅.
P.S. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡ Β«BlackcatUSBΒ» Π½Π° ΡΠ΅Π³ΠΎΠ΄Π½ΡΡΠ½ΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠΌ β Π²ΠΌΠ΅ΡΡΠΎ Π½Π΅Π³ΠΎ Π²ΡΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½Π°Ρ Π²Π΅ΡΡΠΈΡ Β«FlashcatUSBΒ»:
ΠΠ· Β«ΠΆΠ΅Π»Π΅Π·Π½ΡΡ Β» ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ ΡΠΎΠ»ΡΠΊΠΎ Π·Π°ΠΌΠ΅Π½Π° ΠΌΠΊ Π½Π° Π±ΠΎΠ»Π΅Π΅ Π΅ΠΌΠΊΠΈΠΉ Π²Π°ΡΠΈΠ°Π½Ρ β ATmega32U2. Π ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ Π±ΠΎΠ»ΡΡΠ΅ β ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π±ΠΎΠ»ΡΡΠ΅ΠΉ Π½ΠΎΠΌΠ΅Π½ΠΊΠ»Π°ΡΡΡΡ ΡΠΈΠΏΠΎΠ², Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ NAND. ΠΠΎΠ²ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π½Π° ΡΠ°ΠΉΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°.Β ΠΠΎΠ²ΡΠ΅ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ NAND (FCUSB.1.07.NAND.hex) ΠΈ JTAG (FCUSB.7.05.EJTAG_16K.hex) ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡ ΠΈ Π΄Π»Ρ Π½Π°ΡΠ΅Π³ΠΎ ΠΊΠ»ΠΎΠ½Π° β Π²ΠΎ Π²ΡΡΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ, ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» Π½Π΅ ΠΏΡΠΎΠ²Π΅ΡΡΠ» β ΠΏΡΠΎΡΡΠΎ Π½Π΅ Π½Π° ΡΠ΅ΠΌ.
Β Β Π‘ΡΠ΄Ρ ΠΏΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ, Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»Π΅ΠΉ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΎΡΡ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΅ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈ Π² ΠΏΠ΅ΡΠ°ΡΠ½ΠΎΠΉ ΠΏΠ»Π°ΡΠ΅. ΠΡΠ»ΠΈ ΠΊΡΠΎ-ΡΠΎ ΡΠΎΠ±Π΅ΡΠ΅Ρ Π²Π°ΡΠΈΠ°Π½Ρ Π½Π° ATmega32U2 (ΡΠΈΠΏΡ ΠΏΠΎ Π½ΠΎΠΆΠΊΠ°ΠΌ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡ), ΠΏΡΠΎΡΡΠ±Π° ΠΎΡΠΏΠΈΡΠ°ΡΡΡΡ ΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°Ρ .
meandr.org