ÀÌ ¸Å´º¾óÀº JKÀüÀÚ(JK Electronics) ¿¡ ÀÇÇؼ­ ¹ø¿ª, ¼öÁ¤, ÀÛ¼º µÇ¾ú°í ¼ÒÀ¯±Ç ¶ÇÇÑ
JKÀüÀÚ(JK Electronics)
ÀÇ °ÍÀÔ´Ï´Ù. ¼ÒÀ¯±ÇÀÚÀÇ Çã°¡¸¦ ¹ÞÁö ¾Ê°í ¹«´ÜÀ¸·Î ¼öÁ¤, »èÁ¦Çϰųª ¹èÆ÷ ÇÒ ¼ö ¾ø½À´Ï´Ù.



 

S3C6410 Start Kit Android Developer Guide

 

* Update history

- 2011.1.13 : Ãʱâ Release


 

1. Create Android development environment

À̹ø Àå¿¡¼­´Â ¾Èµå·ÎÀÌµå ½Ã½ºÅÛÀÇ Ä¿³Î ÄÄÆÄÀÏ ¹æ¹ý°ú ÆÄÀÏ ½Ã½ºÅÛ ±¸Ãà µî¿¡ ´ëÇؼ­ ¼³¸í ÇÕ´Ï´Ù. ¾Èµå·ÎÀÌµå ¾îÇø®ÄÉÀÌ¼Ç °³¹ß¿¡ ´ëÇؼ­´Â Android Application Developer Guide ¸¦ ÂüÁ¶ÇϽñ⠹ٶø´Ï´Ù.

2. ¾Èµå·ÎÀÌµå °³¹ß Ç÷§Æû

¾Èµå·ÎÀ̵å¿Í ¸®´ª½ºÀÇ °³¹ß ȯ°æÀº ±âº»ÀûÀ¸·Î µ¿ÀÏ ÇÕ´Ï´Ù. ±âº»ÀûÀÎ °³¹ßȯ°æÀº ¸®´ª½º È£½ºÆ®(Fedora 9)°ú Å©·Î½º ÄÄÆÄÀÏ·¯, ÆÄÀÏ ½Ã½ºÅÛ ±¸Ãà Åø(mktool) üÀÎ µîÀÌ ÇÊ¿ä ÇÕ´Ï´Ù.

2.1 Unpacking the source code

¸ÕÀú ÀÛ¾÷ µð·ºÅ丮 "/opt/FriendlyARM/mini6410/android" ¸¦ »ý¼º ÇÕ´Ï´Ù.

# mkdir -p /opt/FriendlyARM/mini6410/android

(1) Android source code package Áغñ

Fedora 9 ¸®´ª½º ½Ã½ºÅÛÀÇ tmp µð·ºÅ丮¿¡ "/tmp/androi" ¸¦ »ý¼º ÇÕ´Ï´Ù. ±×¸®°í Á¦°ø CD ROM ¿¡¼­ ¾Èµå·ÎÀÌµå ¼Ò½º Àüü¸¦ º¹»ç ÇÕ´Ï´Ù.

# mkdir /tmp/android

Note : ¿©±â¼­ ¾Èµå·ÎÀÌµå ¼Ò½º¸¦ tmp µð·ºÅ丮¸¦ »ý¼ºÇÏ°í º¹»çÇÏ´Â °úÁ¤Àº ½ÇÁ¦ »ç¿ëÀÚ ¸¶´Ù ´Ù¸¦ ¼ö ÀÖ½À´Ï´Ù. ´ÜÁö ¿©±â¿¡¼­´Â ¿¹½Ã¸¦ ÇÑ °Í »ÓÀÔ´Ï´Ù.

(2) Extract the source code to install u-boot

ÀÛ¾÷µð·ºÅ丮 "/opt/FriendlyARM/mini6410/android" ¿¡¼­ ½ÇÇà ÇØ¾ß ÇÕ´Ï´Ù.

# cd /opt/FriendlyARM/mini6410/android
# tar xvzf /tmp/android/u-boot-mini6410-20101106.tar.gz


u-boot ÆÄÀÏ¸í¿¡¼­ "20101106" ´Â ¼Ò½ºÀÇ ³¯Â¥ À̹ǷΠ¼ÒÇÁÆ®¿þ¾î Release ¹öÁ¯¸¶´Ù ´Ù¸¦ ¼ö ÀÖ½À´Ï´Ù.

(3) Extract the kernel source to install Android

ÀÛ¾÷µð·ºÅ丮 "/opt/FriendlyARM/mini6410/android" ¿¡¼­ ½ÇÇà ÇØ¾ß ÇÕ´Ï´Ù.

# cd /opt/FriendlyARM/mini6410/android
# tar xvzf /tmp/android/android-kernel-2.6.36-20110104.tar.gz


(4) Extract the package to install Android Source Code

# cd /opt/FriendlyARM/mini6410/android
# tar xvzf /tmp/android/android-2.2-fs-20110104.tar.gz


(5) Extract the Android system

# cd /opt/FriendlyARM/mini6410/android
# tar xvzf /tmp/android/rootfs_android-20110104.tar.gz


2.2 Configuring and compiling U-boot

U-boot´Â ¸®´ª½º¿ë°ú ¿Ïº®ÇÏ°Ô µ¿ÀÏ ÇÕ´Ï´Ù.

2.2.1 Configure Compile support for NAND boot U-boot

* 128M DDR RAM¿ë U-boot ÄÄÆÄÀÏ °úÁ¤

U-Boot ¼Ò½º°¡ ÀÖ´Â µð·ºÅ丮·Î À̵¿

# cd /opt/FriendlyARM/mini6410/linux/u-boot-mini6410
# make mini6410_nand_config-ram128;make


* 256M DDR RAM¿ë U-boot ÄÄÆÄÀÏ °úÁ¤

# cd /opt/FriendlyARM/mini6410/linux/u-boot-mini6410
# make mini6410_nand_config-ram256;make


ÄÄÆÄÀÏÀÌ ¿Ï·áµÇ¸é "U-boot.bin" ÆÄÀÏÀÌ »ý¼º µË´Ï´Ù.

2.2.2 Configure Compile support for SD boot U-boot

NAND boot¿ë U-boot ÄÄÆÄÀÏ ÇÒ¶§¿Í µ¿ÀÏÇÏ°Ô ¸Þ¸ð¸® ¿ë·®¿¡ µû¶ó¼­ 2°¡Áö·Î ÄÄÆÄÀÏ ÇÒ ¼ö ÀÖ½À´Ï´Ù.


* 128M DDR RAM¿ë U-boot ÄÄÆÄÀÏ °úÁ¤

#cd /opt/FriendlyARM/mini6410/linux/u-boot-mini6410
#make mini6410_sd_config-ram128;make

* 256M DDR RAM¿ë U-boot ÄÄÆÄÀÏ °úÁ¤

#cd /opt/FriendlyARM/mini6410/linux/u-boot-mini6410
#make mini6410_sd_config-ram256;make

2.3 Linux kernel configuration and compilation

Ä¿³ÎÀº LCDÁ¾·ù¿¡ µû¶ó¼­ ¼³Á¤ ÆÄÀÏÀÌ ´Þ¶ó Áú ¼ö ÀÖ½À´Ï´Ù.

* 4.3ÀÎÄ¡ LCD¸¦ »ç¿ëÇÒ °æ¿ìÀÇ ºôµå °úÁ¤

# cd /opt/FriendlyARM/mini6410/android/linux-2.6.36-android
# cp config_android_n43 .config
# make


ºôµå°¡ ¿Ï·áµÇ¸é "arch/arm/boot" µð·ºÅ丮¿¡ zImage ÆÄÀÏÀÌ »ý¼º µË´Ï´Ù.

* 7.0ÀÎÄ¡ LCD¸¦ »ç¿ëÇÒ °æ¿ìÀÇ ºôµå °úÁ¤

# cd /opt/FriendlyARM/mini6410/android/linux-2.6.36-android
# cp config_android_a70 .config
# make


¸¶Âù°¡Áö·Î ºôµå°¡ ¿Ï·áµÇ¸é "arch/arm/boot" µð·ºÅ丮¿¡ zImage ÆÄÀÏÀÌ »ý¼º µË´Ï´Ù.

2.4 Create Android from source

¾È µå·ÎÀÌµå ½Ã½ºÅÛ ¼Ò½º´Â ³Ê¹«³ª ¹æ´ëÇؼ­ ÄÄÆÄÀÏ ÇÏ´Â µ¥¿¡¸¸ 1.5-4 hours Á¤µµ°¡ ¼Ò¿äµÉ Á¤µµ ÀÔ´Ï´Ù. ±×·¡¼­ ÄÄÆÄÀÏÀ» Á»´õ ½±°Ô Çϱâ À§Çؼ­ build-android, genrootfs.sh and genrootfs-s.sh 3°³ÀÇ ½ºÅ©¸³Æ®¸¦ Á¦°ø ÇÕ´Ï´Ù.

# cd /opt/FriendlyARM/mini6410/android/Android-2.2
# ./build-android

Android-2.2 systemÀÇ ºôµå°¡ ½ÃÀÛ µË´Ï´Ù. ºôµå°¡ ¿Ï·áµÇ¸é ¾Æ·¡ ¸í·ÉÀ» ½ÇÇàÇؼ­ ¾Èµå·ÎÀ̵å ÆÄÀÏ ½Ã½ºÅÛ(rootfs_dir)À» »ý¼º ÇÕ´Ï´Ù.

# ./genrootfs.sh

android

2.5 Android Filesystem

2.5.1 yaffs2 filesystem

mkyaffs2image-128M ÅøÀ» ÀÌ¿ëÇؼ­ yaffs2 ÆÄÀϽýºÅÛ Æ÷¸ËÀ» »ý¼º ÇÒ ¼ö ÀÖ½À´Ï´Ù.

# cd /opt/FriendlyARM/mini6410/android/Android-2.2
# mkyaffs2image-128M rootfs_dir rootfs_android.img

¸¸¾à¿¡ serial port touch screenÀ» »ç¿ëÇÑ´Ù¸é "rootfs_android-s" ¸¦ ÀÌ¿ëÇÏ¸é µË´Ï´Ù.

2.5.2 UBIFS filesystem

mkubimage ÅøÀ» ÀÌ¿ëÇؼ­ ¸¸µé ¼ö ÀÖ½À´Ï´Ù.

# cd /opt/FriendlyARM/mini6410/android/Android-2.2
# mkubimage rootfs_dir rootfs_android.ubi

UBIFS ÆÄÀϽýºÅÛÀº yaffs2 º¸´Ù ¾ÐÃàÀÌ µÇ¾î À־ ¿ë·®ÀÌ Á»´õ ÀÛ½À´Ï´Ù.

2.5.3 ext3 filesystem

mkext3image ÅøÀ» ÀÌ¿ëÇؼ­ ¸¸µé ¼ö ÀÖ½À´Ï´Ù.

# cd /opt/FriendlyARM/mini6410/android/Android-2.2
# mkext3image rootfs_dir rootfs_android.ext3

ext3ÆÄÀÏ ½Ã½ºÅÛÀº ÁÖ·Î ¾Èµå·ÎÀÌµå ½Ã½ºÅÛÀ» SD¸Þ¸ð¸®¿¡¼­ ¹Ù·Î ½ÇÇàÇÒ °æ¿ì¿¡ »ç¿ëÇÏ°Ô µË´Ï´Ù. ÀÚ¼¼ÇÑ »çÇ×Àº OSÆ÷Æà °¡ÀÌµå ¸¦ ÂüÁ¶ÇϽñ⠹ٶø´Ï´Ù.