MMC/SD
How-To connect an MMC/SD adapter/connector to your APF9328
For instructions on how to use MMC/SD on Linux, see MultiMediaCard page.
SDCard, MiniSD, and Transflash/MicroSD are all the same devices but in different package shapes and are all pin compatible.
On Armadeus boards, MMC are controlled in 1 bit MMC mode and SD/MiniSD/MicroSD in 4 bits SD mode.
We don't use MMC/SD in "fucking slow & error prone" SPI mode.
Contents
Adapter board (for DevLight or your custom board)
We have designed a small adapter board with a push-pull MMC/SD connector on it. You need to connect the signals listed in the table below to the corresponding one on your DevLight board. The WP and CD_SW signals are optional and must be connected to free i.MXL GPIOs, if used.
Signals name (Top view with MMC connector on the right):Adapter Pin | Desc | Adapter Pin | Desc |
---|---|---|---|
1 (square) | +3.3V | 2 | SD_DAT2 |
3 | SD_CMD | 4 | SD_DAT3 |
5 | SD_CLK | 6 | SD_DAT0 |
7 | WP (option) | 8 | SD_DAT1 |
9 | CD_SW (option) | 10 | GND |
Remarks:
- Pin 1 (rectangular/square pad)
- WP: write protect
- CD_SW: Card Detect switch
If you don't want to buy such an adapter or don't have a MMC slot (and are a hacker ;-) ), you can still try this link:
On a DevFull board, there is already a MMC/SD connector
Supported Cards
Here is a list of the current cards which were tested:
MMC
Model | Status | Speed in kB/sec (read/write) | Comments |
---|---|---|---|
Hama 256 Mbytes | working | 896 / 455 | Ext2 |
NA |
MMC+
Model | Status | Speed in kB/sec (read/write) | Comments |
---|---|---|---|
Kingston 256 Mbytes | working | NA |
SD:
Model | Status | Speed in kB/sec (read/write) | Comments |
---|---|---|---|
Kingston 512 Mbytes | working | 3276 / 157 | Ext2 |
Kingston 256 Mbytes | working | NA | |
Dane-Elec 2 Gbytes | KO | NA | OK in 1bit mode. doesn't work : Card recognized but partition table not found in 4bits mode |
Transcend 2 Gbytes (x150) | working | NA | |
Sandisk 512 Mbytes | working | NA | formating failure may happen sometimes. Workaround: retry |
MiniSD:
Model | Status | Speed in kB/sec (read/write) | Comments |
---|---|---|---|
Corsair 1Gbytes | working | 3339 / 365 | VFAT |
Sandisk 1Gbytes | working | ||
Sandisk 512Mbytes | working | ||
Transcend 512Mbytes | not recognized | NA | |
Extreme Memory 512Mbytes | not recognized | NA | |
Dane-Elec 1Gbytes | doesn't work | NA | Card recognized but partition table not found |
microSD/TransFlash:
Model | Status | Speed in kB/sec (read/write) | Comments |
---|---|---|---|
Sandisk 512Mbytes | working | 3330 / 320 | VFAT |
NA |
Test method
# dd if=/dev/urandom of=/tmp/data.bin bs=1024 count=4096 # mount /dev/mmcblk0p1 /media/mmc/ # echo "mv /tmp/data.bin /media/mmc/" > /tmp/test_mmc.sh # echo "sync" >> /tmp/test_mmc.sh # echo "exit 0" >> /tmp/test_mmc.sh # time sh /tmp/test_mmc.sh # umount /media/mmc && mount /dev/mmcblk0p1 /media/mmc/ # time cp /media/mmc/data.bin /tmp/data_read.bin