본문 바로가기
반응형

코스웨어/12년 내장형하드웨어207

매크로를 이용한 디버깅 메세지 출력 디버깅 메세지 뿌릴 때마다 다 적기 귀찮아서 만든 매크로. 유용하게들 쓰시옹. #define pr_msg(s) fprintf(stdout, "[%s/%s:%03d] "#s"\n",__FILE__,__FUNCTION__,__LINE__) #define print_msg(io, fmt, arg...) fprintf(io, "[%s/%s:%03d] [%s] "#fmt"\n",__FILE__,__FUNCTION__,__LINE__, arg) 디버깅 메세지 등을 쓸 때 좋은데, 사용법은 대충 보면 알거고.. 자세한건 검색 하시옹. 2013. 7. 30.
소스 작성의 나쁜 예.. 다들 소켓 프로그래밍 하고 있군요. 시그널도 사용하고.. 곧 시그널로 인자를 보낼 수 없을까 고민도 하겠네요. 저도 TCP 서버쪽에 이슈가 하나 떠서 소스 들여다 보고 있는데.. 소스 작성의 나쁜 예가 있어서 올립니다.아오 진짜.. 2013. 7. 4.
으앙 여러분 취업할때 "일이 힘들겁니다." 라고하면 생각좀 해보세욜.. 안그러면 제꼴남... 그래도 잘 버틴 제가 대견하네요!! ㅋㅋ 2013. 6. 20.
디버그용 printf 찍을 때 tip printf 를 이용한 Debugging Tip다들 프로젝트 하면서 디버그 한다고 난리 브루스 리 일텐데.. gdb같은 디버거 사용하지 않으면 printf 로 콕콕 찍어가면서 하고 계시겠죠. 파일이 분할이 많아지고 어느곳에서 나오는 메세지인지 정확히 알 수 있는 방법이 있습니다.만약 아래의 소스를 test.c 에서 test_fuc라는 함수안 12번째 라인에 삽입했다고 하면,printf("%s, %s, %d ERROR!!\n", __FILE__, __func__, __LINE__); 위 printf문은 단순한 에러 처리에 진입했을때 나오는 나오는건데 분기가 많아서 어느 에러 문인지 정확히 찝어내기 위해서 사용했습니다. 사용된 인자들을 살펴보면 아래와 같습니다.__FILE__ 파일명__func__ 해당 코드.. 2013. 6. 19.
대소식!! 저 올해안에 결혼하지 싶습니다.... 2013. 6. 18.
문자열 파싱 시리얼을 통하여 여러 센서의 값을 하나의 문자열로 받아 쉽게 파싱하는 방법을 공유합니다.gcc 컴파일러에서만 될 수도 있는 비표준 코드이니 이런게 있다는 것만 알아두시길 바랍니다. 하지만 임베디드 리눅스에서는 압도적으로 gcc를 사용하니.. 아래는 sscanf 의 사용과 gcc에서 지원하는 정규표현식을 이용하여 필요한 부분만을 재가공하여 넘겨주는 코드입니다.사용방법은 어렵지 않으니 한번씩 해보시면 나중에 크게 도움될거라 생각합니다. /* Vaisala WXT520 온도 습도 기압 값 파서 */ int getSensorValue10sec_WXT520(multiSensorArr *valueFromSensor, char sensor){ float pressure; float temp; float humidit.. 2013. 6. 14.
입사 3개월 현재 제가 맡고 있는 펌웨어가 탑재된 기기들이 현장에 설치되고 있습니다.수십번 테스트를 거치고 코드를 여러번 다듬었는데 그래도 멈출까봐 조마조마 합니다. 제가 일하는 쪽에서는 전부 CM님께 배운거 안에서 다 할 수 있기 때문에 큰 어려움 없이 진행했습니다. 이제는 Character LCD로 멀티라인 에디터도 만들 수 있습니다. 허허.. 시간 나시는 분은 한번 진행해 보시길. 아래는 이번 제가 프로젝트 하면서 중요하다 느낀 부분을 남깁니다.시리얼 통신센서중에 시리얼 통신을 통하여 서로 자료를 주고 받는 경우가 많습니다.저희는 사수가 Atmega 로 센서 모듈을 제작하고 값을 제가 맡고 있는 데이터로거 쪽으로 보낼때 약속된 프로토콜로 처리를 합니다.CDMA 통신이나 양이 많은 데이터는 Check Sum과 C.. 2013. 6. 7.
일하다 말고.. 간단한 리눅스 팁 몇 개.. 몰라도 되지만 알면 편리한 팁. 파일 압축하거나 지울 때 명령어 쉽게 외우기압축시tar zxvf 압축 파일명.tar.gzzx 와 vf는 오토바이 이름이다. f 옵션이 들어가면 다음 인자로는 파일명이 와야 한다.z는 gzip을 사용x 는 extract, 압축풀기의 x v 는 view 과정을 보겠다는 말f 는 파일 명 압축시tar zcvf 압축파일명 압축할 파일들c 는 create 의 c 다른 디렉토리에 있는 파일을 복사해오지 않고 풀기cat /다른디렉토리/raven.tar.gz | tar zxv 리눅스 배포판들의 일반적인 shell인 Bash Shell은 emacs 키 바인딩으므로 커맨드 창에서도 동일하게 사용할 수 있다.ctrl + b 뒤로ctrl + f 앞으로alt + b 한 단어 뒤로alt + f 한.. 2013. 6. 4.
오예 저는 현재 삼성협업실에서 근무중... (한 6월 중순까지 예정...)현재 갤카 만들고 있습니다......... 종목 : HAL, KERNEL (안드로이드 시스템 프로그래밍) 현재 과제 2번 받아서 성공적으로 끝내고, 릴리즈 까지 마친상태입니다.이사님이 "obj는 필요없으니 가서 맨땅에 헤딩해"발언 후 수원에 끌려가 맨딴에 헤딩중 쿵쿵쿵 뭐 가서 상훈이햄집에서 하루자고,일과시간에 같이 담배도 피고 했습니다. 회사에서 선배들한테 이쁨받으면서 회사생활하고 있습니다.사수가 정말 친절하고 건강한 마인드를 가진분이시고,과장님은 겉으로는 쌀쌀맞아도, 잘 챙겨주시네요. 생각했던거 보다는 할만합니다.뭐 그리 어려운거도 없고, 공부도하고 일도하고시간가는줄 모르겟네요. 성남와서 외로울줄 알았는데,선배들이랑 친하게 잘 지내고.. 2013. 4. 10.
728x90
반응형