Hi3520燒寫flash失敗問題分析

2021-09-25 23:40:06 字數 3270 閱讀 2151

cpu晶元型號:hi3520 drqcv300 cp3091820 1820-china

flash型號:mx25l12835fm2i-10g 【spi nor flash】

工廠生產的樣板回來後,熱風槍拆下flash,然後又焊接上,使用hitool工具燒寫韌體時出現30%概率燒寫失敗,識別flash失敗或者擦除失敗,或者燒寫成功但啟動失敗;拆下之前正常使用板子的flash也出現了30%概率的燒寫失敗。

hitool燒寫失敗差圖

識別flash失敗列印如下:

u-boot 2010.06 (jul 31 2019 - 09:58:04)

check flash memory controller v100 ... found

cannot found a valid spi nand device

*** warning - bad crc, using default environment

in: serial

out: serial

err: serial

start download process.

boot started successfully!

send command: getinfo version

version: 3.0.3

[eot](ok)

send command: getinfo bootmode

spi[eot](ok)

send command: getinfo spi

no find spi

[eot](ok)

invalid spi flash block size!

識別出2片flash,且擦除失敗列印如下:

check flash memory controller v100 ... found

spi nor(cs 0) id: 0xc2 0x20 0x18

spi_general_write_enable(141): error: write enable failed! status: 0x20

block:64kb chip:16mb name:"mx25l128xx"

spi nor(cs 1) id: 0xc2 0x20 0x18

spi_general_write_enable(141): error: write enable failed! status: 0x20

block:64kb chip:16mb name:"mx25l128xx"

spi nor total size: 32mb

send command:	getinfo spi

block:64kb chip:16mb*2

id:0xc2 0x20 0x18

name:"mx25l128xx"

[eot](ok)

send command:	sf erase 0x0 0x80000

spi_general_write_enable(141): error: write enable failed! status: 0x20

erasing at 0x10000 -- 12% complete.

erasing at 0x20000 -- 25% complete.spi_general_write_enable(141): error: write enable failed! status: 0x20

erasing at 0x30000 -- 37% complete.

erasing at 0x40000 -- 50% complete.spi_general_write_enable(141): error: write enable failed! status: 0x20

erasing at 0x50000 -- 62% complete.

erasing at 0x60000 -- 75% complete.spi_general_write_enable(141): error: write enable failed! status: 0x20

燒寫無異常但啟動核心失敗列印如下:

wrong image format for bootm command

error: can't get kernel image!

hisilicon #

列印出核心的資料是亂碼。

由於燒錄器被拿走了,暫不能測試使用燒錄器是什麼情況,後續待測。

使用之前0.2版本的板子燒寫一樣問題無改善;

目前懷疑是flash品質問題,待進一步確認。。。

燒錄器:ch341a pro,開啟軟體後閃退並且檔案消失,需要把防毒軟體關閉。

第一種情況:無法識別;

第二種情況:擦除失敗;

第三種情況:程式設計後校驗失敗;

結論:使用hitool燒寫失敗的flash使用燒錄器還是燒寫失敗;如果忽略錯誤提示就算顯示和讀取出來對比成功,焊接在板子上面依然啟動失敗;並且多次焊接後,有乙個擦除失敗的flash不能識別了,難道多次熱風焊接後就壞了嗎?

驗證計畫:使用燒錄器,擦除,查空,程式設計,校驗,讀取都要成功,不要報任何錯,且讀取出的檔案能對比成功才算通過;計算出燒寫失敗的概率;

然後焊接到板子上面進行啟動驗證;

然後使用hitool燒寫啟動驗證;

然後拆下重新焊上燒寫驗證;

最新驗證結果:

工廠出來的flash晶元沒有問題,可能是在生產過程中焊接或者手動拆下焊接導致的損壞,建議生產溫度曲線300多度,手動焊接溫度300多且不要加熱太久。

使用FlashWrite燒寫FLASH

這裡所指的 flashwrite 是與banyan u arm 器配套及其後台服務程式配套使用的 flash 燒寫工具,可以通過 器的 jtag 介面將程式燒寫到 flash 儲存器中。使用flashwrite 之前要先執行 banyan daemon 在配置和初始化目標板之後,才能將程式燒寫到 f...

通過CCS燒寫FLASH的方法

求助 flash的燒寫工具在ccs中無法顯示!答 步驟 右擊ccs2圖示 屬性 查詢目標 找到乙個comp mgr的檔案 就是ccs圖示類似,但是頭上有個喇叭的 雙擊開啟 texas instruments 把那個加號開啟,在on chip flash programme,前面選中就好了 通過ccs...

Hi3516A開發 板卡燒寫後續

1 使用nfs檔案系統進行開發 掛載 mount t nfs o nolock o tcp o rsize 32768,wsize 32768 192.168.2.155 opt rootfs uclibc mnt 解除安裝 umount mnt 2 spi nor flash燒寫指令 燒寫u bo...