설정은 왼쪽부터

오늘의 리빙포인트: 복잡한 설정이 필요한 곳에서는 왼쪽부터 차례대로 해나가는 것이 좋다.

이전에 임베디드 (IoT) 장비에 컴파일 올릴 때 있었던 일이다. USB로 연결해서 이클립스 기반의 IDE에서 펌웨어를 업로드하고 있었는데 초기 설정에서 매뉴얼대로 따라해도 안되는 상황이었다. 그래서 다른 사람의 컴퓨터로 처음부터 다시 설치해서 설정해서 해보니 정상작동하는 것을 확인.

그럼 왜 한 컴퓨터는 되고 한 컴퓨터는 안 됐던걸까? 원인을 찾다보니 문제의 컴퓨터는 매뉴얼에서 설명하는 대로 (= 왼쪽부터) 설정하지 않았다고 한다. 정말 그게 다였다. 왼쪽부터 설정하지 않았더니 진행이 안됐다. (…) 아마 왼쪽의 스코프가 크고, 세부적인 설정은 오른쪽에서 하는 것이다보니 세부적인 것을 먼저 결정해버리고 큰 것을 고르는 순서에 대한 핸들링이 없었던 것이 아닐까 짐작할 뿐이다.

그 외에도 stdout이 없어서 breakpoint를 걸어주며 debugging을 해야했는데, gcc의 코드 최적화 때문에 분기가 코드와는 다르게 뛰는 상황이 발생했다. -O 옵션을 빼니 코드 사이즈가 크다고 임베디드 기기에 안올락나다고. 결국 디버깅이 필요한 변수에 volatile을 붙여서 디버깅했다고 한다. 꺄르륵.

Leave a Reply