[임베디드] 뛰어난 임베디드 리눅스 프로그래머가 되기 위한 조건
By Guillermo Austin Kim | 2019년 12월 19일 |
뛰어난 프로그래머가 되기 위한 가장 중요한 덕목은 뭘까? 개인적으로; * 바로 부지런히 새로운 것을 배우려는 자세라고 생각한다. 일단 난 게으른 편이고 새로운 지식이나 스킬을 배우는 속도도 정말 느리다. 그래서 이런 주제에 대해 이야기하는게 정말 부끄럽다. 그런데 한 가지 내가 잘한다고 느끼는 것을 말해보까? '바로 쪼잔하다는 거다.' * 쪼잔하다? 그게 뭔 소리니? 쪼잔하다는 게 뭔 소리인데 풀어서 설명을 해볼까? 코드를 한 줄 추가할 때나 분석할 때 스스로 나에게 다음과 같은 질문을 던진다. * 배열의 인덱스가 제대로 처리되고 있나? * 배열을 초기화하지 않고 사용하면 문제가 되지 않을까? * 이 코드 구간에서 레이스 컨디션이 발생하면 어떻게 될까? * 지금 보는 코드
[IT] 임베디드: 버그가 할당될 때 개발자들의 행동 패턴
By Guillermo Austin Kim | 2020년 9월 15일 |
● 개발자 여러분, 혹시 버그를 할당 받은 적이 있나요? 아직 없다고요? 조금만 기다리면 금방 할당 받을 꺼에요. 그런데 버그를 할당 받으면 정말 짜증이 날꺼에요.그 이유는 여러분의 관리자들이 짜증나거나 상기된 표정으로 나타나 여러분을 괴롭힐 가능성이 높기 때문이에요. ● 버그는 언제 까지 잡을 수 있냐? ● 버그를 잡을 수 있는 대책이 뭐냐? 보통 버그가 나오면 버그와 관련된 기능을 맡고 있는 개발자에게 할당되는 경우가 많습니다.왜냐면 버그 관련된 코드를 작성한 개발자가 해당 버그를 잘 수정할 확률이 높기 때문이죠. 그래서 여러분이 버그를 할당 받으면 여러분이 짠 코드에 논리적 오류가 있는 지 점검합니다. 코드를 분석하고 디버깅을 하죠. 여기까지
tofrodos - 리눅스에서 윈도우용 텍스트 파일과의 줄바꿈 형식 차이 해결하기
By 반달가면 | 2016년 11월 13일 |
리눅스와 윈도우의 텍스트 파일은 줄바꿈 문자가 다르다. 리눅스는 lf(line feed,\n), 윈도우는 crlf(carriage return line feed, \r\n)를 사용한다. 이런 차이 때문에 리눅스에서 만든 텍스트 파일을 윈도우 메모장에서 열어 보면 줄바꿈이 제대로 보이지 않고 이상하게 된다. 리눅스에서 윈도우 텍스트 파일을 다루기 위해 tofrodos 패키지를 설치하면 된다.(데비안/우분투 기준) # tofrodos 패키지 설치 sudo apt-get install tofrodos 설치를 완료하면 fromdos와 todos를 사용할 수 있다. 윈도우쪽에서 가져온 텍스트 파일을 리눅스 형식으로 바꾸고 싶으면 fromdos, 반대로 리눅스에서 만든 텍스트 파일을 윈도우에서 볼 수
[라즈베리파이] 동기화 - 스핀락(spinlock): spin_lock() 어셈블리 코드 분석
By Guillermo Austin Kim | 2018년 12월 25일 |
이전 시간에 인라인 어셈블리 코드를 살펴봤는데, 이번에는 어셈블리 코드를 분석하겠습니다. 실제 ARM 프로세서 입장에서 스핀락을 어떻게 실행하는지 정확히 파악하려면 어셈블리 코드를 봐야 합니다. 어셈블리 코드를 분석해야 스핀락 핵심 개념을 알 수 있다는 겁니다. 이전 절에 다룬 내용을 이해했으면 그리 어렵지 않습니다. 분석하려는 코드는 다음과 같습니다.1 80704b60 <_raw_spin_lock>:2 80704b60:e1a0c00d movip, sp3 80704b64:e92dd800 push{fp, ip, lr, pc}4 80704b68:e24cb004 subfp, ip, #45 80704b6c:e52de004 push{lr}; (str lr, [sp, #-