How to Install the Android SDK and Eclipse Indigo on Ubuntu

I’ve been experimenting with mobile app development for a while now, and I recently wanted to install the Android SDK (r11) and Eclipse 3.7 (Indigo) on my laptop, which runs Ubuntu 11.04 (Natty Narwhal). Eclipse provides a great IDE for writing your code, and the Android SDK provides all of the device files and Android-specific goodies you need to implement your applications on Android devices. I followed the guides on the Android and Eclipse website, and the process was pretty straightforward. This tutorial assumes you have a Java Virtual Machine already set up on your system. I use Sun’s JVM but others should work just as well.

Summary

  1. Android logoDownload the Android SDK.
  2. Download the SDK plugins you want.
  3. Download and install Eclipse.
  4. Move Eclipse and Android directories to a final installation folder [optional]
  5. Install the Android Development Tools for Eclipse
  6. Point Eclipse to the location of your Android SDK.
  7. Start writing Android applications!

1. Download the Android SDK.

First, head over to the Android SDK Download page and download the latest SDK version that fits your environment (x86 or x64). At the time of this writing, the most recent stable SDK is r11.

Download the Android SDK for Ubuntu

Download the Android SDK for Linux

It’s a pretty quick download. Once you have the archive, extract it into a folder. You can work in your windowing manager but I prefer the command line. I extracted with the following command:

$ tar xzvf android-sdk_r11-linux_x86.tgz

Tar is the GNU archiving tool. The xzvf flags mean ‘extract, unzip, verbose, (from) file.’ The untarring should result in the creation of an ‘android-sdk-linux_x86′ folder in the same directory as the tar file. Open the folder and go into the ‘tools’ directory, where you can execute the ‘android’ program.

$ cd android-sdk-linux_x86/tools
android-sdk-linux_x86/tools$ ./android

*** 최근 sdk(android-sdk_r20.0.3-linux)를 받고 실행해 봤는데 터미널에서 실행이 안된다 swt.jar이 없다는 얘기가 나오는데

폴더에서 직접 실행하니 이런 문제가 발생하지 않는다.

This will open the Android SDK and AVD manager.

The Android SDK and AVD Manager in Ubuntu

The Android SDK and AVD Manager

2. Download the SDK plugins you want.

At this point, you should select the SDK elements and APIs you would like to have available for developing. If you want to develop cross-platform Android apps, you should probably download everything. If you only want to target a specific device, download the APIs and Android versions that apply to that device. There are a number of options to choose from. Make your selection from the available packages and click “Install Selected.” In my case, I downloaded a bunch of different platform tools and APIs, so the download took a while. While it’s downloading, let’s install Eclipse.

3. Download and install Eclipse.

If you like to stick with the Ubuntu repositories, you can install Eclipse using apt-get or Synaptic. However, at the time of this writing, Eclipse Indigo was just released and it isn’t available in any of the repositories so I downloaded it from the Eclipse website (over bittorrent, for speed and to help their bandwidth). Either way, the folks at Android recommend the Eclipse Classic installation.

To install from the Ubuntu repositories:

$ sudo apt-get install eclipse

To install from the Eclipse website, go to their Downloads page and get the latest version of Eclipse Classic. In my case, I downloaded “eclipse-SDK-3.7-linux-gtk.tar.gz.” To extract the files in the archive, I typed,

$ tar xzvf eclipse-SDK-3.7-linux-gtk.tar.gz

This should extract an ‘eclipse’ folder that contains a functional Eclipse installation. Enter the folder and run the main eclipse application to make sure it works.

$ cd eclipse
$ ~/eclipse$ ./eclipse

The Eclipse splash screen should pop up and ask you where you want to store your workspace files. I went with the default (~/workspace).

Eclipse Indigo in Ubuntu Natty

Eclipse Indigo Splash Screen in Ubuntu Natty

4. Move Eclipse and Android directories to a final installation folder [optional]

I verified that Eclipse was working, and noticed that my Android SDK targets had finished downloading, so I closed both applications and moved the Android and Eclipse folders to my /opt/ directory, because that’s how I like to organize my system. You can skip this step or place the files in a different location if you like.

I issued the following commands to move the folders and change their permissions. Substitute ‘USER’ for your username:

$ sudo mv eclipse/ /opt/
$ sudo mv android-sdk-linux_x86/ /opt/
$ sudo chown -R USER:USER /opt/android-sdk-linux_x86/

5. Install the Android Development Tools for Eclipse

Now that Eclipse and the Android SDK are installed, we need to add the Android Development Tools (ADT) to our Eclipse installation. Up to date instructions can be found on the ADT Website. Start Eclipse and go to Help > Install New Software. Then click the ‘Add’ button at the top of the window. An “Add Repository” window will pop up. Pick a name, (I chose ‘Google Android’) enter the following URL in the ‘Location’ box and click OK:

https://dl-ssl.google.com/android/eclipse/
Add the Google Android Repository to Eclipse

Add the Google Android Repository to your Available Software Sources

Now you can select select the location you added from the ‘Work With:’ dropdown. Check the ‘Developer Tools’ box and click ‘Next’ to proceed with the installation. Once you’ve agreed to the Terms and Conditions, click Finish. When you restart Eclipse, the installation will be complete.

6. Point Eclipse to the location of your Android SDK.

Once the ADT is installed, you need to enter the location of your Android SDK into Eclipse. Click the Window menu and select ‘Preferences.’ Then click ‘Android’ and enter the location of your Android SDK folder. In my case, it was ‘/opt/android-sdk-linux_x86.’

Eclipse Android Preferences

Enter the location of your Android SDK folder

After you enter your SDK folder location and click ‘Apply,’ the list should be populated with the SDK targets you installed. After you click ‘OK,’ you’re ready to start writing Android Applications!

7. Start writing Android applications!

To create your first Android project, go to File > New Project and select ‘Android.’ Click Android Project, and enter a Project Name, an Application Name and a Package Name and select the Android version you would like to target and  click ‘Next,’ then ‘Finish. I picked “Test1, Test1 and com.android.test1″ respectively, and I targeted Android 2.2.

Create a new Android Project in Eclipse

Create a new Android Project

After a few moments, your project will be ready to compile and test.

Android Project Java Source

The Java Source of our Android Project

Before you run your project, you will need to create a new Run Configuration. Click Run>Run Configuration and double-click ‘Android Application.’ Specify a name for your configuration, click ‘Browse’ and select your project before clicking OK.

Eclipse ADT Run Configuration

Click 'Browse' and select your project in the Run Configuration window

Click ‘Run’ and wait for the virtual device initialization to complete. The first time you run a program on a newly-created virtual device, the initialization will take a while. After the first run, the virtual device should start up more quickly.

The Android 2.2 Virtual Device

The Android 2.2 Virtual Device created for our project (initializing)

Once the initialization is complete, our test application should run!

Virtualized Android Application

Our Android application running on the virtual device!

Further Reading

  1. Android Developer Resources (Sample Code, Tutorials, etc)
  2. Installing the Android SDK


1. 다음 사이트에서 debian package 를 다운받는다.
http://www.scootersoftware.com/download.php

2. package 설치
sudo dpkg -i bcompare-3.2.4.13298_amd64.deb

3. 다음에서 확인
프로그램 > 개발 > Beyond compare





wget http://www.scootersoftware.com/bcompare-4.1.7.21529_amd64.deb
sudo apt-get update
sudo apt-get install gdebi-core
sudo gdebi bcompare-4.1.7.21529_amd64.deb



** android 컴파일 후 마지막에 다음과 같은 메세지가 나오면 uboot-mkimage 를 설치하지 않아서 이다.

mkimage: 명령어를 찾을 수 없음


다음과 같이 설치 할 수 있다.
sudo apt-get install uboot-mkimage

[Guide] Building Android 2.3.4 on Ubuntu 11.04 (64 bit)

As promised my how-to for building Android 2.3.4 on Ubuntu 11.04 (64 bit). I found out that building Android changed a bit since Ubuntu 11.04 and the documentation on the Android source site isn't up to date. This is why i choose to write down the steps i did to build Android 2.3.4. So, go grab yourself a Red Bull and let's get ready to rumble!

What do you need?

Ubuntu 11.04 (64 bit), a internet connection & if your building for a phone.. The phone.

Preparing Ubuntu:

Fire up a terminal, and download the following packages to start with:

sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev g++-multilib lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev libgl1-mesa-dev

Now make sure your using the right version of Java:

sudo add-apt-repository "deb http://archive.canonical.com/ maverick partner"
sudo add-apt-repository "deb-src http://archive.canonical.com/ubuntu maverick partner"
sudo apt-get update
sudo apt-get install sun-java6-jdk

You just downloaded all the software needed to build Android.

Make sure that your Ubuntu machine can use your USB devices by creating /etc/udev/rules.d/51-android.rules (as root user) paste the following inside that file:

# adb protocol on passion (Nexus One)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e12", MODE="0600", OWNER="<username>"
# fastboot protocol on passion (Nexus One)
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0fff", MODE="0600", OWNER="<username>"
# adb protocol on crespo (Nexus S)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e22", MODE="0600", OWNER="<username>"
# fastboot protocol on crespo (Nexus S)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e20", MODE="0600", OWNER="<username>"

Please make sure to switch "<username>" to the username of your Ubuntu user.

Now it's time to download the repo and stuff like that. In the same terminal type:

mkdir ~/bin
curl http://android.git.kernel.org/repo > ~/bin/rep

Now open up your bashrc (nano ~/.bashrc) and add the following to the end:

PATH=$PATH:$HOME/bin

Save the file and source it:

source ~/.bashrc

Getting the source:

Now, make a directory where you would like to build Android. I always keep my system clean so i made a Android/source/Gingerbread folder:

mkdir -p ~/Android/source/Gingerbread

Now go to that directory:

cd ~/Android/source/Gingerbread

Now let the repository initialize:

repo init -u git://android.git.kernel.org/platform/manifest.git -b gingerbread

android.git.kernel.org 가 막혀 있다면 아래 사이트를 이용하면 된다.
repo init -u https://android.googlesource.com/platform/manifest -b gingerbread

And next sync it. This will take a while :-) :

repo sync

You now have the source code of Gingerbread on your Ubuntu machine. Sweet! Of course, you still have to build it.

Building the source:

First i will explain how to build a normal generic build. This is a non phone specific build. In the Android source folder type:

. build/envsetup.sh

This will prepare your build environment. This is needed to have tools like lunch, mmm and other nifty Android specific tools. Now it's time to actually choose our version of 2.3.4:

lunch

You will be asked which Android version you want, choose "generic". Now! It's time for the real deal, building the source. It's time to fire up make:

make -j4

Do note that there are diffrent -j parameters of make to build faster. You could use make -j4 if you have 2 cores, and make -j8 if you have 4. This will speed up the building.

If the building ends with something like system.img that the build went ok. Congratulations you've just build Android 2.3.4. You can flash it to your phone with fastboot. But this is just a generic build missing device specific features.

Building the source for the Nexus One:

Connect your phone to your PC, and make sure that it's on debugging mode. From the root of your source, go to the Passion (code name for Nexus One) specific folder:

cd device/htc/passion

Import all the needed files:

./extract-files.sh

If this ends with no errors your done, you can now return to the root of your source tree. If you followed this how to go back to:

~/Android/source/Gingerbread

Now use lunch to choose the passion-full-userdebug build.

lunch

And! Now you can use make to build Android:

make -j4

If your build ends with something like this:

Install system fs image: out/target/product/passion/system.img

The build is complete. You can again use fastboot to flash it to your device. You now have the full open source version of Android running on your phone.

If you have any questions about this topic please don't hesitate to ask them in the comments i'll do my best to give answers when possible.

http://kissphoto.net/zbxe/

'세상구경' 카테고리의 다른 글

우분투에서 라디오 들을때 필요한 스트리밍 주소  (0) 2012.02.25
알파이너의사진첩  (0) 2011.02.09
우음도

인터넷에서 검색해 보면 한적함이 묻어 있는것 같다.
왠지 정리가 필요할 때 찾을 수 있는 곳이란 생각이 든다.
아마도 늦은 가을쯤..
혹은..
찬바람이 부는 겨울쯤에 제대로 느낄 수 있는 곳이 아닐까..

'세상구경 > 가보고 싶은 곳' 카테고리의 다른 글

삼남길  (0) 2013.05.20
2. 주남저수지  (0) 2011.06.03
1. 서운동산  (0) 2011.06.03
주남 저수지
http://www.junam.co.kr/

주남저수지.. 주남저수지.. 주남저수지..
어느날 매일경제를 읽다가 한켠에 자리 잡은 사진 한 장을 봤다.
눈을 뗄수가 없어 한참을 보았고 다른 내용을 읽고 있었지만 내 마음은 그 한 장의 사진을 보고 있었다.
안개가 피어 오르는 이른 아침..
오랜 세월을 얘기하는 듯한 한 그루의 나무.
곧지 않는 가지를 보면서 많은 시간속에서 천천히 천천히 세월을 맞이한 그 나무만이 가지고 있는 모습이 보였다.

그 날 이후로 난 카메라를 들고 내 삶을 찾아야 겠다는 생각이 들었다.
그리고 카메라와 함께하는 첫 여행이 주남저수지를 향할 것이라는 것을 마음속에 새겼다.
곧 그곳을 향해 가리라.
곧 그 나무만이 줄 수 있는 정서를 카메라에 담을 것이다.
그렇게 내 삶을 만들어 갈 것이다.


'세상구경 > 가보고 싶은 곳' 카테고리의 다른 글

삼남길  (0) 2013.05.20
3. 우음도  (0) 2011.06.03
1. 서운동산  (0) 2011.06.03
서운동산
http://www.seowoon.co.kr/

엔스퍼트 E301 카메라를 어느 정도 끝낸 날.
'사진 출사' 로 검색하니 서운동산 이란 곳이 나왔다.
인위적이긴 하지만 단풍이 참 아름답다는 생각이 들었다.

저 팬션에서 어느 하루 밤을 보내고 싶었고 인위적 아름다움이 있는 동산을 카메라에 담고 싶어 졌다.


'세상구경 > 가보고 싶은 곳' 카테고리의 다른 글

삼남길  (0) 2013.05.20
3. 우음도  (0) 2011.06.03
2. 주남저수지  (0) 2011.06.03
서버를 교체하거나, 서버의 아이피 변경으로 인해 기존의 서버의 아이피와 겹칠경우
${HOME}/.ssh/known_hosts
파일에 이전의 정보가 남아있는 바람에 생기는 에러이다.
"에러" 라고 한이유는, 경고라고 해놓고 접속이 안되기 때문이다.

해결 방법은, 위의 파일을 삭제하거나(그러면 다음 접속시 키를 다 받아야 하는 귀차니즘이)
해당 서버의 아이피가 들어있는 줄을 지우면 된다.

$ ssh USERID@SERVER_IP
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
5b:c1:63:e6:6c:53:30:ea:fd:fd:f3:72:22:a0:a1:aa.
Please contact your system administrator.
Add correct host key in /home/USERID/.ssh/known_hosts to get rid of this message.
Offending key in /home/USERID/.ssh/known_hosts:2
RSA host key for SERVER_IP has changed and you have requested strict checking.
Host key verification failed.
http://www.anandtech.com/show/4177/samsungs-galaxy-s-ii-preliminary-performance-mali400-benchmarked/1

삼성 오리온 듀얼코어 ARM Cortex-A9 칩 정보.

- 삼성 Exynos 4210
Cortex-A9 MP2 1GHz (코어당 2.5 DMIPS/MHz)
삼성 45nm 공정.
L1 캐시 32KB 명령어 + 32KB 데이터, L2 캐시 1MB.
1
080P 30fps 디코딩
네이티브 트리플 디스플레이 컨트롤러 아키텍쳐 온보드
(두개의 디스플레이로의 출력과 HDMI를 통한 세번째 디스플레이 지원)
HDMI 1.3a
임베디드 GPS
Mali-400 쿼드코어 gpu

이론 267 million triangle/s, 1600 million pixel/s (fillrate)
(
허밍버드는 이론 90 million triangle/s, 실성능 20~28 million triangle/s)

삼성의 갤럭시S2 사이트에서는 3200M pixel/s 라고 하네요.



- Mali-400 MP
30 million triangle/s, 275 ~ 1100 million pixel/s (@275MHz)
성능이 이렇게 알려져있고,
1코어 : 275M pixel/s, 4코어 : 1100M pixel/s(@275MHz) 이렇게 해석이되는데,
Exynos 4210은 1600M pixel/s으로 알려져있어서, 클럭이 400MHz라고 해석을 했었습니다.
그런데 3200M pixel/s 이라니.
-이 부분에 뒤에서 다시 다루겠습니다.-



물론 끼워맞춰보면, 1코어 : 1100M pixel/s, 4코어 : 4400M pixel/s(@275MHz)이고,
4코어에 클럭을 200MHz로 하였다라고 해석해볼 수 있습니다.

하지만 ARM의 자료에서는 엄연히 코어당 275M pixel/s라고 하고 있습니다.
대체 3200M pixel/s 이란 수치는 무엇을 근거로 한건지.
클럭이 800MHz되는 것도 아닐텐데 말이지요.
차기 제품인 Mali-400MP보다 최대 5배의 성능이라는 Mali-T604라도 되는건가요.
-이 부분에 뒤에서 다시 다루겠습니다.-

아직 제품 출시전이지만, 아난드텍에 벤치마크가 올라왔네요.
제품 출시 전이니 그냥 참고만 하는게 맞을듯.


GUIMark는 웹브라우저를 많이 타서, 객관적인 비교는 어렵지만 참고는 될듯.


넥서스S와의 비교에서 허밍버드와의 차이를 짐작할 수 있습니다.
타사제품과의 비교에서는 테그라2랑 비슷.


넥서스S에는 크게 앞서는데, 테그라2에는 좀 밀리네요.

여기까지만 보면 허밍버드 대비 1.5배정도, 테그라2와는 비슷한 정도입니다.


넥서스S(허밍버드)보다 밀립니다.
최적화의 문제인지, 벤치 특성인지 모르겠네요. 해상도가 옵티머스X2와 다르지도 않은데 말이지요.


이건 좀 괜찮네요.
허밍버드보다 좀 앞서고, 테그라랑 비슷하고.


아키텍처를 보면 나오지만, 멀티코어화되어도 픽셀프로세서만 증가하지, 지오메트리 프로세서는 계속 하나입니다.
코어 개수와 관계없이 30M triangle/s 라고 고정된 수치를 표시한 이유가 이겁니다.
만약 클럭이 400MHz라면, 44M triangle/s 정도겠네요.
허밍버드에 탑재된 PowerVR SGX540이 28M triangle/s로 알려져있습니다.

지오메트리 프로세서 1개, 픽셀 프로세서 4개의 단위가 코어 하나인 것으로 보입니다.
쿼드 gpu이니 저런 코어가 4개가 병렬 연결된 것이고요.

Exynos 4210의 성능으로 기존에 알려진게,
267M tri/s, 1600M pixel/s이고, 최근에 변경치를 반영하면, 267M tri/s, 3200M pixel/s 입니다.
ARM의 자료를 보면 코어당 성능이 30M tri/s, 1100M pixel/s(@275MHz) 입니다.

픽셀성능 기준으로 맞추면,
4코어에서 88M tri/s, 3200M pixel/s(@200MHz)가 됩니다.
개인적으로는 이 수치가 현실성있다고 봅니다. 공식사이트에 픽셀성능만 표시한 것도 그렇고요.
(gpu클럭과 cpu클럭은 별개입니다. Exynos4210이 1GHz 제품이라고 gpu도 1GHz 작동하는건 아닙니다.)

그런데 지오메트리 성능에서 차이가 너무 심하지요.
지오메트리 프로세서 개수가 코어당 1개 이상이고 픽셀 프로세서 개수를 코어당 4개이하로, 클럭을 올리면 비슷하게는 맞출 수 있지만, 알려진 수치와 여전히 차이가 큽니다.
가능성이 낮다고 밖에 볼 수가 없는데, 다른 방법이 있는건지.

벤치결과만 놓고보면, 클럭은 대부분의 모바일제품에서 통용되는 200MHz가 적용되었을 것으로 생각됩니다.
거기에 4개의 코어 중 하나만 사용했을 가능성이 높습니다.

그렇지 않다면, 허밍버드에 밀리는건 도저히 납득이 안 갑니다.
200MHz면 22M triangle/s정도가 나오고, 이 수치는 GL벤치마크 - 이집트의 프레임결과와도 들어맞습니다.

일부 벤치마크에서 허밍버드에도 못 미치는 결과를 보인 것은 이것으로 어느정도 설명이 가능하다고 봅니다.



테그라2가 600MHz LPDDR2 메모리를 사용하는데, 갤럭시S는 LPDDR1(아마도 400MHz)이고,
갤럭시S2는 LPDDR2를 사용하는 것으로 알려졌습니다.
6.4GB/s까지 메모리대역폭을 지원하고, DDR3, DDR2 메모리를 지원한다는데,
모바일인 이상 최대 800MHz LPDDR2를 지원할 것으로 보입니다.  
만족스럽지 않은 성능은, 메모리 대역폭이 문제일지도 모르겠는데, 아래 자료가 해석이 애매합니다.



위 자료는 코어증가에 따라 프레임이 거의 정비례로 증가하고,
아래 자료는 코어가 증가해도 프레임당 메모리대역폭이 일정하다고 합니다.
이를 종합하면, 코어가 증가할수록 요구되는 메모리대역폭이 정비례로 증가한다는 얘기가 되는데, 이게 맞는 얘기인건지.
이 해석이 맞다면 메모리대역폭 부족으로인한 병목으로 실성능이 낮게 나왔다라는 말이 성립을 합니다.

어느 쪽이건 실망스러운 성능이긴한데,(기대가 원체컸던 탓이겠지요.) 최적화를 거쳐서 조금이라도 나아진 모습을 보였으면 합니다.

'Etc' 카테고리의 다른 글

네트워크 대역폭 측정(IPerf)  (0) 2012.01.02
diff 사용하기  (0) 2011.08.22
G.711 G.721/G.726 G.723/G.723.1 G.728 G.729/G.729A  (0) 2011.07.28
[펌] Bluetooth specification  (0) 2011.07.18
[WiFi Direct] 갤럭시S2 끼리 연결하는 방법  (0) 2011.07.14
deb http://kr.archive.ubuntu.com/ubuntu 이 사이트는 오래 전에 막혔다.
따라서 /etc/apt/sources.list에서
deb http://kr.archive.ubuntu.com/ubuntu 등을  주석처리 하고 아래와 같이 다음 사이트로 변경한다.
한 네티즌의 댓글로 ftp.daum.net 에서 old-releases.ubuntu.com으로 변경

#################다음 저장소 #####################
#deb http://ftp.daum.net/ubuntu maverick main multiverse restricted universe
#deb-src http://ftp.daum.net/ubuntu maverick main multiverse restricted universe
#deb http://ftp.daum.net/ubuntu maverick-backports main multiverse restricted universe
#deb-src http://ftp.daum.net/ubuntu maverick-backports main multiverse restricted universe
#deb http://ftp.daum.net/ubuntu maverick-proposed main multiverse restricted universe
#deb-src http://ftp.daum.net/ubuntu maverick-proposed main multiverse restricted universe
#deb http://ftp.daum.net/ubuntu maverick-security main multiverse restricted universe
#deb-src http://ftp.daum.net/ubuntu maverick-security main multiverse restricted universe
#deb http://ftp.daum.net/ubuntu maverick-updates main multiverse restricted universe
#deb-src http://ftp.daum.net/ubuntu maverick-updates main multiverse restricted universe
##################################################


##################### old-releases ######################

deb http://old-releases.ubuntu.com/ubuntu/ intrepid main restricted
deb-src http://old-releases.ubuntu.com/ubuntu/ intrepid main restricted

#deb http://kr.archive.ubuntu.com/ubuntu/ intrepid main restricted
#deb-src http://kr.archive.ubuntu.com/ubuntu/ intrepid main restricted

## Major bug fix updates produced after the final release of the
## distribution.

deb http://old-releases.ubuntu.com/ubuntu/ intrepid-updates main restricted
deb-src http://old-releases.ubuntu.com/ubuntu/ intrepid-updates main restricted

#deb http://kr.archive.ubuntu.com/ubuntu/ intrepid-updates main restricted
#deb-src http://kr.archive.ubuntu.com/ubuntu/ intrepid-updates main restricted

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team. Also, please note that software in universe WILL NOT receive any
## review or updates from the Ubuntu security team.

deb http://old-releases.ubuntu.com/ubuntu/ intrepid universe
deb-src http://old-releases.ubuntu.com/ubuntu/ intrepid universe
deb http://old-releases.ubuntu.com/ubuntu/ intrepid-updates universe
deb-src http://old-releases.ubuntu.com/ubuntu/ intrepid-updates universe

#deb http://kr.archive.ubuntu.com/ubuntu/ intrepid universe
#deb-src http://kr.archive.ubuntu.com/ubuntu/ intrepid universe
#deb http://kr.archive.ubuntu.com/ubuntu/ intrepid-updates universe
#deb-src http://kr.archive.ubuntu.com/ubuntu/ intrepid-updates universe

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team, and may not be under a free licence. Please satisfy yourself as to
## your rights to use the software. Also, please note that software in
## multiverse WILL NOT receive any review or updates from the Ubuntu
## security team.

deb http://old-releases.ubuntu.com/ubuntu/ intrepid multiverse
deb-src http://old-releases.ubuntu.com/ubuntu/ intrepid multiverse
deb http://old-releases.ubuntu.com/ubuntu/ intrepid-updates multiverse
deb-src http://old-releases.ubuntu.com/ubuntu/ intrepid-updates multiverse

#deb http://kr.archive.ubuntu.com/ubuntu/ intrepid multiverse
#deb-src http://kr.archive.ubuntu.com/ubuntu/ intrepid multiverse
#deb http://kr.archive.ubuntu.com/ubuntu/ intrepid-updates multiverse
#deb-src http://kr.archive.ubuntu.com/ubuntu/ intrepid-updates multiverse

## Uncomment the following two lines to add software from the 'backports'
## repository.
## N.B. software from this repository may not have been tested as
## extensively as that contained in the main release, although it includes
## newer versions of some applications which may provide useful features.
## Also, please note that software in backports WILL NOT receive any review
## or updates from the Ubuntu security team.
# deb http://kr.archive.ubuntu.com/ubuntu/ intrepid-backports main restricted universe multiverse
# deb-src http://kr.archive.ubuntu.com/ubuntu/ intrepid-backports main restricted universe multiverse

## Uncomment the following two lines to add software from Canonical's
## 'partner' repository. This software is not part of Ubuntu, but is
## offered by Canonical and the respective vendors as a service to Ubuntu
## users.
# deb http://archive.canonical.com/ubuntu intrepid partner
# deb-src http://archive.canonical.com/ubuntu intrepid partner


deb http://old-releases.ubuntu.com/ubuntu intrepid-security main restricted
deb-src http://old-releases.ubuntu.com/ubuntu intrepid-security main restricted
deb http://old-releases.ubuntu.com/ubuntu intrepid-security universe
deb-src http://old-releases.ubuntu.com/ubuntu intrepid-security universe
deb http://old-releases.ubuntu.com/ubuntu intrepid-security multiverse
deb-src http://old-releases.ubuntu.com/ubuntu intrepid-security multiverse


#deb http://security.ubuntu.com/ubuntu intirepid-security main restricted
#deb-src http://security.ubuntu.com/ubuntu intrepid-security main restricted
#deb http://security.ubuntu.com/ubuntu intrepid-security universe
#deb-src http://security.ubuntu.com/ubuntu intrepid-security universe
#deb http://security.ubuntu.com/ubuntu intrepid-security multiverse
#deb-src http://security.ubuntu.com/ubuntu intrepid-security multiverse

########################################################


deb http://extras.ubuntu.com/ubuntu maverick main
deb-src http://extras.ubuntu.com/ubuntu maverick main

deb http://security.ubuntu.com/ubuntu maverick-security main restricted
deb-src http://security.ubuntu.com/ubuntu maverick-security main restricted
deb http://security.ubuntu.com/ubuntu maverick-security universe
deb-src http://security.ubuntu.com/ubuntu maverick-security universe
deb http://security.ubuntu.com/ubuntu maverick-security multiverse
deb-src http://security.ubuntu.com/ubuntu maverick-security multiverse

삼성에서 나오는 AP들중 많이 쓰이고 있는 S3C6410과 인기몰이중인 S5PC100의 FIMC를 비교해보려고 합니다.

삼성의 AP에서는 Camera Interface를 FIMC - Fully Interactive Mobile Camera Interface 라고 합니다.

이 FIMC의 역할은 초기엔 Camera Interface에만 국한되어 있었습니다. ( 6410 )

하지만 최근에 오면서( C100 ) 그 기능이 Camera Interface만이 아니라 POST, Rotator 영역까지  확장되었습니다.

   6410 C100
 IP 갯수  1
 3
 Camera Interface  O  O
 Post Process  X  O
 Rotate  X  O


6410에는 Post Processor와 Rotator가 존재합니다. ( Rotator의 경우 C100에서도 존재. but FIMC의 것을 사용 )

C100에서는 이 Post Processor와 Rotator의 기능을 FIMC가 하도록 유도하였습니다.

그러기 위해 FIMC IP의 갯수도 3개로 늘렸고 ( 덕분에 동시에 여러 Port의 Camera Open도 가능해졌습니다. )

기능도 향상 시켰습니다.

C100부터는 FIMC가 더이상 Camera Interface만이 아닌 멀티 플레이어가 된것이죠.


예를 들어 6410에서 동영상을 Play한다고 했을 땐,

File을 읽어 디코딩 하고 이 디코딩 된 스트림을 Post Processor에게 넘겨서 후처리를 한 후

Rotation이 필요하다면 Rotator를 통해 회전을 시켜 Frame Buffer에 출력했습니다.

이렇다는 것은 디코딩 된 스트림이 후처리 된 후에 Rotate를 할 목적으로 하나의 메모리 공간을 따로 예약 해야 한다는 것이었습니다.

추가적인 메모리가 필요했던 것이죠.

이것을 C100 부터 FIMC에서 통합적으로 수행할 수 있게 되었고,

디코딩 된 스트림은 FIMC를 통해 원하는대로 후처리, 회전을 수행한 후 Frame Buffer로 출력되게 됩니다.

이것은 편리성과 효율성에서 향상되었다고 볼 수 있습니다. (물론 FIMC 드라이버를 만드는 입장에선 복잡하겠군요 :P )


ps. 이 Post Process, Rotate의 기능들은 VDE Driver에서 하고 있으므로.. 실사용하는 입장에서는 차이를 못느낄거에요 아마.... __)

'Kernel & Uboot' 카테고리의 다른 글

linux logo 변경하기.  (0) 2012.10.08
u-boot home page  (0) 2012.08.17
i2c probe함수 호출 및 dev i2c addr등록 방법  (0) 2012.07.15
Video for Linux Two API Specification  (0) 2012.05.29
sysfs 다루기  (0) 2011.11.15
http://www.codesourcery.com/sgpp/lite/arm/portal/release1592

ftp://ftp.kaist.ac.kr/eclipse/technology/epp/downloads/release/galileo/SR2 로 이동

eclipse-java-galileo-SR2-linux-gtk-x86-64.tar.gz
http://son2944.egloos.com/
http://opensource.samsung.com/

+ Recent posts