본문 바로가기
코스웨어/12년 내장형하드웨어

입사 3개월

by 알 수 없는 사용자 2013. 6. 7.
728x90
반응형

현재 제가 맡고 있는 펌웨어가 탑재된 기기들이 현장에 설치되고 있습니다.

수십번 테스트를 거치고 코드를 여러번 다듬었는데 그래도 멈출까봐 조마조마 합니다.


제가 일하는 쪽에서는 전부 CM님께 배운거 안에서 다 할 수 있기 때문에 큰 어려움 없이 진행했습니다. 

이제는 Character LCD로 멀티라인 에디터도 만들 수 있습니다. 허허.. 시간 나시는 분은 한번 진행해 보시길.


아래는 이번 제가 프로젝트 하면서 중요하다 느낀 부분을 남깁니다.

  • 시리얼 통신
    • 센서중에 시리얼 통신을 통하여 서로 자료를 주고 받는 경우가 많습니다.
    • 저희는 사수가 Atmega 로 센서 모듈을 제작하고 값을 제가 맡고 있는 데이터로거 쪽으로 보낼때 약속된 프로토콜로 처리를 합니다.
    • CDMA 통신이나 양이 많은 데이터는 Check Sum과 Check Xor등으로 검사하여 처리합니다.
    • 서보모터 돌려보실 때 이해가 가실겁니다. 
  • 함수 포인터
    • LCD 제어에서 메뉴를 만들때 많이 썼습니다. 
    • 함수 포인터는 즐겨 사용했던거라 큰어려움 없이 응용이 가능했네요.
  • 공유 메모리
    • 프로세스간에 값을 공유하기 위해 사용합니다.
    • 각 기능별로 따로 제작된 어플리케이션들이 메모리를 공유하기 위해 사용됩니다.
  • 파이프
    • 이것 역시 프로세스간 값을 보낼 때 사용합니다.
  • 쓰레드
    • 시리얼 통신을 하는 센서들이 있을 때 값을 받을려고 대기 하면 안되기 때문에 쓰레드로 처리하여 값을 처리해 주게끔 합니다.
    • 쓰레드와 공유메모리 등은 이해가 없이 사용하면 프로세스 자체가 죽기 때문에 잘 사용해야 합니다.
  • 소스관리
    • 소스관리 프로그램은 각 회사마다 다르겠지만 처음 여기 왔을땐 시스템이 구축되어 있지 않아서 제가 사용해오던 git 으로 쓰기로 했습니다.
    • 이거 없었으면 상당히 일이 많을 뻔 했는데 큰 도움이 되었습니다.
  • 문서 정리
    • 포트폴리오를 적듯이 일일업무(저는 과정 당시 많이 빼먹었지만) 와 함께 늘 문서로 남깁니다.
그외 데이터로거가 IPTIME 같은 공유기 처럼 웹 접속이 가능하기 때문에 본의 아니게 HTML과 Javascript  등을 함께 만졌는데 따로 공부.. 절대 안하셔도 됩니다. 예전에 웹을 했던 경험이 있어서 했네요.






728x90