펌웨어 개발의 시작..1.여는 말 끄적끄적

2008년 10월11일 수정
처음 임베디드 시스템 소프트웨어를 작성할 때부터 하드웨어 초기화, 시작 코드, 컴파일, 링크, 로케이팅, 메이크 파일 등의 내용을 전부 알 필요는 없을 것이다. 대략 한 6개월에서 1년 정도 어쩌면 2년까지도 대체로 그럴 것이다. (회사나 학원에서라면 다를 수도 있다..;)

복받았다고 말을 들을 수 있을지 모르겠으나 내가 겪은 개발 과정은 대부분 개발을 위한 킷트(하드웨어와 에뮬레이터 같은 개발을 위한 도구들)와 개발에 필요한 통합환경 속에서의 작업이었다.
이런 경우 임베디드 소프트웨어 개발 과정은 내가 원하는 결과를 위해 하드웨어(특히 주변기기)를 조작하는 프로그램의 작성과 툴의 사용법을 익히는 것이었다.
툴은 대체로 PC 환경에서의 통합환경과 흡사하며 프로젝트 단위로 빌드하면 개발환경이 알아서 메이크 파일을 만들고 만들어진 메이크 파일에 맞게 작성한 프로그램을 컴파일하고 알아서 하드웨어 초기화 코드와 시작코드 등을 작성한 프로그램에 링크하여 작성한 프로그램이 실행될 타겟 임베디드 시스템에 로드할 수 있는 바이너리 형태의 결과 파일을 생성한다.
그 뒤는 실행 파일을 타겟 임베디드 시스템에 올리는 것 뿐이었다.

정리하면 통합개발 환경 속에서 오로지 프로그램 작성 자체에만 신경쓰고 실행 파일을 만들기까지의 빌드과정은 사용하는 통합환경 툴에 맡기는 것이다. 그 뒤 만들어진 실행 파일을 올리는 것이다.
8051 이나 AVR 등을 가지고 만들어진 타겟 임베디드 시스템의 소프트웨어 개발은 대부분 이런 방식일 것이다.
만약 RTOS 가 올라간 환경에서 작업을 한다면 RTOS를 올리는 작업이 선행되어야하고 실행 파일을 올릴 때 조금 주의를 해야하겠지만 오히려 프로그램 작성 자체는 더욱 쉬워진다.

물론 개발과정이 저렇게 간단하게 되지 않는 경우도 많다. 세상은 넓고 시스템의 종류는 다양하다. 학교 다닐 때나 또는 취미 생활로 시작 하기에는 저런 개발 환경에서'만' 작업하는 것도 나쁘지 않겠으나 저안에서 안주하기만 한다면 보다 큰 재미를 놓치고 있는 것이다...물론 보다 큰 고난을 피한 것일 수도 있다.(먼산)

현재 우리나라에서 사용되는 자잘한 제품의 대부분에서 동작하고 있는 마이크로컨트롤러가 8051과 AVR 인 상황에서 취미 생활이나 학교 생활에서 또는 회사에서 처음으로 접하기 제일 쉬운 것도 8051과 AVR 일 것이다. 그래서인지 모르겠지만 8051과 AVR 에 관한 책, 카페, 블로그 등 자료들도 많다.
그리고 무엇보다도 초보자를 대상으로 임베디드 시스템 소프트웨어 개발에 대해 이야기하기 쉽고 또 초보자가 이해하기 쉬운 것이 8051 이나 AVR 이 아닌가

그래서 AVR 기반의 임베디드 시스템에서 개발과정을 이야기 해보고자 한다.

이 블로그의 목적 자체가 초보자를 위한 강좌 같은 것은 아니지만 이왕이면 글을 읽는 분들에게 강좌의 역할을 하고 '취미생활로 임베디드 프로그래밍 가능하다' 라는 생각을 가질 수 있었으면 한다.
.
.
힘들지도...;;


덧글

  • dark 2007/10/31 15:16 # 삭제 답글

    블로그 오픈 축하드려요
  • damemir 2007/11/01 06:29 # 답글

    취미생활[.........] 어허헢
  • overclock 2007/11/01 18:45 # 삭제 답글

    흐헤헤 취미생활로 임베디드 프로그래밍이 가능하다는건 그쪽 종사자나 가능한 일일것같내요 =_=;;;
    블로그 오픈 축하드려요 !
  • 케이 2007/11/02 01:29 # 답글

    취미로 하기엔 좀이 좀.... ( '')a

    아 저 카임 입니다.
댓글 입력 영역