전자공학을 공부하는 학생이라면 빠지지 않고 공부해봤을 임베디드 시스템과 펌웨어 프로그래밍!
간단하게 임베디드 시스템은 특정한 목표로 사용되는 시스템을 의미하고 있으며, 범용성을 지는 PC와 반대(?)의 개념이라 볼 수 있습니다.
쉽게 말해서 일상 생활 속에 있는 전자렌지, 디지털 시계, 프린터 모두 임베디드 시스템을 가진 제품이라 볼 수 있죠.
이런 제품 내부에는 장치를 제어하기 위한 메인 제어 장치가 들어가게 되고,
메인 제어 장치를 제어하기 위한 프로그래밍을 펌웨어 프로그래밍이라 불리고 있습니다.
이렇게 입출력 부를 하나의 칩으로 만들어 정해진 기능을 수행하는 메인 제어 장치를
마이크로 컨트롤러 또는 MCU라고 부르고 있고, 크게 8-Bit와 32-Bit 로 나눠 구분할 수 있다.
당연히 32-Bit의 마이크로 컨트롤러가 성능면에서 우수한 부분을 가지고 있습니다.
그러나, 닭 잡는데 소 잡는 칼을 쓸 이유가 없듯이 구성되는 프로젝트 규모에 맞는 마이크로 컨트롤러를 선정하면 됩니다.
많은 대학에서는 8-Bit 마이크로 컨트롤러인 ATmega128로 임베디드 시스템에 대한 강의가 있는 걸로 알고 있습니다.
(물론, 다른 마이크로 프로세서를 이용하는 대학도 많이 있는 것으로 알고 있습니다.)
그래서!
본 페이지에서는 가장 쉽게 접하고 있고 초보자가 접근하기에도 쉬운 JKIT-128-1 개발 보드를 사용해서 ATmega128에 대한 자료를 공유할 예정입니다.
해당 개발 보드는 이미 다양한 외부 센서와 출력장치(LED, FND, 온도/조도 센서)가 부착되어 있다는 점으로
처음 시작하실 때 추가로 다양한 부품 구매 없이 기본 컨셉을 쉽게 접할 수 있는 장점이 있고,
관련 자료나 예제 코드도 굉장히 많아 혼자서 공부를 시작하더라도 무리가 없이 진행이 가능하다는 부분이 크게 메리트인 것 같습니다.
이 보드를 시작으로 다양한 외부 장치를 연결해서 공부해볼꺼에요. 잘부탁드립니다.
여담으로 이 개발보드를 선정한 이유는 대학에서 실제 사용하면서 제가 배웠던 보드였기 때문인데요..
대학 내에서 JKIT-128-1 개발보드만 사용해서 인지 임베디드 수업에 관심이 없었던 것인지
대학 후배들과 이야기를 할 때, ATmega128과 JKIT-128-1 개발보드 자체를 혼동하는 경우가 상당히 많이 있었던 경험이 있습니다.
마이크로 컨트롤러는 입출력 부를 하나의 칩으로 구성한 부분으로 개발보드는 해당 칩을 사용해 구성되어 있는 보드를 의미하는 부분입니다.
(+) 저도 공부를 하며 정리를 하고 포스팅을 하는 부분이라, 혹시 제가 잘못 잡고 있는 개념은 지적 부탁드립니다. 감사합니다.
Atmega128, 개발프로그램(ATMEL Studio 7) 설치 (3) | 2019.12.03 |
---|---|
ATmega128, GPIO 포트의 이해 (0) | 2019.01.23 |
기타. C언어에서 진수 표현 (2) | 2019.01.20 |