DevBJ · Develop. Build. Just Better.
현장에서 다시 찾는 임베디드 기술 노트
DoIP, UDS, lwIP, FPGA/ASIC처럼 현장에서 다시 확인하게 되는 기술 문제와 해결 과정을 기록합니다. 프로젝트 경험과 기술 이력도 함께 관리합니다.
- 공개 글
- 105
- 카테고리
- 6
- 태그
- 260
Start Here
처음 방문했다면 아래 흐름부터 읽는 편이 가장 덜 헤맵니다.
- DoIP Roadmap DoIP/UDS 진단 통신부터 Routing Activation, Diagnostic Message, Alive Check처럼 차량 진단 통신에서 먼저 잡아야 할 흐름을 모았습니다. 읽기 시작
- lwIP Roadmap 임베디드 TCP/IP 구현 이슈 메모리 지도, NO_SYS 타이머, tcpip_thread, pbuf 수명주기처럼 작은 스택에서 자주 흔들리는 지점을 순서대로 정리합니다. 읽기 시작
- FPGA/ASIC Roadmap Verilog RTL부터 다시 확인하기 blocking과 non-blocking, simulation, synthesis, timing처럼 FPGA/ASIC 작업에서 다시 찾게 되는 기준을 정리합니다. 읽기 시작
- Free Tech Blog GitHub로 무료 기술블로그 운영하기 Hugo와 Jekyll을 거쳐 Astro까지 사용한 경험을 바탕으로 GitHub Pages 배포, 검색, 자동화와 작은 AdSense 수익 실험을 정리합니다. 읽기 시작
- About DevBJ가 기록하는 기술과 기준 개인 신상이나 회사 이력 대신 다뤄온 기술 영역, 문제를 좁히는 관점과 기록 기준을 소개합니다. 읽기 시작
주제별 기술 노트
차량 진단 통신, 임베디드 네트워킹, FPGA/ASIC, 무료 기술블로그 운영처럼 DevBJ가 다루는 핵심 분야입니다. 각 주제에서 무엇을 확인할 수 있는지 먼저 살펴보고 필요한 글로 들어가세요.
- DoIP 31개의 글 DoIP, UDS, Automotive Ethernet 중심의 차량 진단 통신 노트입니다.
- lwIP 19개의 글 lwIP 메모리, 타이머, 스레드 경계, pbuf ownership처럼 구현 중 실제로 막히는 지점을 정리합니다.
- FPGA/ASIC 23개의 글 Verilog RTL, simulation, synthesis, timing처럼 FPGA/ASIC 작업에서 다시 확인하는 내용을 정리합니다.
- Tech 2개의 글 임베디드, 네트워크, lwIP, 시스템 구현 이슈를 다룹니다.
- Dev 20개의 글 Hugo, Jekyll, Astro와 GitHub Pages로 무료 기술블로그를 구축하고 AdSense까지 운영한 경험을 정리합니다.
- Tools 10개의 글 tools.devbj.com에 추가한 브라우저 기반 개발 도구와 사용법을 정리합니다.
Featured
현재 기준으로 먼저 읽어볼 만한 글을 따로 올려둡니다.
-
DoIP 프로토콜 구조 뜯어보기, 헤더와 필드는 어떻게 생겼나
DoIP 패킷을 읽기 위한 header, protocol version, payload type, payload length의 기본 구조를 차근차근 정리합니다.
-
DoIP 개론, CAN 진단 보다가 처음 보면 헷갈리는 포인트 정리
CAN 기반 진단에 익숙한 사람이 DoIP를 처음 볼 때 헷갈리는 큰 그림을 정리한다. DoIP가 왜 나왔고, UDS와 어떤 관계인지, Vehicle Identification부터 Routing Activation까지 기본 흐름을 가볍게 훑는다.
Latest Updates
날짜순으로 최근 추가한 글입니다. 새로 배운 내용과 보강 중인 주제가 섞여 있습니다.
- FPGA/ASICUpdated:
Emacs Verilog mode AUTO_TEMPLATE로 입력 tie-off하기
Verilog mode AUTO_TEMPLATE에서 SystemVerilog '0로 입력을 tie-off하고 미사용 출력은 구분된 net에 연결합니다.
- FPGA/ASICUpdated:
Verilog와 SystemVerilog filelist를 find로 만드는 방법
find로 HDL 파일을 모아 정렬하고, shell 옵션으로 선택한 filelist를 도구에 전달하는 기본 패턴입니다.
- FPGA/ASICUpdated:
SystemVerilog에서 rising edge를 한 clock pulse로 만들기
동기화된 level 신호의 이전 값을 저장해 rising edge에 한 cycle 동안 유지되는 pulse를 만드는 방법입니다.
- FPGA/ASICUpdated:
Tcl 명령을 여러 줄로 나눠 작성하는 방법
Tcl에서 백슬래시 줄 연결과 중괄호로 묶은 script body의 차이를 구분해 여러 줄 명령을 작성합니다.
- FPGA/ASICUpdated:
Tcl 리스트에서 여러 값을 안전하게 제외하는 방법
제외할 값 목록을 순회하며 원본 Tcl 리스트의 일치 항목을 빼고 나머지 순서와 중복을 유지합니다.
- FPGA/ASICUpdated:
비동기 reset은 왜 해제할 때 동기화해야 할까
비동기 reset은 즉시 assert하고 각 clock domain에서 deassert를 동기화해 reset recovery/removal 문제를 줄입니다.
오늘의 로그
오늘 마주한 문제를 내일 다시 찾기 좋게 남깁니다
이 블로그는 완성된 강의보다 작업 기록에 가깝습니다. 구현 중 막힌 부분, 배포하면서 느려진 지점, 자동화가 엇나간 이유를 실제 운영 흐름과 함께 정리합니다.
- 직접 겪은 문제 로그, 빌드, 패킷, 배포처럼 손에 잡히는 증상에서 출발합니다.
- 흐름으로 묶는 글 DoIP, lwIP, Dev 글은 카테고리 목차로 이어서 읽을 수 있게 관리합니다.
- 계속 보강하는 운영 새 프로젝트와 문제 해결 경험이 쌓일 때마다 글과 이력을 함께 보강합니다.