emmc分析
基于tiny4412
对于exynos4412来说,⽀持4个SD/MMC
⾸先gpio⾥⾯的描述
GPK0, GPK1, GPK2, GPK3: 28 in/out ports-4xMMC (4-bit MMC), and/ or 2xMMC (8-bit MMC) ), and/ or GPS debugging I/F
其中SD卡是4-bit的,eMMC是8-bit的,另外⼀个mmc接⼝后⾯可以看到接wifi-BT模块的。
再看友善之臂的原理图
可知MMC01合在⼀起连接了emmc主控
对于mmc2:
⽽mmc3接的wifi和蓝⽛模块
使⽤友善提供的superboot启动qt后串⼝输出信息如下: [ 3.295000] mmc0: new high speed DDR MMC card at address 0001
[ 3.300000] mmcblk0: mmc0:0001 8WPD3R 7.28 GiB
[ 3.305000] mmcblk0boot0: mmc0:0001 8WPD3R partition 1 4.00 MiB
[ 3.345000] mmcblk0boot1: mmc0:0001 8WPD3R partition 2 4.00 MiB
[ 3.355000] mmcblk0boot1: unknown partition table
[ 3.355000] mmcblk0boot0: unknown partition table
[root@FriendlyARM /proc]# cat partitions
major minor #blocks name
179 0 7634944 mmcblk0
179 1 7493354 mmcblk0p1
179 16 4096 mmcblk0boot1
179 8 4096 mmcblk0boot0
当我使⽤sd卡启动⾃⼰移植的u-boot后
tiny4412 # mmc part
Partition Map for MMC device 1 -- Partition Type: DOS
Part Start Sector Num Sectors UUID Type
1 134343 14986708 00000000-01 83
[ 2.159559] mmcblk1: mmc1:0001 8WPD3R 7.28 GiB
[ 2.163327] mmcblk1boot0: mmc1:0001 8WPD3R partition 1 4.00 MiB
[ 2.169325] mmcblk1boot1: mmc1:0001 8WPD3R partition 2 4.00 MiB
[ 2.174505] mmcblk1rpmb: mmc1:0001 8WPD3R partition 3 512 KiB, chardev (247:0)进⼊系统后,
/ # fdisk -l
Disk /dev/mmcblk0: 15.7 GB, 157******** bytes
255 heads, 63 sectors/track, 1909 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/mmcblk0p1 20 1910 15184896 c Win95 FAT32 (LBA)
Disk /dev/mmcblk1: 7818 MB, 7818182656 bytes
253 heads, 59 sectors/track, 1022 cylinders
Units = cylinders of 14927 * 512 = 7642624 bytes
Device Boot Start End Blocks Id System
/dev/mmcblk1p1 10 1013 7493354 83 Linux
/ # fdisk /dev/mmcblk1
Command (m for help): p
Disk /dev/mmcblk1: 7818 MB, 7818182656 bytes
253 heads, 59 sectors/track, 1022 cylinders
Units = cylinders of 14927 * 512 = 7642624 bytes
Device Boot Start End Blocks Id System
/dev/mmcblk1p1 10 1013 7493354 83 Linux
其中,对于⽂件系统id列表是:
Hex code (type L to list codes): L
梦醒五棵柳0 Empty 24 NEC DOS 81 Minix / old Lin bf Solaris
1 FAT1
2 27 Hidden NTFS Win 82 Linux swap / So c1 DRDOS/sec (FAT-
2 XENIX root 39 Plan 9 8
3 Linux c
4 DRDOS/sec (FAT-
3 XENIX usr 3c PartitionMagic 8
4 OS/2 hidden C: c6 DRDOS/sec (FAT-
4 FAT16 <32M 40 Venix 80286 8
5 Linux extended c7 Syrinx
5 Extended 41 PPC PReP Boot 8
6 NTFS volume set da Non-FS data
6 FAT16 42 SFS 8
李承晚7 NTFS volume set db CP/M / CTOS / .
7 HPFS/NTFS/exFAT 4d QNX4.x 88 Linux plaintext de Dell Utility
8 AIX 4e QNX4.x 2nd part 8e Linux LVM df BootIt
9 AIX bootable 4f QNX4.x 3rd part 93 Amoeba e1 DOS access
a OS/2 Boot Manag 50 OnTrack DM 94 Amoeba BBT e3 DOS R/O
b W95 FAT32 51 OnTrack DM6 Aux 9f BSD/OS e4 SpeedStor
c W95 FAT32 (LBA) 52 CP/M a0 IBM Thinkpa
d hi eb BeOS fs
e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a5 FreeBSD ee GPT
f W95 Ext'd (LBA) 54 OnTrackDM6 a6 OpenBSD ef EFI (FAT-12/16/
10 OPUS 55 EZ-Drive a7 NeXTSTEP f0 Linux/PA-RISC b
阎仲川11 Hidden FAT12 56 Golden Bow a8 Darwin UFS f1 SpeedStor
12 Compaq diagnost 5c Priam Edisk a9 NetBSD f4 SpeedStor
14 Hidden FAT16 <3 61 SpeedStor ab Darwin boot f2 DOS secondary
sg18616 Hidden FAT16 63 GNU HURD or Sys af HFS / HFS+ fb VMware VMFS
17 Hidden HPFS/NTF 64 Novell Netware b7 BSDI fs fc VMware VMKCORE
18 AST SmartSleep 65 Novell Netware b8 BSDI swap fd Linux raid auto
1b Hidden W95 FAT3 70 DiskSecure Mult bb Boot Wizard hid fe LANstep
上海电视台体育频道1c Hidden W95 FAT3 75 PC/IX be Solaris boot ff BBT
1e Hidden W95 FAT1 80 Old Minix
Hex code (type L to list codes):
正常烧写
mkfs.vfat -F 32 /dev/sdc1
传播与文化产业mmc partconf 4 1 1 1
mmc dev 4 1
fatload mmc 2:1 0x50000000 E4412_N.bl1.bin
mmc write 0x50000000 0 0x10
fatload mmc 2:1 0x50000000 tiny4412-spl.bin
mmc write 0x50000000 0x10 0x20
fatload mmc 2:1 0x50000000 u-boot.bin
mmc write 0x50000000 0x30 0x400
fatload mmc 2:1 0x50000000 E4412_tzsw.bin
mmc write 0x50000000 0x430 0xB8
启动
usb start;tftp 0x40008000 uImage;tftp 0x41000000 ramdisk.img;tftp 0x42000000 exynos4412-tiny4412.dtb;bootm 0x40008000 0x41000000 0x42000000参考