전체 글

전체 글

    교차 컴파일러(Cross compiler)

    교차 컴파일러(Cross compiler)

    호스트에서 개발한 프로그램이 타깃에서도 실행되기 위해선 컴파일러가 실행되는 환경과 생선된 실행파일이 실행되는 환경이 다른 문제가 발생한다. 그러므로 타깃에도 실행될 수 있는 컴파일러가 필요하다. 그것이 바로 교차컴파일러이다. 예를 들어 PC에서 제작한 것을 다른 임베디드 보드 위에 올릴때 그 보드에 맞는 기계어를 가진 컴파일러가 필요하다는 것이다.

    부트로더 (Boot looader)

    부트로더란? 운영체제가 실행되기 전에 미리 실행되어 필요한 모든 작업을 수행하고 운영체제를 실행하기 위한 프로그램으로 임베디드에서는 최초 타깃에는 메모리에 아무런 정보도 없기에 최초 부트로더를 장착하는 것 부터 시작한다. 이를 플래시 메모리에 저장한다. 위치하는 곳은 시스템 메모리의 물리주소 0 번지 부터거나, ROM, FLASH ROM, SRAM 등 정적인 메모리에 위치하게 된다. 부트로더 역할 1. 하드웨어 초기화 -최초 전원 켜졌을 시 ROM에 있는 부트로더는 RAM으로 옮겨져 실행되고, 메모리, 통신, 디바이스 등의 기본적인 하드웨어 초기화 2.응용 프로그램 다운로드 -호스트에서 개발된 프로그램을 타깃의 메모리로 다운로드 3. 커널 로더 로딩 및 실행 4. 메모리 초기화 5. 커널과 램 디스크 적..

    grep

    grep

    grep 명령어는 하나 또는 그 이상의 파일 안에서 특정한 패턴을 찾아 표준 출력 장치로 출력해 주는 역할을 한다. 먼저 ls란 명령어를 확인가능한 man 명령어의 출력을 파이프를 통하여 grep명령어의 입력으로 하는데 이때 ls란 철자를 가진 모든 줄을 출력한다. 위와 동일하되, -i 옵션은 ls의 대소문자 구별않고 모두 찾기 원할때 사용하는 옵션이다. -n 옵션은 행의 줄번호를 표시할때 사용한다.

    comm

    comm

    comm 명령어는 서로 다른 두 파일을 정렬할 때 사용한다. 미리 정렬 된 상태의 파일을 이용하여 비교 정렬하면 편하다. 출력은 3개의 열로 표현되는데 첫번째 열은 첫 번째 파일에만 있는 데이터 두번째 열은 두 번째 파일에만 있는 데이터 세번째 열은 공통이다.

    cmp

    cmp

    cmp 는 두 파일의 내용들을 비교하고 결과를 출력하는 명령어 cmp는 두 파일의 다른 내용만을 보여주며, 만약 다른 내용이 없다면 아무 것도 출력하지 않는다. 그 내용이 다른 부분이 있으면 그 부분의 첫 번째 위치와 행 번호를 보여준다. 파일 a의 내용 파일 b의 내용 네 번째 줄에서 다르다는걸 보여준다.

    리다이렉션 / 파이프

    리다이렉션 / 파이프

    리다이렉션 1. 표준 출력의 리다이렉션 -최초 사용자 로근시에는 input device는 키보드로, output device는 모니터로 설정되어있다. 리눅스 시스템에서는 리다이렉션과 파이프를 통해 입력과 출력의 방향을 변경할 수 있는 기능을 제공한다. 리다이렉션이란 화면 출력을 파일 출력으로 변경하는 것 이다. '>' 문자 이용하여 출력을 화면에서 파일로 변환하여 출력한다. 하지만 기존의 파일에는 덮어써진다. '>>' 위의 명령과 달리 덮어쓰기가 아닌 존재하는 파일 끝에 추가하여 쓰여진다. 2. 표준 입력의 리다이렉션 - 표준 입력을 키보드에서 파일로 변경하는 것을 말한다. - 파일에서 데이터를 읽어와 화면에서 출력한다. 3. 파이프 라인 - 어떤 명령의 실행 결과를 다음 명령의 입력값으로 만들기 위해 ..