Android booting Process/Sequence (안드로이드 부팅 과정)

안드로이드 부팅과정을 정리해 보았습니다.   Step 1. Power On and System Startup (Boot ROM) 시스템에 전원이 공급되면 Boot ROM 코드가 시작된다. Root ROM Code의 주요 기능은 Boot Loader를 RAM에 적재하는 것이다.   Setp 2. Boot Loader Boot Loader는 안드로이드 구동 전 시작하는 작은 프로그램이며, 안드로이드와는 별개의 프로그램이다. Boot Loader는 두개의 스테이지로 나뉘어져 있다. First Stage…

Semapore, Mutex, Spin-Lock 차이점

Spin-lock, Semapore, Mutex는 모두 Thread/Process의 병행성을 보장하기 위한 상호배제 기법(Mutual Exclusion Techniques)이다. 이 셋의 차이점을 한번 알아보자 Mutex 하나의 자원을 통제하는데 사용 된다. 외부 변수를 두어 그 변수의 값을 조정하여(0 or 1) 자원의 접근을 제어한다. 그래서 이진 세마포어(binary semaphore)라고도 불린다. 만약, 임계 구역(Critical Section)이 잠겨있어서 진입을 하지 못하게 되면 풀릴때까지 기다린다. 이 때 문맥 교환(Context Change)이 일어난다….

jekyll – ubuntu에 설치하기

Jekyll 이란? Jekyll 공식 홈페이지에 정의된 내용을 보면 다음과 같다. 아주 심플하고 블로그 지향적인 정적 사이트 생성기 다양한 포맷의 원본 텍스트 파일을 템플릿 디렉토리로부터 읽어서, (Markdown 등의) 변환기와 Liquid 렌더러를 통해 가공하여, 당신이 즐겨 사용하는 웹 서버에 곧바로 게시할 수 있는, 완성된 정적 웹사이트를 만듬 GitHub Pages 의 내부 엔진임 즉, 디자인 잘 된 정적인…

aws s3 php 연동 (s3 sdk)

AWS PHP SDK 설치하기 1. Composer 설치 curl -sS https://getcomposer.org/installer | php 2. Composer를 통하여 AWS SDK PHP 설치 php composer.phar require aws/aws-sdk-php 3. SDK 사용하기 <?php require ‘vendor/autoload.php’;   credentials 설정하기 ~/.aws/credentials 파일 수정 [default] aws_access_key_id = YOUR_AWS_ACCESS_KEY_ID aws_secret_access_key = YOUR_AWS_SECRET_ACCESS_KEY [project1] aws_access_key_id = ANOTHER_AWS_ACCESS_KEY_ID aws_secret_access_key = ANOTHER_AWS_SECRET_ACCESS_KEY aws_access_key_id와 aws_secret_access_key는 IAM에서 생성한 값이다. https://console.aws.amazon.com/iam/home?region=ap-northeast-1#security_credential…

Linux Kernel 빌드 시 Library 파일의 확장자 바꾸기

Linux Kernel을 빌드하면 내부에 포함된 Driver, Library, System File 등 여러 파일들이 자동으로 컴파일된다. 그 중 Library는 보통 확장자가 .so 이지만, 이 확장자를 임의로 바꿔줄 수 있다. 커널 빌드시 다른 component들의 빌드에 대한 설정은 보통 아래 두 파일에서 한다. linux/makerules/linux_env.mk linux/makerules/user_mode_rules.mk 이 중 user_mode_rules.mk의 대략 line 165를 보면 다음과 같은 코드가 있다. “` PROG =…

AWS CodeCommit

AWS Code commit은 git 저장소를 제공하는 서비스이다. 요금은 5명 미만의 사용자일때는 무료!! 그 이상이면 사람수에 비례하여 요금을 내는 정책, 하지만 저렴하다.   1. 저장소 생성 Code commit에서 create new repository로 생성   2. User 생성 Code commit을 위한 user 생성 IAM에서 user 생성 생성 후 permission은 AWSCodeCommitFullAccess 으로 설정 Security Candidate 탭에서 Access Key를 만든…

Embedded Linux에 동영상 재생 시키기 – mplayer

m player 를 이용해서 arm linux target board에 동영상을 돌려 보기로 한다.   == 개요 == termcap 포팅 libmad 포팅 동영상 가속화를 위한 라이브러리 (audio codec) ref: libmad 는 interger 연산을 위해 필요한 라이브러리로 Arm 용으로 Mplayer 를 포팅하면 floating 연산때문에 동영상재생이 원할치 않다. libmad 를 enable 시켜서 컴파일 하면 현저하게 좋아짐을 느낄수 있다. mplayer…

Embedded Linux에 동영상 재생 시키기

Embedded Arm Linux     Embedded Arm Linux의 App 제작 툴인 QT를 이용하고 있다. 현재 QT 버전은 4.8.6 이다. 다음을 고려해 보자 QT 4.8.x 에서 video가 지원 되는가? no QT 5.x    에서 video가 지원되는가? no QT 자체적으로 동영상 포멧이 지원되지 않고, system에서 동영상 포멧이 지원되는 코덱이 설치되있어야 qt에서 사용할 수 있는것 같음. 그렇다면, 시스템에…

PHP 의존성 관리도구 – Composer

Composer라는 PHP 의존성 관리도구가 있다고 하길래 재빨리 찾아 Getting Started만 발번역했다. npm이나 apt, pip같은 것들과는 닮았지만 다른 부분이 많은데 그만큼 PHP라는 언어에 대한 고민의 흔적을 느낄 수 있다.   Composer는 PHP를 위한 의존성 관리도구다. 이 도구를 사용해 해당 프로젝트에서 요구하는, 의존적인 라이브러리를 선언해 프로젝트에서 설치해 사용할 수 있도록 돕는다. 의존성 관리도구 Composer는 패키지 관리도구가 아니다….

오토사 (Autosar)의 의미, 구성, 현황, 과제 [출처] 오토사 (Autosar)의 의미, 구성, 현황, 과제

ref. http://blog.naver.com/PostView.nhn?blogId=bongkwankim&logNo=150109174063     자동차 SW업계의 화두 중의 하나가 오토사 (Autosar)이다. 자동차 전자제어에 대한 기술적 백그라운드가 부족한 사람이라도 읽어 보면 무슨 뜻인지 이해할 수 있게 나름대로 해석을 하여 자료를 가능한 쉽게 한 번 만들어 본다.   본 내용에 틀린 점이 있다면 순전히 필자의 오류이니 오해 없길 바란다.   1.오토사 제정 배경 :   결론부터 말한다면 오토사는 자동차 전장용 임베디드…