본문 바로가기

자동차 임베디드 SW98

컴퓨터 프로그램의 개념(컴파일.링크.빌드) 이해 컴파일.링크.빌드의 개념 로더의 개념. Cache와 TLB의 개념 등등은 kocw 사이트에 있는 고려대학교 최린 교수님의 2019년 컴퓨터구조 강의를 공부한 내용을 정리하였다. 아래는 강의 링크 및 목차 http://www.kocw.or.kr/home/cview.do?cid=26adea597863b523 컴퓨터구조 컴퓨터의 구성 요소인 프로세서와 메모리, 입출력 장치의 동작원리와 내부 구조에 대하여 학습한다. www.kocw.net 시간 있으면 해당 강의보면 어려운 내용 없이 이해가 잘 된다. 근데 일일이 다시 보기 귀찮으니까 대강의 개념만 블로그에 정리하려함. sw는 컴퓨터가 수행할 수 있는 명령어들을 나열해놓은 것이다. 컴퓨터는 cpu를 갖고있는데 cpu는 저마다 고유의 instruction set을.. 2021. 11. 14.
Trace32 cmm 개요 및 유용한 명령어들 창 별도로 만들어서 밖으로 빼기 제일 앞에 we. 를 적는다 ▶ File 메뉴에서 run script를 고른후 cmm 파일을 선택하면, gui 창에 해당 스크립트가 나타나지는 않고 그냥 해당 스크립트 안에 있는 내용을 그대로 실행시켜버린다. 이것을 커맨드 명령으로 치면 do "cmm파일명" ▶ File 메뉴에서 edit script를 고른 후 cmm 파일을 선택하면, gui 창에 해당 스크립트 파일을 볼 수 있게 열린다 커맨드로 하면 pedit "cmm파일명" ▶ cmm 파일에서 제일 앞에 ; 를 쓰면 주석을 의미한다. ▶. 변수명 확인할 수 있게 watch 창에 등록하기 var.watch 변수명1 변수명2 변수명3 변수명4 .. 한칸 띄어서 쭉 쓰면 여러개의 변수들이 한번에 촤르륵 등록된다. ▶. 변수.. 2021. 11. 12.
CAN 통신 개요. 캔 통신이란? Can통신이란 무엇인가? 세상에는 다양한 통신 프로토콜들이 존재하는데 컴퓨터에 랜선을 연결해서 인터넷을 사용할 때 쓰는 TCP/IP 통신, WiFi 통신이 대표적인 예시이다. CAN도 수 많은 통신 프로토콜 중 하나이다. 통신이라는 것은 서로 다른 두 주체가 데이터를 주고 받는 것을 의미한다. 자동차 안에는 굉장히 많은 제어기가 들어가 있다. 여기서 제어기는 일종의 컴퓨터라고 생각하면 된다. 핸들(조향장치)를 컨트롤 하는 제어기, 브레이크를 컨트롤 하는 제어기, 에어백을 컨트롤 하는 제어기, 스마트키 모듈을 컨트롤하는 제어기 등등.. 아주 많은 수의 제어기가 자동차 안에 들어가있다. 그리고 이러한 제어기들은 서로 정보를 주고 받을 필요가 있는데, 이 때 사용하는 통신 프로토콜이 바로 CAN 통신이다. C.. 2021. 4. 15.
배치파일 관련 https://www.snoopybox.co.kr/m/1404 배치파일 기초 작성법 예전부터 한번 정리하려고 했는데 시간이 많이 걸리는 일이라 차일피일 미루다 오늘에야 올려봅니다. 처음에는 간단히 작성하려고 했는데 쓰다보니 글이 꽤 길어지더군요. 관심있는 분들만 www.snoopybox.co.kr 참고 2021. 3. 12.
VSCODE 유용한것 메모 https://hjcode.tistory.com/m/14 vscode 유용한 기능 Vscode의 유용한 기능들 셀렉션 위/아래로 이동 alt + 방향키 위/아래 셀렉션 복사 alt + shift + 방향키 위/아래 멀티 커서 에디팅 (Multi Cursor Editing) ctrl + alt + 방향키 위/아래 떨어져 있는 단어들을.. hjcode.tistory.com 파일 안에서 특정 줄로 이동 : CTRL + G (커맨드이름 Go to Line/Column) ctrl + alt + 방향키 : 멀티 커서 생성 (참고로 해당 기능 정확한 이름은 Add Cursor Above Add Cursor Below 이다.) alt + 클릭 : 멀티 커서 생성 ctrl + d : 내가 특정 단어나 문장을 선택했을 때.. 2021. 2. 19.
A-Spice 의 개요 자동차 임베디드 SW 개발에서 A-Spice라는 것이 있다. A-Spice의 모든것에 대해 아주 완벽하고 정확하게 알아가기보다, 대강 어떤 느낌인지 파악하는 글을 써보겠다. A-SPICE는 Automovie Software Process Improvement and Capability dEtermination 의 약자인데. 간략히 말하면 '차량SW 개발 프로세스 가이드라인' 정도로 말 할 수 있을것 같다. 핵심단어는 '프로세스' 이다. 사실 SW라고 하는것은 누가 '어떻게' 만들었는지와 상관없이 원하는 기능만 잘 구현되면 장땡이다. 예를들어 똑같은 기능을 하는 sw인데 누구는 함수 5개로 나눠서 짜고, 누구는 함수 1개에 전부 다넣어서 짤 수도 있다. 또한 누구는 전역변수를 왕창 사용해서 코딩을 하고, .. 2020. 4. 19.
정적검증과 미즈라씨 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.