基於低成本 Arceli FOR USB 的 3.3V CH341a 編程器,用來刷 SPI 的 ROM晶片簡易教學

免責聲明:

  • 此處描述的過程可能會損壞/損壞正在修改的設備。
  • 您得承擔執行此處列出的任何步驟的所有風險和責任。
  • 務必瞭解,這裡所列出的步驟可能準確,也可能不准確或適用於您的特定組件。

目的:

  • SPI(串行外設接口)刷 ROM 晶片,例如 BIOS 和 Thunderbolt 固件芯片,可以使用外部設備(例如低成本的基於 USB 的 CH341a 編程器或 Raspberry Pi、Rock Pi 或其他設備)進行讀取、擦除和重新編程支持SPI接口。
  • 最常見的基於 USB 的 CH341a 編程器為 Vcc(或主電源)引腳提供 5V 電壓。但是,BIOS 和 Thunderbolt Firmware 芯片(例如 Winbond W25Q80DV 或 Macronix MX25L8006E)需要3.3V的 Vcc。
  • Arceli 低成本基於 USB 的 CH341a 編程器,該編程器本身支持 3.3V 的 Vcc。

專業提示:

  • 避免使用 USB 集線器,將 CH341a 直接連接到機箱前部或後 IO 面板上的 USB 端口。斷開任何不必要的外部USB 設備,以使 USB 端口向 CH341a 提供穩定的電壓和全部電流。

第 1 步:在 MacOS 上安裝flashrom :

  • 首先通過在終端中復制並粘貼以下命令來安裝Homebrew :
    • /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
  • 現在按如下方式安裝flashrom :
    • brew install flashrom

第 2 步:將 Arceli CH341a 編程器連接到 SOIC8 夾:

  • 請參考下圖配置器件並將 Arceli CH341a 的 8 個引腳連接到 SOIC8 夾。
《基於低成本 Arceli FOR USB 的 3.3V CH341a 編程器,用來刷 SPI 的 ROM晶片簡易教學》
  • 將兩個下跳線移至引腳 2 和 3 後,它們應該如下所示
《基於低成本 Arceli FOR USB 的 3.3V CH341a 編程器,用來刷 SPI 的 ROM晶片簡易教學》

將 CH341a 編程器的 8 根(或 7 根)線連接到 SOIC 帶狀電纜本身的相應引腳(左圖)或小電路板的背面(右圖)。SOIC8 帶狀電纜上的紅線是 Pin 1

《基於低成本 Arceli FOR USB 的 3.3V CH341a 編程器,用來刷 SPI 的 ROM晶片簡易教學》
《基於低成本 Arceli FOR USB 的 3.3V CH341a 編程器,用來刷 SPI 的 ROM晶片簡易教學》
《基於低成本 Arceli FOR USB 的 3.3V CH341a 編程器,用來刷 SPI 的 ROM晶片簡易教學》
  • 如果刷入板載 Thunderbolt 控制器(內置於 Designare Z390、Z490 Vision D 的主板中),則不要連接Vcc(引腳 8),而是連接所有其他引腳。關閉 Designare 或 Vision D 後,保持電源 (PSU) 打開(但必須關閉電腦)。這將為Vcc(或引腳 8)供電。
  • 如果刷入板載 Thunderbolt 控制器(內置於 Designare Z390、Z490 Vision D 的主板中),則不要連接Vcc(引腳 8),而是連接所有其他引腳。關閉 Designare 或 Vision D 後,保持電源 (PSU) 打開(但必須關閉電腦)。這將為Vcc(或引腳 8)供電。
  • 2020 年 10 月 18 日更新: 忽略上述內容並 (a) 將 PSU 開關翻轉至 OFF,(b) 將 Arcelli 上的 Vcc 連接到 SOIC 夾上的引腳 8。Arcelli 應該能夠直接為 Thunderbolt SPI ROM 芯片供電。
  • 如果閃爍任何尚未連接到電源的設備,則必須連接Vcc(引腳 8)。

請注意,SOIC8 夾包含一根紅色電線。那根電線是引腳 1。然後引腳 2 與引腳 1 位於同一側並與引腳 1 相鄰。請參閱上面的引腳圖。

Arceli CH341a 編程器的文檔可在此處獲得

第三步:將SOIC8 Clip連接至Flash ROM芯片(CH341a連接電腦USB口之前)

《基於低成本 Arceli FOR USB 的 3.3V CH341a 編程器,用來刷 SPI 的 ROM晶片簡易教學》
  • 小心地將 SOIC8 夾子連接到 Winbond(或 Macronix)芯片。芯片上的引腳 1 標有一個小的圓形凹坑。如果對此不確定,請停下來詢問。
  • 緩慢而輕柔地擠壓和鬆開彈簧夾。不要著急。確保夾子的方向使紅線連接到物理芯片上的小凹坑引腳(引腳 1)。
  • 現在將 CH341a 連接到 USB 端口並檢查電源 LED 是否變為紅色(不是藍色)。
《基於低成本 Arceli FOR USB 的 3.3V CH341a 編程器,用來刷 SPI 的 ROM晶片簡易教學》

第 4 步:讀取 Flash 晶片。

  • 首先我們讀取閃存芯片的內容並存儲原始ROM的備份。我們在終端中使用flashrom讀取內容 3 次並驗證所有三個文件是否相同。這讓我們確信芯片被正確讀取。
sudo flashrom -p ch341a_spi -r Give_the_Contents_a_Name.bin

代碼:

% sudo flashrom -p ch341a_spi -r firmware-1.bin
Password: <enter your password>
flashrom v1.2 on Darwin 19.3.0 (x86_64)
flashrom is free software, get the source code at https://flashrom.org

Calibrating delay loop... OK.
libusb: info [darwin_claim_interface] no interface found; setting configuration: 1
Found Winbond flash chip "W25Q80.V" (1024 kB, SPI) on ch341a_spi.
Reading flash... done.

代碼:

% sudo flashrom -p ch341a_spi -r firmware-2.bin
flashrom v1.2 on Darwin 19.3.0 (x86_64)
flashrom is free software, get the source code at https://flashrom.org

Calibrating delay loop... OK.
Found Winbond flash chip "W25Q80.V" (1024 kB, SPI) on ch341a_spi.
Reading flash... done.

代碼:

% sudo flashrom -p ch341a_spi -r firmware-3.bin
flashrom v1.2 on Darwin 19.3.0 (x86_64)
flashrom is free software, get the source code at https://flashrom.org

Calibrating delay loop... OK.
Found Winbond flash chip "W25Q80.V" (1024 kB, SPI) on ch341a_spi.
Reading flash... done.
  • 然後計算並比較所有 3 個文件的校驗和以確保它們匹配:

代碼:

% shasum firmware-1.bin
3c1e2555a8203a0dc20b7cfe2577636112a82367  firmware-1.bin

% shasum firmware-2.bin
3c1e2555a8203a0dc20b7cfe2577636112a82367  firmware-2.bin

% shasum firmware-3.bin
3c1e2555a8203a0dc20b7cfe2577636112a82367  firmware-3.bin
  • 我們看到所有 3 個校驗和都匹配,因此我們可以確信數據被正確讀取。

步驟 5:將修改後的固件編程到閃存芯片中。

  • 確保您已按照第 4 步操作並保留了原始固件的副本。
  • 找到修改後的固件,燒入芯片如下:

代碼:

% sudo flashrom -p ch341a_spi -w Name_of_Modified_Firmware.bin
  • 這將 (a) 擦除芯片,(b) 將新固件編程到晶片中,以及 (c) 驗證新內容。

暫無評論

發怖評論 編輯評論


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇