1. 디버깅 환경이 열악하다. 특히 JTAG과 T32이 없이 간단한 루틴 만들기도 벅차다.
2. 타겟 보드에 바이너리를 올리는데 생각보다 많은 시간이 소모된다. 그래서 프로그래밍 중 생각의 흐름이 많이 끊긴다.
3. ARM 컴파일러와 링커는 PC에 비해 느리다. 결과 확인하는 시간이 아까워서 더 코딩했다가 꼬이기 시작하면 대략 낭패..
4. 오동작을 보일 때 어쩌면 S/W 문제가 아니라 H/W 문제일 수도 있다. 이를 증명하기 위해서는 oscilloscope로 찍어봐야 하는 번거로움이 생긴다. 그래도 요즘에는 많이 좋아졌다고 한다. 옛날에는 oscilloscope로 디버깅을 했다는 말도 있다. 나처럼 한 번도 oscilloscope를 사용해 보지 못한 사람들은 GND가 어디있는지도 모른다.
5. 사용하는 칩셋은 제품 원가 때문에 항상 변한다. 한 번씩 변할 때 마다 같은 동작을 하는 프로그램도 많은 수정이 필요하다.
6. 혼자서 할 수 있는 건 별로 없다. 간혹 소스 뒤져서 프로그램의 흐름을 파악하는 것 보다 다른 사람한테 물어보는게 더 빠를 수 있다.
7. 점점 Eclipse나 Visual Studio 같은 IDE가 그리워진다.
8. API 문서가 없다. 설마 그런게 있더라도 오래된 버전이다. 이 함수가 무엇을 하는 함수인지 궁금하다면 소스를 보고 한참 생각하던가 누군가에게 물어봐야한다.
9. 납땜도 잘하면 좋다. 간혹 JTAG 연결할 때 필요하다.
10. 퇴근 늦게할 생각하고 느긋하게 코딩하는게 좋다. 조급한 마음을 가지면 어디에서 개발하든 더디게 진행되는데 임베디드 환경에서는 데미지가 더 크다.
11. 그러나 간혹 힘들게 개발했으니 성취감은 두배가 된다고 생각될 때도 있다.
12. Copy & Paste를 하더라도 그 코드 조각에 대해서 이해하려는 마음을 갖자. 아무런 생각없이 코드 조각을 붙였다가 더 고생하는 수가 있다.
그냥 생각나는 대로 몇 자 적어봤습니다. 이 job을 시작한지 얼마 안됐는데 막상 적어놓은 것 보니까 거의 초월의 경지에 이른 사람같네요.. 반성 좀 해야겠습니다.
이올린에 북마크하기
이올린에 추천하기


