2014-11-20 78 views
0

我一直在努力讓eMMC芯片在我的嵌入式Linux平臺上工作。到目前爲止,我已經做了以下內容:在嵌入式linux上採用全新eMMC的後續步驟

(1)在驅動程序/ MMC /主機添加自定義驅動 (2)編譯的內核和目標圖像 (3)加載圖像到目標並啓動板

在啓動前,我看到這些:

. 
mmcblk0: mmc0:0001 4YMD3R 3.64 GiB 
mmc0: calculated max. discard sectors 4579328 for timeout 2684354 ms 
mmcblk0boot0: mmc0:0001 4YMD3R partition 1 4.00 MiB 
mmc0: calculated max. discard sectors 4579328 for timeout 2684354 ms 
mmcblk0boot1: mmc0:0001 4YMD3R partition 2 4.00 MiB 
. 
. 
mmcblk0: error -84 transferring data, sector 0, nr 8, cmd response 0x900, card status 0x0 
end_request: I/O error, dev mmcblk0, sector 0 
. 
Buffer I/O error on device mmcblk0, logical block 0 
. 
mmcblk0: error -84 transferring data, sector 0, nr 8, cmd response 0x900, card status 0x900 
mmcblk0: retrying using single block read 
. 
mmcblk0boot1: error -84 transferring data, sector 0, nr 8, cmd response 0x900, card status 0x900 
mmcblk0boot1: retrying using single block read 
. 
mmcblk0boot1: unknown partition table 
. 
mmcblk0boot0: unknown partition table 

我開機後,這裏的/ proc /分區的輸出:

# cat /proc/partitions 
major minor #blocks name 

    31  0  7824 mtdblock0 
179  0 3817472 mmcblk0 
179  16  4096 mmcblk0boot1 
179  8  4096 mmcblk0boot0 

誰能告訴我以下:

  • 我的設備是否正常工作?
  • 如何開始將數據寫入userdata分區? (安裝失敗的mmcbllk0)
  • 如何創建更多通用分區?
  • 如何創建更多(常規)分區?

在此先感謝,我對此非常感興趣,而且我無法在任何地方找到此信息。

elDukae

回答

0

我的設備工作是否正常?

不會。由於多次讀取在您的設備中失敗。也許你需要檢查時間。

如何開始將數據寫入userdata分區? (對於mmcbllk0,安裝失敗)

如果安裝失敗。你不能訪問這個設備。 從「cat/proc/partitions」的結果中,可以執行cmd來檢查寫入行爲。

例如,如果DD =開發/ =的/ dev/mmcblk0 BS = 512的零偏移= 200000數= 10

我怎麼能創造更多的通用分區?

您可以閱讀通用分區流程圖&增強用戶數據區JEDEC標準中的參數設置以獲取詳細信息。

如何創建更多(常規)分區?

您可以使用fdisk創建分區。

0

感謝您的所有輸入。以下是我能夠了解我的情況:

(1)讀取失敗:這是由於我的電路板上的I/O和核心電壓不正確。 linux代碼將自動轉到eMMC設備支持的最高速度等級。在這種情況下,我不得不手動告訴linux驅動程序堅持更低的速度,因爲這是錯誤的I/O和內核電壓所支持的。

(2)分區:結果我不需要任何通用分區。讀取錯誤修復後,我只是在/ dev/mmcblk0上運行fdisk並創建了常規分區

再次感謝!