S5PV210
S5PV210
S5PV210
3
SMDKV210 Gingerbread
Revision 1.1
Feb 16, 2011
Installation Guide
http://www.Datasheet4U.com
Important Notice
The information in this publication has been carefully "Typical" parameters can and do vary in different ap-
checked and is believed to be entirely accurate at the plications. All operating parameters, including "Typi-
time of publication. Samsung assumes no responsibili- cals" must be validated for each customer application
ty, however, for possible errors or omissions, or for by the customer's technical experts.
any consequences resulting from the use of the infor-
mation contained herein. Samsung products are not designed, intended, or au-
thorized for use as components in systems intended
Samsung reserves the right to make changes in its for surgical implant into the body, for other applica-
products or product specifications with the intent to tions intended to support or sustain life, or for any oth-
improve function or design at any time and without er application in which the failure of the Samsung
notice and is not required to update this documenta- product could create a situation where personal injury
tion to reflect such changes. or death may occur.
This publication does not convey to a purchaser of Should the Buyer purchase or use a Samsung product
semiconductor devices described herein any license for any such unintended or unauthorized application,
under the patent rights of Samsung or others. the Buyer shall indemnify and hold Samsung and its
officers, employees, subsidiaries, affiliates, and dis-
Samsung makes no warranty, representation, or guar- tributors harmless against all claims, costs, damages,
antee regarding the suitability of its products for any expenses, and reasonable attorney fees arising out of,
particular purpose, nor does Samsung assume any either directly or indirectly, any claim of personal injury
liability arising out of the application or use of any or death that may be associated with such unintended
product or circuit and specifically disclaims any and all or unauthorized use, even if such claim alleges that
liability, including without limitation any consequential Samsung was negligent regarding the design or man-
or incidental damages. ufacture of said product.
All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted in
any form or by any means, electric or mechanical, by photocopying, recording, or otherwise, without the prior writ-
ten consent of Samsung Electronics.
TEL: (82)-(31)-209-2254
FAX: (82)-(31)-209-1973
http://www.Datasheet4U.com
Revision History
http://www.Datasheet4U.com
Table of Contents
1 INTRODUCTION ........................................................................................... 8
2 SYSTEM REQUIREMENTS .......................................................................... 9
2.1 Ubuntu Linux (64-bit x86) ............................................................................................................................ 9
2.2 Install Toolchain .......................................................................................................................................... 9
2.3 Preparations for fastboot ........................................................................................................................... 10
2.3.1 Getting Android SDK & Installing Android SDK ................................................................................. 10
2.3.2 Installing Bootloader Insterface DRIVER ........................................................................................... 10
6 APPENDIX .................................................................................................. 32
6.1 Flashing Android Package using T32 ....................................................................................................... 32
6.1.1 Flashing Nand .................................................................................................................................... 32
6.1.2 Flashing Movi-Nand(SD/MMC) .......................................................................................................... 33
http://www.Datasheet4U.com
List of Figures
http://www.Datasheet4U.com
List of Examples
http://www.Datasheet4U.com
List of Acronyms
Acronyms Descriptions
ADB Android Debug Bridge
ALSA Advanced Linux Sound Architecture
APM Advanced Power Management
ASL Apache Software License
BSP Board Support Package
EGL Embedded Graphics Library
EXIF Exchangeable Image File Format
FIFO First In, First Out
FIMC Fully Interactive Mobile Camera
FIMD Fully Interactive Mobile Display
FIMG Fully Interactive Mobile Graphic
GPL General Public License
HDMI High-Definition Multimedia Interface
HS-MMC High Speed Multi Media Card
IP Intellectual Property
MFC Multi Format Codec
MIPI Mobile Industry Processor Interface
MMC Multi Media Card
MSB Most-Significant Bit
MTD Memory Technology Device
OpenGL OpenGL(Open Graphic Library)
OpenGL ES OpenGL(Open Graphic Library) for Embedded Systems
OS Operating System
PC Personal Computer
POP Package on Package
SD Secure Digital
SMDK Samsung Mobile Development Kit
SPDIF Sony Philips Digital Interconnect Format
TFTP Trivial File Transfer Protocol
UART Universal Asynchronous Receiver and Transmitter
U-boot Universal Boot Loader
UMS USB Mass-Storage
USB OTG USB(Universal Serial Bus) On-The-Go
http://www.Datasheet4U.com
S5PV210 ANDROID2.3_INSTALLATION GUIDE_REV1.1 1 INTRODUCTION
1 INTRODUCTION
This document is intent to provide detailed instruction on building the Android Gingerbread BSP on the
SMDKV210 board.
Since the Android Gingerbread BSP supports Nand and Movi-Nand(SD/MMC) devices as booting devices, this
document includes descriptions of how to get Nand and Movi-Nand(SD/MMC) for a booting and mass storage. If
you are using Nand device as a booting device, it provides method to integrate MTD/Yaffs2 solution into the boot
loader, Android kernel, and Android Gingerbread platform, and to write the binary images on Nand device. If you
are using Movi-Nand(SD/MMC) as a booting device, it provides useful procedures to support ext4 file system and
to write the binary images on Movi-Nand(SD/MMC) device.
Chapter 2 describes how to set up the development environment on the host PC. Chapter 3 explains the building
guidance of the boot loader, Android kernel and Android Gingerbread platform. Chapter 4 provides flashing me-
thods using boot loader commands and chapter 5 shows settings to select booting device (i.e Nand or Movi-
Nand(SD/MMC))
NOTE: It has been created assuming that you are running an Ubuntu linux and should be familiar with knowledge of embed-
ded linux.
http://www.Datasheet4U.com
S5PV210 ANDROID2.3_INSTALLATION GUIDE_REV1.1 2 SYSTEM REQUIREMENTS
2 SYSTEM REQUIREMENTS
The Android build is routinely tested on recent versions of Ubuntu (10.10 or later).
To set up your Linux development environment, make sure you have the following:
Required Packages:
2. JDK 6.0
3. flex, bison, gperf, libsdl-dev, libesd0-dev, libwxgtk2.6-dev (optional), build-essential, zip, curl.
# sudo apt-get install git-core gnupg sun-java5-jdk flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev
For more information regarding installation of them, refer to following web site.
• http://source.android.com/source/download.html
Building the tool chain is not a trivial exercise and for most common situations pre-built tool chains already exists.
Unless you need to build your own, or you want to do it anyway to gain a deeper understanding, then simply
http://www.Datasheet4U.com
S5PV210 ANDROID2.3_INSTALLATION GUIDE_REV1.1 2 SYSTEM REQUIREMENTS
− It will be provided toolchain file arm-2009q3.tar.gz. To build the Android BSP, you need to install the tool
chain as follows.
Procedure:
• http://developer.android.com/sdk/index.html
Required Packages
http://developer.android.com/sdk/installing.html
Procedure:
10
http://www.Datasheet4U.com
S5PV210 ANDROID2.3_INSTALLATION
INSTALLATION G
GUIDE_REV1.1 2 SYSTEM REQUIREMENTS
• 4. Check the Google USB Driver package & Click “Install Selected”
Selected”.
• 5. Make sure the Package Description & License & Accept All & Click "Install".
"Install"
11
http://www.Datasheet4U.com
S5PV210 ANDROID2.3_INSTALLATION
INSTALLATION G
GUIDE_REV1.1 2 SYSTEM REQUIREMENTS
•
• 5. Click “Close” after packages installed
installed.
[Google.NTx86]
; HTC Dream
12
http://www.Datasheet4U.com
S5PV210 ANDROID2.3_INSTALLATION GUIDE_REV1.1 2 SYSTEM REQUIREMENTS
[Google.NTamd64]
; HTC Dream
%SingleAdbInterface% = USB_Install, USB\VID_0BB4&PID_0C01
%CompositeAdbInterface% = USB_Install, USB\VID_0BB4&PID_0C02&MI_01
%SingleBootLoaderInterface% = USB_Install, USB\VID_0BB4&PID_0FFF
; HTC Magic
%CompositeAdbInterface% = USB_Install, USB\VID_0BB4&PID_0C03&MI_01
;
;Moto Sholes
%SingleAdbInterface% = USB_Install, USB\VID_22B8&PID_41DB
%CompositeAdbInterface% = USB_Install, USB\VID_22B8&PID_41DB&MI_01
;
;Google NexusOne
%SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_0D02
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_0D02&MI_01
%SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_4E11
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4E12&MI_01
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4E22&MI_01
%SingleBootLoaderInterface% = USB_Install, USB\VID_18D1&PID_0002
13
http://www.Datasheet4U.com
S5PV210 ANDROID2.3_INSTALLATION GUIDE_REV1.1 2 SYSTEM REQUIREMENTS
This file is used to install ADB USB driver at Window PC. If you already get the modified inf file, you do not need
this step. Also, if you are developing at Linux machine, you do not need inf file.
• 7. Power on.
• 8. Hit any key when displaying "Hit any key to stop autoboot: #".
14
http://www.Datasheet4U.com
S5PV210 ANDROID2.3_INSTALLATION GUIDE_REV1.1 3 BUILDING ANDROID PACKAGE
− Uboot : android_uboot_smdkv210.tar.bz2
− Kernel : android_kernel_2.6.35_smdkv210.tar.bz2
− Gingerbread : android_gingerbread_smdkv210.tar.bz2
The first step for creating Nand images is to configure SMDKV210 board for Nand.
• CPU BOARD
• BASE BOARD
U-Boot is a primary boot loader for Android BSP on SMDKV210. This can load a kernel image and a ramdisk im-
age from Nand device.
Procedure:
15
http://www.Datasheet4U.com
S5PV210 ANDROID2.3_INSTALLATION GUIDE_REV1.1 3 BUILDING ANDROID PACKAGE
• 3. Modify include/configs/smdkv210single.h
− Set the CFG_FASTBOOT_NANDBSP option(by removing comment sign "//")
o Disable CFG_FASTBOOT_ONENANDBSP option(by adding comment sign "//")
o Disable CFG_FASTBOOT_SDMMCBSP option(by adding comment sign "//")
− If CPU board revision number is 0.2 and PMIC type is max8998, set the
CONFIG_SMDKV210_REV02 option(by removing comment sign "//"). If PMIC type is not max8998,
disable the CONFIG_SMDKV210_REV02 option(by comment sign "//").
• 4. # make smdkv210single_config
• 5. # make
• 6. Verify that u-boot.bin is created.
Procedure:
2. modify ~/.bashrc
export ARCH=arm
export CROSSCOMPILE=/opt/toolchains/arm-2009q3/bin/arm-none-linux-gnueabi-
source ~/.bashrc
16
http://www.Datasheet4U.com
S5PV210 ANDROID2.3_INSTALLATION GUIDE_REV1.1 3 BUILDING ANDROID PACKAGE
3. # make smdkv210_android_defconfig
− If CPU board revision number is 0.2 and PMIC type is max8998, change kernel option. If PMIC type
is not max8998, kernel option is not change.
o # make menuconfig
o Go to "System Type Select board revision number for SMDKV210".
o Set the "SMDKV210 Rev 0.2".
Android Gingerbread platform requires four file systems so that it can operate properly: ramdisk, cache, system
and data. Ramdisk is a small sized image for root file system. The others are for directories, /cache, /system, and
/data respectively.
In order to get images for Android Gingerbread platform, you firstly build Android Gingerbread platform.
Procedure:
2. modify ~/.bash_profile
JDK=/java/jdk1.6.0_21/bin
PATH=$GIT_PATH:$JDK:$UBOOT_COMPILER:$PATH
17
http://www.Datasheet4U.com
S5PV210 ANDROID2.3_INSTALLATION GUIDE_REV1.1 3 BUILDING ANDROID PACKAGE
3. source ~/.bash_profile
4. Execute the following command to setup the product name.
− #export SEC_PRODUCT=smdkv210
5. Execute the following command to setup the kernel directory.
− #export KERNEL_DIR=N
o (Ex. #export KERNEL_DIR=/public/android_kernel_2.6.35)
− If you don't setup kernel directory, "boot.img" file is not created.
6. Execute the following command
− #./build_android.sh
7. Verify ramdisk-uboot.img, boot.img, system.img and userdata.img have been created at
out/target/product/smdkv210.
1. Modify /build/core/main.mk
2. Modify 4 files
./external/clearsilver/cgi/Android.mk
./external/clearsilver/java-jni/Android.mk
./external/clearsilver/util/Android.mk
./external/clearsilver/cs/Android.mk
# LOCAL_CFLAGS += -m64
# LOCAL_LDFLAGS += -m64
18
http://www.Datasheet4U.com
S5PV210 ANDROID2.3_INSTALLATION GUIDE_REV1.1 3 BUILDING ANDROID PACKAGE
The first step for creating Movi-Nand(SD/MMC) images is to configure SMDKV210 board for SD/MMC.
• CPU BOARD
− Configure SD/MMC: CFG4[6:1] = OFF OFF ON ON OFF X
• BASE BOARD
− Configure UART: CFGB13[4:1] = OFF OFF OFF ON
o Turn on just CFGB13[1]
U-Boot is a primary boot loader for Android BSP on SMDKV210. This can load a kernel image and a ramdisk im-
age from Movi-Nand(SD/MMC) device.
Procedure:
3. Modify include/configs/smdkv210single.h
− Set the CFG_FASTBOOT_SDMMCNANDBSP option(by removing comment sign "//")
o Disable CFG_FASTBOOT_ONENANDBSP option(by adding comment sign "//")
o Disable CFG_FASTBOOT_NANDBSP option(by adding comment sign "//")
19
http://www.Datasheet4U.com
S5PV210 ANDROID2.3_INSTALLATION GUIDE_REV1.1 3 BUILDING ANDROID PACKAGE
− If CPU board revision number is 0.2 and PMIC type is max8998, set the
CONFIG_SMDKV210_REV02 option(by removing comment sign "//"). If PMIC type is not max8998,
disable the CONFIG_SMDKV210_REV02 option(by comment sign "//").
4. # make smdkv210single_config
5. # make
6. Verify that u-boot.bin is created.
Procedure:
20
http://www.Datasheet4U.com
S5PV210 ANDROID2.3_INSTALLATION GUIDE_REV1.1 3 BUILDING ANDROID PACKAGE
Android Gingerbread platform requires four file systems so that it can operate properly: ramdisk, cache, system
and data. Ramdisk is a small sized image for root file system. The others are for directories, /cache, /system, and
/data respectively.
In order to get images for Android Gingerbread platform, you firstly build Android Gingerbread platform.
Procedure:
4. Modify system/extras/ext4_utils/mkuserimg.sh.
21
http://www.Datasheet4U.com
S5PV210 ANDROID2.3_INSTALLATION GUIDE_REV1.1 3 BUILDING ANDROID PACKAGE
46 if [ $? -ne 0 ]; then
47 exit 4
48 fi
− Remove -s option
22
http://www.Datasheet4U.com
S5PV210 ANDROID2.3_INSTALLATION GUIDE_REV1.1 4 FLASHING SMDKV210
4 FLASHING SMDKV210
First of all, it is very important that SD card reader is identified in Linux PC. When the SD card reader is connected
Linux PC, it is automatically created device file corresponding to the SD card reader in /dev directory (typically,
/dev/sdb). Check whether /dev/sdb device file is generated.
# ls -l /dev/sd?
brw-rw---- 1 root disk 8, 0 2010-03-30 11:37 /dev/sda
#
Figure 4-1 device files without sdcard device
To fuse u-boot image, insert SD card and execute “sd_fusing.sh” shell script. Before executing sd_fusing.sh shell
script, should obtain root permission. The "sd_fusing.sh" shell script performs sd card partitioning, vfat formatting,
and bl1, uboot image fusing.
Procedure:
1. Go to the top directory of U-boot.
2. # cd sd_fusing
3. # make
NOTE: In general, this step is only required to prepare a bootable sdcard. If you already a bootable and well-partitioned
sdcard, you can skip this step.
23
http://www.Datasheet4U.com
S5PV210 ANDROID2.3_INSTALLATION GUIDE_REV1.1 4 FLASHING SMDKV210
Once you prepared a bootable sdcard, the next step is to copy Android images into a directory pc-window. In or-
der to use fastboot command, your pc-window is prepared fastboot command and connected to SMDKV210
board.
Procedure:
1. Set OM pin at CPU board to be sdmmc booting.
3. Power on.
4. Hit any key when displaying "Hit any key to stop autoboot: #"
24
http://www.Datasheet4U.com
S5PV210 ANDROID2.3_INSTALLATION GUIDE_REV1.1 4 FLASHING SMDKV210
Once you prepared a bootable sdcard, the next step is to copy Android images into sdcard. In order to use sdfuse
command, you should copy images into sdfuse directory.
Procedure:
1. Mount sdcard
3. Copy u-boot-config_fused.bin, boot.img, system.img to the sdfuse, if you want to write u-boot into
Nand.
4. Umount sdcard
25
http://www.Datasheet4U.com
S5PV210 ANDROID2.3_INSTALLATION GUIDE_REV1.1 4 FLASHING SMDKV210
Note: To give similar user experience, we made the usage of sdfuse to be looked like that of fastboot. The differ-
ences are 1) sdfuse works only at board-side, 2) sdfuse does not support update command.
An sdfuse command provides four functions: info, flashall, flash, and erase.
2. flashall: Flash boot.img and system.img. Erase two partition userdata and cache. And, reboot.
NOTE: This document assumes that you will write images of u-boot.bin, boot.img and system.img. If you want other images,
such as zImage, ramdisk-uboot.img, userdata.img, then use "sdfuse flash" command. The usage of this command is also simi-
lar to that of fastboot. The names of valid partitions are displayed when "sdfuse info" is executed at u-boot.
Procedure:
1. Set OM pin at CPU board to be sdmmc booting.
3. Power on.
4. Hit any key when displaying "Hit any key to stop autoboot: #"
Procedure:
2. Power off
26
http://www.Datasheet4U.com
S5PV210 ANDROID2.3_INSTALLATION GUIDE_REV1.1 4 FLASHING SMDKV210
27
http://www.Datasheet4U.com
S5PV210 ANDROID2.3_INSTALLATION GUIDE_REV1.1 4 FLASHING SMDKV210
In order to fuse Android images, you had better use "sdfuse flashall" command. This command writes boot.img
(zImage + ramdisk-uboot.img) and system.img in a single command. Also it erases two MTD partitions, userdata
and cache. Finally, it reboot.
Procedure:
1. Insert bootable sdcard into SLOT 0 at SMDK board.
2. Power on.
3. Hit any key when displaying "Hit any key to stop autoboot: #"
4. # sdfuse flashall
28
http://www.Datasheet4U.com
S5PV210 ANDROID2.3_INSTALLATION GUIDE_REV1.1 4 FLASHING SMDKV210
29
http://www.Datasheet4U.com
S5PV210 ANDROID2.3_INSTALLATION GUIDE_REV1.1 1
Once you prepared a bootable sdcard, the next step is to copy Android images into a directory pc-window. In or-
der to use fastboot command, your pc-window is prepared fastboot command and connected to SMDKV210
board.
Procedure:
1. Set OM pin at CPU board to be sdmmc booting.
3. Power on.
4. Hit any key when displaying "Hit any key to stop autoboot: #"
− # mkfs.vfat /dev/sdb0
− # mkfs.ext4 -j /dev/sdb1
− # mkfs.ext4 -j /dev/sdb2
− # mkfs.ext4 -j /dev/sdb3
12. Hit any key when displaying "Hit any key to stop autoboot: #"
30
http://www.Datasheet4U.com
S5PV210 ANDROID2.3_INSTALLATION GUIDE_REV1.1 5 BOOTING SMDKV210
5 BOOTING SMDKV210
Procedure:
1. Power off
3. Power on
Procedure:
1. Power off
3. Power on
31
http://www.Datasheet4U.com
S5PV210 ANDROID2.3_INSTALLATION GUIDE_REV1.1 6 APPENDIX
6 APPENDIX
You can use Trace32, a JTAG debugger to load u-boot image in SMDKV210. You can be available the attached
cmm file
V210_SM DK_Base
_Ver1.cmm
Procedure:
CPU: S5PV210@800MHz(OK)
SCLKA2M = 200MHz
Serial = CLKUART
Board: SMDKV210
DRAM: 1 GB
Flash: 8 MB
0 MB
32
http://www.Datasheet4U.com
S5PV210 ANDROID2.3_INSTALLATION GUIDE_REV1.1 6 APPENDIX
NAND: 256 MB
In: serial
Out: serial
Err: serial
SMDKV210 # printenv
bootcmd=nand read C0008000 600000 400000; nand read 30A00000 B00000 180000; bootm C0008000 30A00000
bootdelay=3
baudrate=115200
ethaddr=00:40:5c:26:0a:5b
ipaddr=192.168.0.20
serverip=192.168.0.10
gatewayip=192.168.0.1
netmask=255.255.255.0
SMDKV210 #
You can use Trace32, a JTAG debugger to load u-boot image in SMDKV210. You can be available the attached
cmm file
33
http://www.Datasheet4U.com
S5PV210 ANDROID2.3_INSTALLATION GUIDE_REV1.1 6 APPENDIX
V210_SMDK_Base
_Ver1.cmm
4. Hit any key when displaying "Hit any key to stop autoboot: #"
− # mkfs.vfat /dev/sdb0
− # mkfs.ext4 -j /dev/sdb1
− # mkfs.ext4 -j /dev/sdb2
− # mkfs.ext4 -j /dev/sdb3
•
10. eject sdcard from Host PC
14. Hit any key when displaying "Hit any key to stop autoboot: #"
34
http://www.Datasheet4U.com