본문 바로가기

전체 글48

포인터와 배열 - 입문자가 반드시 알아야 할 관계 포인터와 배열 - 입문자가 반드시 알아야 할 관계포인터란? 배열이란?들어가며오늘은 월요일 -> 기초편입니다포인터와 배열에 대해 알아 볼건데요그냥 단순한 문법에 대한 고찰이 아닌 직접 실무에서 어떻게 사용되는지와 연관시켜 알아보도록 하겠습니다 자동차 ECU에서 센서 데이터를 읽는 상황을 생각해 보겠습니다온도 센서 배열:tempData[0] = 85도 (엔진)tempData[1] = 40도 (냉각수)tempData[2] = 120도 (배터리)이 배열의 첫 번째 값을 다른 함수로 전달하고 싶어.int readTemperature(int *sensor) { return *sensor; // sensor가 가리키는 주소의 값을 읽기}result = readTemperature(&tempData[0]); .. 2025. 12. 29.
자동차 통신 프로토콜 4부: CAN (2부) – Arbitration과 에러 처리 완전 이해 CAN통신 프로토콜 – Arbitration과 에러 처리 완전 이해들어가며여러분의 차에 3개의 ECU가 동시에 메시지를 보내려고 했어요.이럴 땐 누구의 것을 먼저 받고, 처리해야할까요?상황:엔진 제어 ECU: "나 RPM 데이터 보낼게! ID: 0x123"변속기 ECU: "나는 기어 상태 보낼게! ID: 0x456"제동 ECU: "나는 압력값 보낼게! ID: 0x789"동시에 CAN 버스에 접근...어? 3개가 동시에?!그럼 버스 충돌이 되는 거 아니야?아니다. CAN은 이미 생각해 뒀어.가장 높은 우선순위(낮은 ID)가 자동으로 메시지를 보낼 수 있게.결과:ID 0x123 (엔진 ECU): "내가 먼저 보낼게"ID 0x456 (변속기 ECU): "알겠어, 잠깐만"ID 0x789 (제동 ECU): "나도.. 2025. 12. 26.
자동차 통신 프로토콜 2부: LIN (Local Interconnect Network) 완벽 이해 자동차 통신 프로토콜 2부: LIN (Local Interconnect Network) 완벽 이해LIN이란? 들어가며안녕하세요 버그없는토마토입니다1부에서 자동차는 왜 여러 프로토콜을 써야 하는지 배웠어요.각각의 역할이 있고 목적이 있기 떄문에, 그리고 비용적인 측면에서도 꼭 필요한 분할이라고 생각하게 되죠.이제 "그 프로토콜들이 정확히 뭔지" 배워야 할 차례예요.저번 게시물에서 설명했듯이 옴니버스식 구성의 각각 주인공들이에요 오늘의 주인공은 린이란 녀석입니다.첫 번째는 LIN (Local Interconnect Network)이에요. 린은 어떨 떄 쓰일까요?지금 차에서:운전자: "창문 올려!" (버튼 누름)↓바디 ECU: "창문 ECU에게 신호를 보내야 해"↓LIN 버스에 신호 전송[Master Sign.. 2025. 12. 24.
자동차 통신 프로토콜 3부: CAN (1부) - 기초와 메시지 구조 완벽 이해 자동차 통신 프로토콜 3부: CAN (1부) - 기초와 메시지 구조 완벽 이해CAN이란?들어가며안녕하세요 버그없는토마토입니다제일 먼저 자동차가 왜 여러 프로토콜을 써야 하는지 배웠어요.LIN CAN CANFD 등등등 여러가지를 슬쩍 봤죠.그리고 저번 게시물에서 우리는 LIN (느리지만 저렴한)을 배웠어요.이제 자동차의 진정한 "표준" 통신: CAN을 배워야 할 차례예요.CAN만 배워도 사실 끝입니다.CAN에 대해 마스터 했다면 (CANFD까진..ㅎ) 그다음 게시물은 팔짱끼고 편히 보셔도돼요.그러니까 힘내보자고요~!차에 문제가 생겼어요:진단기가 스캔을 시작합니다.↓진단기: "어? DTC가 있네. P0117이라고?" (O2 센서 오류)↓엔진 ECU와 변속기 ECU는?계속 CAN 버스를 통해 데이.. 2025. 12. 23.
자동차 개발자가 반드시 알아야 할 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.
자동차 통신 프로토콜 1부: 왜 자동차에는 여러 통신 프로토콜이 필요할까? 자동차 통신 프로토콜 1부: 왜 자동차에는 여러 통신 프로토콜이 필요할까?자동차 통신 프로토콜이란?들어가며안녕하세요 버그없는토마토입니다.이번부터 자동차 통신 프로토콜에 대해 배워볼건데요몇부작이 될지는 모르겠습니다그런데 왜 통신프로토콜이 존재하는지 부터 시작해서 LIN, CAN, CANFD 그보다 더 빠른 통신까지 설명하는 시간을 갖고실제 적용된 사례를 가져와볼게요그리고 미래엔 어떤 형식으로 통신이 될지에 관해 마무리 해보도록 하겠습니다벌써 벅차네요 제가 동료에게 블로그를 한다고 얘기했을때 주제에 대해 얘기를 나눴는데CAN 에 대해서는 꼭 다뤄달라고 얘기를 들었습니다정말 궁금해하시는 분이 많다는 걸 깨닫는 계기가 됐어요사실 CAN이라는게 업계가 아니라면 낯선게 사실이니까요그리고 실무자도 CAN 잘 알아요근.. 2025. 12. 21.