Difference between revisions of "MultiMediaCard"

From ArmadeusWiki
Jump to: navigation, search
m (Usage)
m (Installation)
Line 5: Line 5:
 
You can use standard MMC/SD cards with your Armadeus board, if you have [[MMC/SD | the corresponding connector attached to your development board.]]
 
You can use standard MMC/SD cards with your Armadeus board, if you have [[MMC/SD | the corresponding connector attached to your development board.]]
  
==Installation==
+
==Installation (obsolete now because driver is included in default Armadeus kernel)==
  
when you build your kernel image, then modify your configuration:
+
When you build your kernel image, then modify its configuration:
  [user@toto]$ make xconfig
+
  [armadeus]$ make linux-menuconfig
 
in Device Drivers->MMC/SD Card support->iMX Support
 
in Device Drivers->MMC/SD Card support->iMX Support
In FileSystems, don't forgt to add support for the filesystem on the MMC and if you activate FAT/VFAT, don't forget to activate Native Language Support (NLS)
+
In FileSystems, don't forget to add support for the filesystem you want to use on the MMC and if you activate FAT/VFAT, don't forget to activate Native Language Support (NLS)
 
otherwise you'll get errors like:  
 
otherwise you'll get errors like:  
 
  Unable to load NLS charset cp437
 
  Unable to load NLS charset cp437
Line 16: Line 16:
  
 
Save your configuration and then rebuild your kernel image:
 
Save your configuration and then rebuild your kernel image:
  [user@toto]$ make
+
  [armadeus]$ make linux
 
now you should have following drivers in your kernel source tree:
 
now you should have following drivers in your kernel source tree:
 
  drivers/mmc/
 
  drivers/mmc/
 
Copy '''mmc_core.ko''', '''imxmmc.ko''' & '''mmc_block.ko''' to your target root filessytem in '''/lib/modules/''' or reflash the generated rootfs.
 
Copy '''mmc_core.ko''', '''imxmmc.ko''' & '''mmc_block.ko''' to your target root filessytem in '''/lib/modules/''' or reflash the generated rootfs.
  
If not already existing then create MMC block devices:
+
If not already existing then create the MMC block devices:
 
  # mknod /dev/mmcblk0 b 254 0
 
  # mknod /dev/mmcblk0 b 254 0
 
  # mknod /dev/mmcblk0p1 b 254 1
 
  # mknod /dev/mmcblk0p1 b 254 1

Revision as of 13:11, 21 October 2007

Instructions to use the MultiMediaCard (MMC/SD) on your Armadeus board

Introduction

You can use standard MMC/SD cards with your Armadeus board, if you have the corresponding connector attached to your development board.

Installation (obsolete now because driver is included in default Armadeus kernel)

When you build your kernel image, then modify its configuration:

[armadeus]$ make linux-menuconfig

in Device Drivers->MMC/SD Card support->iMX Support In FileSystems, don't forget to add support for the filesystem you want to use on the MMC and if you activate FAT/VFAT, don't forget to activate Native Language Support (NLS) otherwise you'll get errors like:

Unable to load NLS charset cp437
FAT: codepage cp437 not found

Save your configuration and then rebuild your kernel image:

[armadeus]$ make linux

now you should have following drivers in your kernel source tree:

drivers/mmc/

Copy mmc_core.ko, imxmmc.ko & mmc_block.ko to your target root filessytem in /lib/modules/ or reflash the generated rootfs.

If not already existing then create the MMC block devices:

# mknod /dev/mmcblk0 b 254 0
# mknod /dev/mmcblk0p1 b 254 1

If not already existing then create the mount point (/mnt/mmc):

# mkdir -p /mnt/mmc

Usage

Just mount the MMC like you will do on your PC, for example (FAT32 formatted card):

# mount -t vfat /dev/mmcblk0p1 /mnt/mmc

You can then access the MMC's files from /mnt/mmc directory

The MMC driver is now included inside the Linux kernel (no more a module) but if you want to use it as a module you will have to:

# modprobe imxmmc
# modprobe mmc_block

Booting from MMC/SD

When your rootfs is too big to be put on the APF9328 FLASH, you can always use a MMC/SD like a Hard Drive and boot from it. To do that you must have MMC drivers compiled as builtin in your Linux kernel (Done by default in standard Armadeus kernel)

  • Mount your MMC/SD on your Host filesystem, for example in /mnt/sdcard/
  • Then put your rootfs on this MMC/SD: in Buildroot configure rootfs to be tar-ed:
[armadeus] $ make menuconfig
 Target Options  ---> tar the root filesystem
[armadeus] $ make

and then:

# tar xvf /.../armadeus/buildroot/rootfs.arm_nofpu.tar -C /mnt/sdcard/
# umount /mnt/sdcard/
  • in U-Boot then use (with MMC inserted):
BIOS> run mmcboot

TBDL

Links


FrenchFlag.png Cette page en français