마이컴 개발과 리눅스 포팅의 차이
보통 디지털 장비에는 CPU라고하는 칩이 들어가고, 프로그램을 넣어야 작동한다.
리눅스포팅과, 마이컴 프로그램의 차이는 무엇일까?
OS 포팅(프로그래밍)
보통 리눅스는 OS급의 기능(부가장치 드라이버 기능)이 필요한 장비에서 사용한다.
리눅스는 무료라서, 가장 많이 사용한다.
OS이다보니, 플래시 메모리와 RAM이 충분해야 돌아간다.
포팅은 다른 운영체제의 프로그램을 목적 환경에서 돌아가도록 수정하는것을 말하나,
요즘은 "리눅스포팅", "OS포팅"등으로 말하며, 대부분, 리눅스 운영체제를 동작가능하게 만드는 과정을 말한다.
운영체제를 사용하기 위해서는 malloc와 같은 동적 메모리할당 기능과, 가상메모리등의 기능들이 필요하다.
보통 화면출력(터치모니터등), LAN통신등을 하기위해 사용한다.
많은 복잡한 기능들이 필요한 경우에 사용한다.
TCP/IP스텍을 마이컴에 올릴 수 도 있으나, 여러가지 문제로 쉽지 않다.
이럴때, OS를 올리면, OS에서 기본 기능은 대부분 지원해주므로, 비교적 쉽고, 빠르게, 복잡하고, 많은 기능을 사용할 수 있다.
가격보다는 성능이 중요한곳에서 많이 사용한다.
CPU외에도 외부 RAM이 필요하기때문에, 여러개의 칩을 연결해야하고, 크기가 커지고, 소모전력도 올라간다.
저전력 기능이 필요한곳에서는 사용이 어렵다.
중/대규모 이상의 프로젝트
마이컴 프로그래밍
마이컴은 매우 소규모의 단순작업을 할 수 있는 수준에서 많이 사용된다.
예) 세탁기, 냉장고, 등등
마이컴 프로그래밍에서도 malloc등을 사용할 수 있으나, 메모리가 작기때문에, 사용하면, 속도가 느려지거나, 메모리가 부족하게되는등, 문제가 많기 때문에, 보통은 고정으로 변수를 지정해서 사용한다.
요즘은 1M바이트 이상의 고용량(?) CPU가 나오면서, 복잡하지 않은 왠만한 기능들은 마이컴CPU로도 만들 수 있다.
가격이 중요할 경우에 많이 사용한다.
CPU칩 하나로 대부분 구현이 가능하여, 저전력 기능이 필요한곳에 알맞다.
소/중 규모 프로젝트