Linux

uboot mmc卡已經分區

  • March 21, 2017

我對焊接在 i.MX6 嵌入式模組上的 eMMC 儲存的 U-Boot mmc hwpartition 有一些問題:

TX6UL U-Boot > mmc info
Device: FSL_SDHC
Manufacturer ID: 11
OEM: 100
Name: 004G6 
Tran Speed: 52000000
Rd Block Len: 512
MMC version 5.0
High Capacity: Yes
Capacity: 8 MiB
Bus Width: 4-bit
Erase Group Size: 4 MiB
HC WP Group Size: 4 MiB
User Capacity: 8 MiB WRREL
Boot Capacity: 2 MiB ENH
RPMB Capacity: 512 KiB ENH
GP1 Capacity: 8 MiB WRREL
GP2 Capacity: 1.8 GiB ENH WRREL

TX6UL U-Boot > mmc hwpartition set user wrrel on complete
Partition configuration:
       No enhanced user data area
       User partition write reliability: on
       No GP1 partition
       No GP2 partition
       No GP3 partition
       No GP4 partition
Card already partitioned
Failed!

所以看起來 mmc 之前已經進行了硬體分區。根據更新檔一旦被硬體分區,是不可逆的。

真的沒有辦法重新對焊接好的eMMC重新分區嗎?如果我需要其他硬體分區,我是否必須扔掉整個 i.MX6 模組併購買一個新的?

是的 — 硬體分區是一項永久性操作,只能執行一次。如果您想重做硬體分區,您將需要更換您的 eMMC 或獲得一塊新板。

硬體分區(不要與使用 fdisk 等程序的“正常”分區相混淆)包括:

  • 進入增強模式 (MLC->SLC)
  • 對 GPP 進行分區(通用分區)
  • 啟用寫可靠性模式。

這些設置儲存在 eMMC 中的 ECSD(擴展 CSD)寄存器中,uBoot 從中讀取這些設置。

來自 4.51 JEDEC 標準(第 19 頁):

引導和 RPMB 區域分區的大小和屬性由記憶體製造商定義(只讀),而通用區域分區的大小和屬性只能由主機在設備生命週期內程式一次(一次性可程式) .

查看您的輸出,似乎已經設置了寫入可靠性,因此無法重新分區是有道理的。

引用自:https://unix.stackexchange.com/questions/311960