본문 바로가기

분류 전체보기353

A-Spice 의 개요 자동차 임베디드 SW 개발에서 A-Spice라는 것이 있다. A-Spice의 모든것에 대해 아주 완벽하고 정확하게 알아가기보다, 대강 어떤 느낌인지 파악하는 글을 써보겠다. A-SPICE는 Automovie Software Process Improvement and Capability dEtermination 의 약자인데. 간략히 말하면 '차량SW 개발 프로세스 가이드라인' 정도로 말 할 수 있을것 같다. 핵심단어는 '프로세스' 이다. 사실 SW라고 하는것은 누가 '어떻게' 만들었는지와 상관없이 원하는 기능만 잘 구현되면 장땡이다. 예를들어 똑같은 기능을 하는 sw인데 누구는 함수 5개로 나눠서 짜고, 누구는 함수 1개에 전부 다넣어서 짤 수도 있다. 또한 누구는 전역변수를 왕창 사용해서 코딩을 하고, .. 2020. 4. 19.
아두이노와 빵판 (브레드보드) 아두이노와 같은 아두이노 공부를 할 때면, 항상 빵판(브레드보드) 이야기가 나온다. 오늘은 빵판이 무엇인지 어떻게 쓰는지에 대해 알아보자. 그 전에, 우리는 아두이노를 이용하여 LED를 On, Off 할 수 있다. 그렇게 하기 위해서는 아두이노와 LED를 전선을 통하여 연결을 해야 한다. 아래 그림을 살펴보자. 아두이노 보드의 오른쪽을 보면 검은색 네모칸들이 있다. 각 네모칸 옆에는 0,1,2,3 ... 라고 숫자가 적혀있다. 이 각각의 칸을 디지털 핀(혹은 GPIO 핀) 이라고 부른다. 각각의 핀을 구분하기 위해서 번호를 달고 있다. 0번핀 ,1번핀.. 이런식으로 . 그리고 아두이노 SW를 이용해서 각각의 디지털 핀을 On/Off 할 수 있는데, On 하면 해당 핀으로부터 5V의 전압이 출력된다. 한편.. 2020. 4. 19.
아두이노 무작정 따라하기.강좌.강의(3) 아두이노를 정상적으로 설치하고, 이제 아두이노 sw를 켜보자. 현재 아두이노를 컴퓨터에 연결하지않고 sw만 켰기 때문에, 위 그림처럼 툴 버튼을 눌러보면 포트라고 적혀있는 부분이 회색으로 보인다. 이제 아두이노를 컴퓨터와 연결하자. 위 그림 부분에 USB 포트를 연결해서, 컴퓨터와 연결하자. USB 포트를 이용해서 아두이노를 컴퓨터에 연결하면, 바탕화면 오른쪽 하단에 드라이버 설치 어쩌구 메세지가 뜰 것이다. 이것은, 컴퓨터가 아두이노를 인식해서 그에 맞는 드라이버를 자동으로 설치하는 과정이다. 아두이노를 정상적으로 연결했다면, 이제 아두이노 SW가 아래와 같이 달라진다. 아까는 포트라고 하는 부분이 회색으로 비활성화되어있었는데, 이제는 COM4 라고 적혀있다. 이렇게 나오면 PC가 아두이노를 정상적으로.. 2020. 4. 14.
아두이노 무작정 따라하기.강좌.강의(2) 앞장의 강좌 아두이노 무작정 따라하기.강좌.강의(1) 에서, 아두이노 무작정 따라하기.강좌.강의※ 참고. 이 블로그에서 최종적으로 만드려는 것은 바퀴가 2개 달린 작은 자동차이다. 앞에는 초음파센서가 달려있어서 전방에 장애물이 있으면 자동으로 멈출 것이고, 핸드폰의 블루트수 통신을 이용해서 좌,우,..newbie-developer.tistory.com컴퓨터를 이용해서 LED를 On/Off 하는 기능을 구경해보았다. 그런데 #위 그림에서는 작은 LED를 연결했지만, 만약 집에 있는 형광등으로 연결되는 전선을 저렇게 연결했다면, 아두이노를 이용해서 컴퓨터로 형광등의 전원을 On/Off 할 수 있는 것이다. #위 그림에서는 작은 LED가 연결되어있지만, 만약 전기를 가하면 돌아가는 모터를 연결했다면? 그리고 .. 2020. 4. 13.
아두이노 무작정 따라하기.강좌.강의 ※ 참고. 이 블로그에서 최종적으로 만드려는 것은 바퀴가 2개 달린 작은 자동차이다.앞에는 초음파센서가 달려있어서 전방에 장애물이 있으면 자동으로 멈출 것이고,핸드폰의 블루투스 통신을 이용해서 좌,우,앞,뒤로 이동이 가능한 자동차이다.완성된 자동차의 모습은 아래와 같다. 아두이노와 관련된 좋은 설명자료. 인터넷강의. PPT 등이 여기저기 널려있기 때문에이론적이고 구구절절한 내용은 생략한다. 아두이노를 이용해서 할 수 있는것들이 굉장히 많이 있는데,다음과 같은 것을 할 수 있다. 다음은 컴퓨터로 글자 'a'를 적고 Enter키를 누르면 LED가 켜지고, 글자 'f'를 적고 Enter키를 누르면 LED가 꺼지는 기능을 아두이노로 구현한 것이다. 영상에 화면이 잘 안보이겠지만 'a'라고 적고, 'f'라고 적고.. 2020. 4. 13.
Atmega128 MCU에 대하여 MCU란 무엇일까?? MCU는 몰라도 일반적으로 CPU가 무엇인지는 알고 있을 것이다. CPU는 컴퓨터의 두뇌역할을 하는 장치로, 사람들이 만든 SW를 실제로 수행하는 장치이다. 그런데 우리가 컴퓨터를 사용할 때 각종 파일들을 저장할 공간이 필요한데, 대부분 하드디스크 라는 곳에 파일들을 저장하게 된다.(최근에는 SSD라는 장치에 저장하기도 한다.) 또한 우리가 프로그램을 실행하기 위해서는 하드디스크에 저장된 파일들이 RAM이라고 하는 메모리에 위치해야한다. 그래야 비로서 CPU가 램으로 이동된 SW를 실행하게 된다. 이 처럼, CPU는 SW를 수행하는 역할만 할 뿐이다. CPU가 정상동작을 하려면 메모리,하드디스크 등의 별도의 하드웨어가 더 필요하다. 다시 MCU로 돌아와서, MCU는 Micro Con.. 2020. 4. 8.
정적검증과 미즈라씨 Misra-C 정적검증은 소스 코드 그 자체를 툴이 검사해서 혹시 문제를 일으킬 소지가 있는 것을 알려주는 작업이라 하였다. 정적검증을 이야기하면서 항상 나오는 것이 바로 Misra-C (미즈라씨) 이다. 정적검증툴이 소스코드를 검사할 때, 문제가 있는지 없는지를 판단하는 기준이 있어야 될 것이다. 그런 기준은 툴마다 조금씩 다르고 아주 다양한 기준이 있다. 그런 기준들중에서 국제적으로 표준처럼 쓰이는 Rule이 바로 Misra-C 이다. 미즈라씨가 제공하는 Rule 이 실제로 무엇인지 정리된 문서는 돈주고 사서 봐야한다. 정적검증 오류로 예를 들었던 초기값이 없는 지역변수 선언 이라던지.. 포인터를 잘못사용했다던지.. 그런 에러를 유발할 수 있을 법한 상황들을 100~170개 정도 나열 해놓은것이 미즈라 씨이다. 참.. 2019. 7. 6.
정적검증 ( 학교에서 하던 sw랑 회사에서 쓰는 sw는 뭐가 다를까?) 나는 오래전부터 궁금했다. 학교에서 과제로 하는 SW(코딩)과 회사에서 쓰는 코딩은 어떤 차이가 있을까? 일단 회사에서 만드는 SW는 돈 받고 파는 제품이니까 안전한 SW를 만들어야 될 거 같은데..특히 자동차는 사람 생명과 연관되어있으니 더욱 더 안전하게 만들어야 할 것 같은데 SW를 안전하게 만든다는게 어떤 개념인지 전혀 감이 안 왔다. 아직도 모르는 것 투성이지만.. 일단 회사에서 만드는 SW는 학교에서 과제로 하던 SW와 다른점이.. 평가/검증 조직이 따로 있다는 점. 그리고 평가/검증을 받는다는 점이다. 다양한 평가/검증 방법, 프로세스, 툴, 기법이 있다. 컴퓨터공학과를 전공했지만 ‘SW 테스팅’ 이라는 개념 자체를 아예 몰랐다. (지금도 사실 잘 모른다.) 심지어 국제 SW 테스팅 자격증. .. 2019. 7. 5.
컴퓨터 SW . 그리고 2진수에 대하여 컴퓨터에 대해서 이야기 하려면 2진수 이야기를 안 할 수가 없다. 임베디드가 아니라 일반 컴퓨터 SW를 하더라도 우리는 2진수를 무조건 알아야 한다. 유명한 사실이지만 컴퓨터는 모든 정보, 숫자를 0과 1로 표현하고 구분한다. 1은 전기스위치가 ON 된 것, 0은 전기 스위치가 Off 된 것이다. 그렇다면 2진수는 대체 어떻게 사용하는 것일까? 일반적으로 우리가 사용하는 10진수에 대해서 알아보자. 예를 들어 10진수 3254가 있다고 생각해보자. 10³ = 1000 10²=100 10¹ = 10 1 3 2 5 4 10진수 3254의 (3은 10의 3제곱 = 1000) 에 3을 곱해서 3000 (2는 10의 2제곱 = 100 ) 에 2를 곱해서 200 ( 5는 10의 1제곱 = 10 ) 에 5를 곱해서 .. 2019. 7. 4.