반응형

전체 글 118

Android Porting On Real Target

잘되 있음- 원문 - http://wiki.kldp.org/wiki.php/AndroidPortingOnRealTarget/ko Contents 1 Introduction2 Copyright and Acknowledgements3 안드로이드 아키텍처의 요약 분석3.1 안드로이드 커널3.1.1 ARM EABI3.1.2 OpenBinder3.1.3 프레임 버퍼3.1.4 입력 장치3.1.5 Low Memory Killer3.1.6 안드로이드 로거(Android Logger)3.1.7 안드로이드 파워(Android power)3.1.8 Panic Timeout3.2 안드로이드 루트 파일 시스템3.3 안드로이드 패키지의 라이센스4 ARM EABI를 지원하는 툴체인4.1 툴체인 빌드하기4.2 다른 툴체인5 커널5...

ANDROID 2011.02.11

tar 명령어

▶2월_11 tar tar는 지정되 여러 개의 파일들을 아카이브라고 부르는 하나의 파일로 만들거나, 하나의 아카이브 파일에 직접 되어있는 여러개의 파일을 원래의 형태대로 추출해내는 유닉스 shell명령어이다. tar 아카이브 파일에는 어떻게 파일명을 적든 상관없지만, tar로 묶었다는 것을 분명히 해주기 위해 ".tar"라는 파일이름 확장자가 붙는다. tar아카이브 파일내에 들어있는 파일들은 압축되는 것이 아니라, 단지 하나의 파일로 모아지는것 뿐이다. 명령어- 압축하기binary file tar -cvf *.tar.gz ./ -c : tar파일을 생성한다. -v : 생성되는 파일 절차를 보여준다. -f : backup 파일명을 지정한다.Default는 "/dev/rmt0"이다. -z : gzip에 현재..

Linux 커널 2011.02.11

Application의 Component

안드로이드의 중요한 특징은 하나의 app이 다은 app의 엘리먼트를 사용할수 있다는 점이다. 이러한 작업을 하기위해서는 , 이런 작업을 위해서는, 어떤 애플리케이션의 특정 영역이 필요해 질 때 시스템은 app프로세스를 시작할 수 있어야 하며, 그리고 그 영역에 대한 Java 오브젝트를 인스턴스화 할 수 있어야 한다. 그러므로 다른 대부분 시스템에서의 app과는 달리, 안드로이드는 app안의 모든 것들에 대한 하나의시작점을 가지지 않는다(예를 들어 main() 함수가 없음). 대신에, 안드로이드 app에는 시스템이 그것을 필요로 할 때 인스턴스화하고 실행할 수 있는 기본적인 컴포넌트들이 존재한다. 안드로이드 애플리케이션에는 네 가지 유형의 컴포넌트가 존재한다. Activity - Service - Broa..

ANDROID 2011.01.20

Android 시작 -

일단 안드로이드란 무엇인가 부터 짧게 시작하면 운영체제와 미들웨어 그리고 어플리케이션을 포함하고 있는 모바일 디바이스를 위한 소프트웨어 스텍이다.???어렵다..-_-; 그냥 얘기하자면 안드로이드는 리눅스 커널을 기반으로만든 OS이다. 더 추가하자면 포괄적인 라이브러리 세트와 많은 멀티미디어 인터페이스 App등 뭐 범위가 엄청나다고 볼수 있다. 또 한 리눅스기반이라서 그런지 GNU정신에 입각해서 개방형 플랫폼으로 꼭 개발자가 아니더라도 누구나가 사용할수 있다. 아키텍처 밑에서 부터 훑어가쟈! 운영체제의 구성요소를 보여 주는데 커널을 시작해서 런타임 뭐 라이브러리 뭐 프레임워크 뭐 어플리케이션 있다. 각부분에 대해서 조금씩 설명 하자면 커널단은 안드로이드의 중요한 시스템이다. 안드로이는 모든 관리를 리눅스 ..

ANDROID 2011.01.20

RIL이란????

출처 : www.kandroid.org 들풀님. RIL 이란 무엇인가? 개요. 안드로이드 RIL은 android.telephony 서비스들과 radio h/w간의 추상화된 계층을 제공한다. RIL은 radio agnostic(존재하지만 정확하게 표현하기는 어려운 실체)이며, GSM 기반의 radio들에 대한 지원을 포함하고 있다. 아래의 그림은 안드로이드 전화통화 시스템 구조를 설명한다. 위의 그림에서 Radio Daemon과 Vender RIL은 파트너의 특수성을 가진 사적소유영역에 속하며, 나머지 블록은 안드로이드 영역에 속한다고 할 수 있다. RIL은 두가지의 기본적인 컴포넌트로 구성된다. RIL 데몬(Daemon) : RIL 데몬은 Vender RIL을 초기화하며, 안드로이드 telephony 서..

ANDROID 2011.01.10

■■ Andoroid activity ■■ Intent ■■

Activity Activity의 life cycle이다. Android의 Application는 Activity의 조합으로 이루어져 있다해도 과언이 아니다. 기존의 작은 스케일의 app을 보면 3~5개의 큰틀을 가진 페이지로 구성되어 있는 것을 볼수 있는데, 구성으로 메인페이지, 실행 페이지, 도움말, 설정, 등 각각의Activity로 구성이 되어 있다고 생각하면 된다. Activity의 life cycle에 대해서 알고 있어야 한다. Activity는 하나의 프로세스, 독립된 life cycle을 가지고 있다.(위의 그림 참조) application을 개발할때 기본이 되는 Activity class 7가지 method에 대해 알아 본다. ◇ onCreate 화면을 구축할대 불려지는 method이다. ..

JAVA 2010.12.29

Modifier[제어자]

제어자(Modifier) ◆◆제어자란?◆◆ 제어자(Modifier)는 클래스, 변수 또는 메서드의 선언부에 함께 사용되어 부가적인 의미를 부여한다. 그리고 제어자의 종류는 크게 접근제어자와 그 외의 제어자로 나눌 수 있다. 접근제어자 - public, protected, default, private 그 외 - static, final, abstract, native, transient, synchronized, volatile, strictfp 제어자는 클래스나 멤버변수와 메서드에 주로 사용되며, 하나의 대상에 대해서 여러 제어자를 조합하여 사용하는 것이 가능하다. 단, 접근제어자는 한번에 네 가지 중 하나만 선택해서 사용할 수 있다. 즉, 하나의 대상에 대해서 public과 private을 함께 사용..

JAVA 2010.12.29

- 연결리스트 -

쉽지만 어렵고도 이해하기 힘든것중에 하나 인것같다. -단순 연결리스트 연결리스트와 동적배열은 완전히 용도가 같은 자료구조로서 서로 대체가능하지만 구성원리나 관리방법은 질적으로 다르다. 연결리스트의 대체 자료구조는 배열이 아니라 동적 배열이다. 연결리스트의 요소인 노드는 데이터 외에 연결상태에 대한 정보인 링크를 추가로 가져야 한다. 자기 다음의 요소가 누구인지를 스스로 기억하고 있어야 흩어져 있는 노드들의 순서를 알수 있는데 이 연결 정보를 저장하는 것이 바로 링크이다. 링크를 하나만 가지는 것을 단순 연결리스트라하고 두개의 링크를 가지는 것을 이중연결 리스트하고 한다. 노드를 구성하는 데이터와 링크는 타입이 다르기 때문에 노드는 이형타입의 집합체인 구조체로 정의 된다. struct Node { int ..

C 2010.12.29

- 동적배열 - malloc()

배열은 C언어가 제공하는 가장 기본적인 자료 구조이며 워낙 단순하기떄문에 누구나 쉽게 익숙해질수 있다. 배열의 장점은 두가지로 나눌수 있다. 첫번째는 구조가 단순 하기때문에 정보자체를 기억하는 메모리외에 추가로 소모하는 메모리가 전혀없어서 공간효율이 좋다. 둘째로 아무리 배열크기가 커지더라도 검색속도가 일정하다는것이다. 이러한 장점에도 단점이 있는데 배열요소가 연속된 메모리공간에 배치되어 있어야 하므로 중간의요소를 삭제하거나 새로운 요소를 삽입할수 없다는 것이다. 배열은 일반적으로 삽입, 삭제가 안되는것으로 알려져 있다. 하지만 이것은 일종의 고정관념이다. 방법을 찾아보면 불편하기는 하지만 불가능 한것은 아니다. 중요한것은 미리 선언해놓은 크기이상 집어넣기가 불가능하다. 소스를 고치면되지만 불편하다. 만..

C 2010.10.21

- 함수 포인터 , void형 포인터 -

프로그래머가 정의한 모든 함수는 프로그램 실행 시 메인 메모리(main memory)에 올라가게 된다. 메모리 상에 올라간 다음에 실행이 가능하기 때문이다. 이때 함수의 이름은 메모리 상에 존재하는 함수의 위치를 가리키는 주소 값을 의미한다. 즉, "함수의 이름은 메모리상에 존재하는 함수의 위치를 가리키는 포인터"이다. 그럼 함수의 이름이 주소 값을 지니는 포인터라면, 함수의 이름과 동일한 타입의 포인터 변수를 선언해서 그 값을 저장할 수 있지 않을까? 이러한 기능을 하는 포인터를 가리켜 함수 포인터라 한다. (2) 함수 포인터의 포인터 타입은 어떻게 되는가? 함수 이름의 포인터 타입을 결정짓는 요소는 리턴형과 전달인자다. int fct1 (int a) // 맨 왼쪽은 리턴형, 맨 오른쪽 괄호 안은 전달..

C 2010.10.20

- #pragma -

일단 전처리 명령어 인것을 알아두자. 컴파일할대 플랫폼이 틀려지거나 CPU가 틀려지건자 하면 컴파일 옵션을 주게되는데 pragma 가 그런 역활을 한다. 옵션을 보면 once : 해당 소스가 한번만 include되게 하여 여러번include되는것을 컴파일러 차원에서 막아준다. 즉 컴파일 시간을 줄일수 있다. comment(lib, *) : comment로 사용할수 있는 명령은 여러개가 있는데 그중 대표적인것이 lib 이므로 해당 라이브러리를 링크 시켜준다. data_seg : dll에서 데이터를 공유하고자 할때 사용된다. warning : 특정 warning을 체크하지 않는다. 예)warning(disable : 4705) => 4705번 warning은 나타자지 않는다. message : 컴파일시 특정..

C 2010.10.20
반응형