자동차 개발자가 반드시 알아야 할 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.
실무자가 반드시 알아야 할 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.