본문 바로가기

오토사12

임베디드 시스템 완벽 정리: 일상 속 숨겨진 컴퓨터들의 세계 임베디드 시스템 완벽 정리: 일상 속 숨겨진 컴퓨터들의 세계임베디드 (Embedded) 란?들어가며지금 이 글을 읽기전에 우리 주위를 둘러볼게요스마트폰 → 컴퓨터 (ARM 칩)자동차 → 컴퓨터 (ECU, ADAS, 인포테인먼트)냉장고 → 컴퓨터 (온도 제어)세탁기 → 컴퓨터 (코스 선택, 시간 제어)에어컨 → 컴퓨터 (온도 조절, 타이머)TV → 컴퓨터 (채널 변경, 영상 처리)게임기 → 컴퓨터 (고성능)스마트워치 → 컴퓨터 (저전력, 센서)카메라 → 컴퓨터 (이미지 처리)드론 → 컴퓨터 (실시간 제어)이들은 모두 숨겨진 '작은 컴퓨터'입니다.우리가 사용하는 노트북이나 데스크톱처럼 범용 컴퓨터가 아니라, 특정 기능을 위해 설계된 전용 컴퓨터인 셈이죠이것이 바로 임베디드 시스템(Embedded System.. 2026. 1. 21.
자동차 개발자가 반드시 알아야 할 ROM, RAM, Flash, EEPROM, NVM의 완벽한 차이 ROM, RAM, Flash, EEPROM, NVM의 완벽한 차이들어가며 RAM, ROM에 대해 정확히 알고계시나요?두개가 뭐가 다르냐고 묻는다면 휘발성, 비휘발성이라고만 대답하고 있진않은가요?그럼 "Flash랑은 뭐가 다르냐"는 질문에는요?그럼 "EEPROM은 ROM에 EEP가 붙은건가요?" 라는 질문에는요?"NvM도 비휘발성이지 않나요 ?" 라는 질문에는요? 여기서 한번에 알아가는거예요그래서 뭉치로 관련된 것을 모두 모아봤어요할때 한번에 알아가자고요~ “껐다 켜도 남아 있으면 ROM, 끄면 사라지면 RAM” 예를 들어볼게요 .당신의 차가 시동을 끈 후 다시 켜졌어요.ECU 부팅 과정:0초: 전원 ON└─ ROM에서 부트로더 코드 실행1초: 부트로더 실행└─ "어디서 메인 프로그램 로드할까?"2초:.. 2025. 12. 22.
AUTOSAR CanIf 완벽 이해: CAN 메시지 라우팅의 모든 것 AUTOSAR CanIf 완벽 이해: CAN 메시지 라우팅의 모든 것CanIf란?들어가며지난 게시물에서 Dcm이 어떻게 정비소와 통신하는지 배웠어요.그렇다면 그 통신은 어떤 방법을 통해 하는걸까요???그 물음에 대한 대답을 이번 게시물을 통해 해드리겠습니다.이제 "그 통신 메시지가 정확히 어떤 경로로 이동할까?"에 대해 글을 써보려합니다. 먼저 자동차는 CAN 버스가 1개만 있는 게 아니에요.실제 자동차:┌────────────────────────────────────┐│ CAN-0 (High-speed CAN, 500 kbps) ││ ├─ 엔진 ECU ││ ├─ 변속기 ECU ││ ├─ ABS ECU .. 2025. 12. 20.
실무자가 반드시 알아야 할 Static, Extern, Global 변수의 완벽한 차이 실무자가 반드시 알아야 할 Static, Extern, Global 변수의 차이Static, Extern, Global 변수들어가며 AUTOSAR 프로젝트에서 이런 상황이 자주 발생해요:신입 개발자:파일1.c:static int counter = 0; // ?파일2.c:extern int counter; // ?main.c:int global_counter = 0; // ?"이게 다 뭐예요? 다 같은 거 아니에요?"선배:"음... static은 내부용, extern은 외부용...?"신입:"그래서 counter는 어디에 있어요???"결과: 링킹 오류 + 디버깅 2시간 😭이 혼동을 끝내자!이 글에서는 static, extern, global의 정확한 정의, 스코프, 메모리,그리고 언제 뭘 써.. 2025. 12. 19.
개발자가 반드시 알아야 할 Compile, Linking, Build, Rebuild, GenerateAll의 완벽한 차이 🔨 개발자가 반드시 알아야 할 Compile, Linking, Build, Rebuild, GenerateAll의 완벽한 차이들어가며안녕하세요 버그없는토마토입니다여러분은 혹시 컴파일과 빌드의 차이를 아시나요?그렇다면 링킹과 빌드의 차이는요?어떨때 빌드를 쓰고 어떨때 리빌드를 쓸까요? 신입이 물어본다면, 위 개념을 구분해서 설명해줄 수 있나요?저는 신입때 이 구분이 명확하지 않아서 혼동해서 쓰기도 하고 얼버무려 대답한 적도 있답니다그러다가 그당시 팀장님이 물어본 질문에 추상적으로만 어버버했던 기억이 있어요.. 오늘은 제가 컴파일부터 링킹, 빌드, 리빌드, GenarateAll까지 모두 마스터 시켜드릴게요 여러분이 빌드를 위해 빌드프로그램이든, 모빌진이든, 빌드서버든 어떤 프로젝트를 열었어요.IDE (In.. 2025. 12. 19.
AUTOSAR Dcm 완벽 이해: 진단 통신의 모든 것 AUTOSAR Dcm 완벽 이해: 진단 통신의 모든 것DCM이란?들어가며안녕하세요 버그없는토마토입니다지난 게시물에서 Dem이 어떻게 오류를 감지하고 DTC를 생성하는지 배웠죠?Dem을 통해 고장을 판단했고 DTC를 생성하여 저장을 했습니다 그럼 이제 "그 DTC를 정비소에 어떻게 전달할까?"를 배워야 할 차례예요.정비소에서 진단기(스캔툴)를 자동차에 연결하면, "DTC 읽어줘", "DTC 삭제해줘"라는 명령을 보내요.누가 이 명령을 받고 처리할까?답은 Dcm (Diagnostic Communication Manager)이에요. 밑에 이해하기 쉽게 예를 보여드릴게요실제 정비소 장면:정비사: "DTC 스캔 시작!"진단기: CAN 버스에 명령 전송 "읽어줄 수 있어?"↓ECU (Dcm):"내가 받.. 2025. 12. 18.