회로이론은 막연하게 학습하면 대수학의 일종처럼 느껴지기도 한다. 하지만, 사실 회로이론은 대수학이라기 보다는 프로그래밍에 가깝다. 프로그래밍은 함수의 기능을 정의하고, 입력과 출력을 정의하고, 내용을 정의하고, 완성되면 다른 함수에서 그 함수를 호출하는 방식으로 사용된다. 회로도 동일하다. 회로의 기능을 정의하고, 입력과 출력을 정의하고, 완성된 회로 구조를 필요할 때마다 사용되는 방식이다. 회로이론은 프로그래밍과 비교한다면, 문법을 배우는 것과 동일하다. 임베디드 프로그래밍에 있어서 어느 기능을 HW로 구현하느냐, SW로 구현하느냐는 설계자의 선택에 달렸다. 하지만, 응답성이나 신뢰성을 고려한다면 경우에 따라 HW가 훨씬 유리하기도 하고, 신뢰성을 높이기 위해서는 HW와 SW를 동시에 사용하기도하고, 원가절감을 위해서는 단순히 SW만을 사용해 구현하기도 한다.
임베디드 프로그래밍을 하는 현장에서 근무하면, HW만 아는 사람, SW만 아는 사람은 반쪽짜리 취급을 받기 십상이다. 안타깝지만 현실이 그렇다. HW의 중요도가 올라가는 시스템의 임베디드 시스템을 개발하는 곳에서는 더더욱이 HW와 SW를 모두 알고 있는 개발자를 원한다. 이 글을 쓰고 있는 본인 역시 정작 HW 에는 문외한인 사람이었다. 하지만, 사는게 다 그렇듯 피할 수 없으면 즐겨야 하기에 어쩔 수 없이 연차가 쌓일 수록 HW 공부도 병행하게 됐고, 업무를 위해 필요한 공부를 위해서 이 내용을 작성하려고 한다.
▶ 포스트