I.MX6Q(TQIMX6Q/TQE9)學習筆記——新版BSP之eMMC移植

前一篇文章已經移植好CAN,本文來移植eMMC。eMMC的移植一般來講比較簡單,因爲MMC驅動是由官方維護的,一般來講,不會有什麼問題,對我們來說,只需要正確的配置各個pin腳的複用關係,這種情況也是DTS最擅長的。下面我們開始eMMC移植。

DTS編寫

參考sabresd的DTS,我們可以如下編寫DTS:

&usdhc4 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_usdhc4_1>;
	bus-width = <8>;
	non-removable;
	no-1-8-v;
	keep-power-in-suspend;
	status = "okay";
};
由於tqimx6q的eMMC管腳複用關係與imx6qdl.dtsi中的pinctrl_usdhc4_1是完全一致的,因此,可以直接使用該組配置。修改好以上內容後重新編譯並燒寫DTB。

測試方法
測試eMMC是否好用的方法有很多,本文的測試手段是將MMC的整體劃分爲一個分區並格式化爲FAT32文件系統,如果以上操作能夠成功完成,則表示eMMC已經正常工作。

Step1. 創建分區。使用fdisk創建分區:

@tqimx6q #fdisk /dev/mmcblk1

The number of cylinders for this disk is set to 238592.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
   (e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): d
Selected partition 1

Command (m for help): d
No partition is defined yet!

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-238592, default 1): Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-238592, default 238592): Using default value 238592

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table
 mmcblk1: p1
Step2. 將分區p1格式化FAT32文件系統,執行指令:

mkfs.vfat /dev/mmcblk1p1
Step3. 將格式化好的分區p1掛載到/mnt目錄,執行指令:

mount /dev/mmcblk1p1 /mnt
Step4. 在p1中創建文件,重啓檢測文件是否仍然存在,執行指令:

echo "test" > /mnt/test.txt
sync
執行以上命令之後重啓開發板,重新掛載該分區後會發現test.txt文件依然存在,證明eMMC驅動已經可以正常工作了。






本文作者:girlkoo

本文鏈接:http://blog.csdn.net/girlkoo/article/details/45725429

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章