[Embedded linux] timeconst.pl 에러 해결법
커널 컴파일 도중 아래와 같은 에러 시 Can't use 'defined(@array)' (Maybe you should just omit the defined()?) at kernel/timeconst.pl line 373./home/xxxx/Workspace/VAB-630_Linux_source_code/Kernel_3.4.5/kernel/Makefile:129: recipe for target 'kernel/timeconst.h' failedmake[1]: *** [kernel/timeconst.h] Error 255Makefile:945: recipe for target 'kernel' failedmake: *** [kernel] Error 2make: *** Waiting for unfinish..
2018.08.05
no image
[Embedded linux] 임베디드 리눅스 개념
리눅스 일반 리눅스 : 일반 데스크탑 환경인 고성능 프로셋와 대용량 메모리 환경에서 동작하는 범용 컴퓨터용 리눅스 임베디드 리눅스 : 저성능의 마이크로 프로세서와 제한된 메모리 환경에서 동작하는 임베디드 시스템용 리눅스 임베디드란? : 임베디드는 아주 작은 형태의 전자회로를 가지고 있는 컴퓨터이다. 따라서 임베디드는 다양한 사물에 숨겨져있다. 임베디드의 뜻이 우리말로 번역하면 "내장된" 이라고 할 수 있다. 주위에 임베디드 장치를 쉽게 찾아 볼 수 있으며 대표적인 것들이 신호등, 지하철 개찰구, 선풍기 등이 있다. 스마트폰도 임베디드 장치라고 할 수 있는데, 내부에서 다양한 센서와 액츄에이터 그리고 초소형 고성능 컴퓨터를 탑재하고 있다. 수백개에서 수천개의 전자회로를 가지고 있는 자동차도 대표적인 임베디..
2018.08.05
[Linux] .bashrc 수정 후 적용
리눅스에서 .bashrc 파일 수정 후 반드시 다시 로그인해야 적용 됨 터미널 종료 후 다시 실행하면 적용 됨 하지만 source ~/.bashrc 위 명령어를 실행하게 되면 터미널 종료 없이도 적용 가능 참고자료 : http://blog.chopestory.net/157
2018.08.05
[Embedded linux] 크로스 컴파일
크로스 컴파일러(Cross compiler) Wiki 정의 : 크로스 컴파일러는 컴파일러가 실행되는 플랫폼이 아닌 다른 플랫폼에서 실행 가능한 코드를 생성할 수 있는 컴파일러이다. 크로스 컴파일러 툴은 임베디드 시스템 혹은 여러 플랫폼에서 실행파일을 생성하는데 사용된다. 이것은 운영체제를 지원하지 않는 마이크로컨트롤러와 같이 컴파일이 실현 불가능한 플랫폼에 컴파일하는데 사용된다. 이것은 시스템이 사용하는데 하나 이상의 플랫폼을 쓰는 반가상화에 이 도구를 사용하는 것이 더 일반적이게되었다. 크로스 컴파일러는 호스트에서 C언어나 어셈블러로 작성된 소스코드를 호스트와 다른 기종에서 사용될 수 있는 기계어로 번역해주는 컴파일러의 일종이다. 임베디드 시스템을 개발하기 위해서는 반드시 크로스 컴파일러가 있어야 한다..
2018.08.05
no image
[Linux] 리눅스 버전 확인
리눅스 버전 확인 하는 방법 grep . /etc/*-release 참고자료 1 : 제타위키
2018.08.05
no image
[Linux] diff 명령어
diff 명령어 : 리눅스에서 파일을 비교하는 명령어 diff [옵션] file1 file2 file1과 file2를 비교하여 차이점을 찾아냄 옵션 -b : 연속된 공백 무시-i : 대소문자를 구분하지 않음-t : 출력 라인에 TAB 문자를 넣음-w : 두 행의 비교 시 공백을 무시--brief : 파일 비교 후 결과 표시(같은지, 다른지)-d : 세세한 차이까지 검색-H : 큰 파일을 빠르게 처리할 때 사용-q : 두 파일의 차이점만 출력-s : 두 파일이 같은 지 확인-r : 두 디렉토리의 차이점 출력-u : undirectional new file 옵션으로 비교하는 파일/디렉토리가 빠져있을 경우 dummy로 처리해서 출력을 통일시킴-r : recursive 하위 디렉토리 모두 검색-N : 검색 중 ..
2018.08.05
[Linux] cp 명령어와 mv 명령어
1. cp 명령어 : 리눅스에서 파일 복사(copy) 하는 명령어 cp [옵션] [원본] [사본] 옵션 -a: 원본 파일의 속성, 링크 정보들을 그대로 유지하면서 복사한다. -b: 복사할 대상이 이미 있을 경우 기존 파일을 백업하고 복사한다. -d: 만약 복사할 원본이 심볼릭 링크일 때 심볼릭 자체를 복사한다. -f: 만약 복사할 대상이 이미 있으면 강제로 지우고 복사한다. -i: 만약 복사할 대상이 이미 있으면 사용자에게 물어본다. -l: 하드링크 형식으로 복사한다. -P: 원본 파일 지정을 경로와 같이했을 경우 그 경로 그대로 복사된다. -p: 파일의 소유자, 그룹, 권한, 시간 정보들이 그대로 보존되어 복사된다. -r: 원본이 파일이면 그냥 복사되고 디렉터리라면 디렉터리 전체가 복사된다. -s: 파..
2018.08.05
no image
[Linux] 프로세스 확인하기
1. 프로세스 목록 확인 ~$ ps 2. 프로세스 목록 확인 - 자세한 정보 ~$ ps -f 3. 모든 프로세스 리스트 확인 ~$ ps -e ~$ ps -ef 4. 프로세스 목록 배열 및 시스템 자원 사용률 확인 ~$ ps -aux * -aux 옵션으로 확인할 수 있는 프로세스 정보의 각 필드 * 프로세스 상태를 나타내는 STAT 항목 - R(Runable) : 실행 대기 상태 - S(Sleeping) : 수면 상태 - D(inDIskwait) : 입출력을 기다리는 상태 - T(sTopped) : 멈춰 있거나 흔적이 남아있는 상태 - Z(Zombie) : 죽었지만 프로세스에 남아있는 상태 (자원 낭비) * ps [-옵션] - a (All processes) : 프로세스 현황 표시 - u (User) : ..
2018.07.22
no image
[Linux] 프로세스(Process) 및 쓰레드(Thread) 개념
프로세스 및 쓰레드 개념 프로세스란? 프로세스란 단순히 실행 중인 프로그램이라고 할 수 있다. 즉, 사용자가 작성한 프로그램이 운영체제에 의해 메모리 공간을 할당 받아 실행중인 것을 말한다. 여러 명의 사용자들에 의해 공유되고 있는 응용프로그램은 일반적으로 각 사용자들의 실행단계에서 하나의 프로세스를 갖게된다. 즉, 모든 프로그램은 실행 될 때 하나 이상의 프로세스를 갖는다. 프로세스는 자식 프로세스라고도 불리는 서브 프로세스를 시작시킬 수 있다. 자식 프로세스는 부모 프로세스의 복제로서 부모 프로세스의 자원을 일부 공유하는데, 부모 프로세스가 종료되면 더 이상 존재 할 수 없게 된다. 프로세스는 여러 가지 자원을 사용하게 되는데, 해당 명령을 수행하기 위해 운영체제에 따라 CPU를 점유 할 수 있다. ..
2018.07.22