
UDS 진단통신을 통한 SW 업데이트(SW ReProgramming)
₩38,500
3일만
30%
₩26,950
초급 / uds, CAN
5.0
(3)
진단통신을 사용하여 자동차에 설치된 SW를 업데이트하는 과정을 상세하게 소개합니다
초급
uds, CAN
안녕하세요 저는 자동차업계에서 MCU SW 개발 업무를 하고 있습니다.
학교 다니던 시절 임베디드 쪽에는 전혀 관심이 없었는데 회사에서 MCU SW 업무를 맡게되면서
많은 어려움을 겪었습니다.
무엇을 하나 새로 배울 때마다 근데 이게 왜 이렇게 되지? 어떻게 이렇게 되지? 궁금함이 꼬리에 꼬리를 물었고 그런 부분들을 하나하나 찾아가며 궁금증을 해결하였습니다. 그런식으로 혼자 배우다보니 지금은 오히려 다른 사람들보다 훨씬 제 직무에 대해서 잘 알고 있다고 자부합니다.
신입사원 때 고생하던 과거의 저 자신에게 알려준다는 마음으로 강의합니다.
UDS 진단통신을 통한 SW 업데이트(SW ReProgramming)
₩38,500
3일만
30%
₩26,950
초급 / uds, CAN
5.0
(3)
진단통신을 사용하여 자동차에 설치된 SW를 업데이트하는 과정을 상세하게 소개합니다
초급
uds, CAN
[AUTOSAR] 신입사원에게 들려주는 AUTOSAR기초 개념 완성
₩69,300
3일만
30%
₩48,510
입문 / autosar, 임베디드, microcontroller, MCU
5.0
(8)
AUTOSAR 기반 차량SW 개발을 위해 알아야 할 핵심 기초 지식을 "입문자도 이해할 수 있게" 왕초보 개념부터 아주 자세한 내용까지 설명합니다
입문
autosar, 임베디드, microcontroller
신입사원에게 들려주는 - MCU SW 직무 기초 개념완성
₩39,600
3일만
30%
₩27,720
초급 / MCU
5.0
(32)
임베디드 MCU SW 신입 개발자가 업무 시작 전 꼭 알아야 할 MCU 관련 기초 개념 완성
초급
MCU
실무자가 알려주는 CANoe - CAPL과 Panel 기본 사용법
₩67,100
3일만
30%
₩46,970
초급 / CANoe, capl, CAN
4.9
(26)
자동차 회사에서 널리 사용되는 툴, Vector社의 CANoe. CAPL과 Panel을 활용하여 업무에 보다 효율적으로 사용해봅시다.
초급
CANoe, capl, CAN
실무자가 알려주는 CANoe (For CAN 통신)
₩59,400
3일만
30%
₩41,580
초급 / CAN, CANoe
5.0
(55)
자동차 회사에서 널리 사용되는 툴, Vector社의 CANoe 사용 방법을 알아봅니다. 단순 ‘툴 소개 강의’가 아니라 강의를 듣고 신입사원이 곧 바로 실무에 활용할 수 있게 하는 강의입니다.
초급
CAN, CANoe
CAN 통신 - 자동차 신입이 알아야 할 모든 것
₩62,150
3일만
30%
₩43,500
입문 / CAN, uds
4.9
(137)
CAN통신에 대한 '학술적인' 강의가 아니라 '같이 일하게 될' 신입사원에게 알려준다는 생각으로 일을 하는 과정에서 필요한 모든 얘기들을 담았습니다.
입문
CAN, uds
질문&답변
차종마다 다른 DBC파일을 써야하나요?
안녕하세요. 차량의 네트워크 컨셉을 정하는 것은 차량 제조사가 하기 때문에, 제가 답변 드릴 수 있는 범위의 질문이 아닙니다ㅠㅠ 차종이 다르더라도 해당 네트워크에서 사용하는 캔 메세지,시그널 등의 정보가 모두 동일하다면 써도 문제없겠지만. 차종에 따라 어떤 정보가 달라졌을지 알 수 없으니.. 답변이 불가합니다. 실제 네트워크 구성은 달라졌는데 동일한 dbc를 임포트해서 쓴다면 메세지를 이상하게 해석하게 될겁니다.. 그래서 일반적인 경우를 말하자면 차종마다 별도로 dbc를 관리해야하고 차종에 맞게 사용해야합니다.
질문&답변
외부 툴 연동을 위한 Socket 통신 구현 방법
위 답변은 AI의 자동답변인데, 제 강의에서 외부툴과 Canoe 연동하는 부분은 다루지 않습니다. 사실 일을 하면서 디버거, 파워서플라이 등 외부 툴과 CANOE를 연동해서 사용하고 싶은 욕심이 저도 있는데.CAPL을 통해서 그게 가능한데 방법을 제가 모르는건지. 애초에 불가능한건지 저도 사실 모르겠습니다. 한가지 대안은 파이썬을 사용해서 Canoe를 컨트롤 할 수 있습니다. 그래서 다른 외부툴과 캐노동작을 연동시키려면 파이썬을 활용하는게 좋지않을까싶습니다..
질문&답변
SW Update관련 질문사항
안녕하세요! 답변 드리겠습니다 학술적으로 마이컴과 MCU가 100% 정확하게 같은 용어인지는 제가 장담은 못하겠는데, 제가 아는 지식으로는 사실 같은 의미로 사용하고 있습니다. hex파일과 s19 파일 모두 mcu sw를 빌드했을 때 만들어지는 결과물로, mcu flash에 다운로드 해야 할 코드를 hex 형태로 표현하는 파일의 일종이고 거의 같은 내용을 담고 있습니다.(주소 정보 + hex 형태의 코드)근데 같은 내용을 표현하는 양식(?)이 달라서 notepad++ 등으로 확인해보면작성된 포맷이 좀 다르긴한데.. 결론적으로는 둘다 address 정보 + hex파일 형태의 코드를 담고 있는 같은 용도의 파일 + 그러나 작성하는 포맷이 다른 것 이라고 생각하면 될거 같습니다.실무적으로는 사용하는 MCU에 따라서 주로 쓰는 컴파일러가 있을텐데, 해당 컴파일러 디폴트 옵션에서 해당 mcu에 맞게 s19 또는 hex를 만들어 줄겁니다.그리고 제가 알기로 가장 큰 차이는 s19 형태를 사용하는 mcu는 동작할 때 메모리 주소를 big endian 형태로 해석하고, hex 형태를 사용하는 mcu는 메모리 주소를 little endian 형태로 해석합니다.OTA 과정도 그렇지만 진단 통신을 통한 SW 다운로드 시퀀스 자체가 OEM이 각각의 차종 마다 각자 정해서 사용하는 것이라, ecu reset이 시퀀스에 포함된다 or안된다 라고 잘라서 답을 하기가 힘든데요. 제 경험으로만 얘기하면 주행 중 OTA로 SW 다운로드할 때 다운로드 다 끝나고 나서 ecu reset을 곧바로 하는 경우는 없었습니다. 말씀하신 것처럼 차량이 실제로 주행 중인 상황인데 ecu reset을 해버리면 그게 어떤 영향을 미칠지 모르니까요. SWAP도 마찬가지입니다. 제어기가 현재 동작하고있는데 실시간으로 새로운 버전으로 swap 되버리면 그게 어떤 영향을 미칠지 가늠이 안되고 위험합니다.그래서 보통 주행 중에 OTA로 SW를 다운로드 하게 되면, 반대편 Bank에 다운로드까지만 해놓고, 일단은 기존에 사용 중이던 SW가 계속 동작합니다.그러다가 운전자가 시동을 끄면 , 그 이후에 SWAP을 하는 식으로 시퀀스를 구성합니다.OTA를 통한 sw update의 정확한 시퀀스는 차량마다 다 제각각이라서 글로 짧게 설명하기가 어렵네요.. 네비게이션에 알람 떴을때 운전자가 어떤 버튼을 선택했는지 + 다운로드가 아직 안끝났는데 시동을 꺼버리는 경우 등등.. 여러가지 시나리오를 고려해서 진단 시퀀스를 만듭니다.그래서 OTA를 통한 SW Update의 정확한 시퀀스는 업무하실때 oem이 제시하는 정확한 스펙을 확인해보셔야 합니다. 제 강의에서는 a/b bank라는 기능의 개요를 소개하는 정도가 목적이었습니다. 제안 감사합니다. 다음 강의는 고민이 많습니다.. 떠오르는 여러가지 주제가 있는데 막상 강의를 만들려고 하다 보니 강의에서 다뤄야 할 기술 수준, 범위를 정하기가 어렵네요.제 업무에 직접적으로 필요한 지식은 알고있지만 해당 주제로 강의를 만들기에는 저도 모르는 내용이 많은 부분들이 많다보니.. 그런 내용들까지 추가로 공부하고 정리해서 강의를 만들자니 어렵고.그렇다고 그런 내용들을 다 빼버리자니 수준이 너무 낮아지는거 아닌가 싶고..그래서 어떻게 될지 모르겠습니다 ㅜㅜ
질문&답변
Control DTC Setting
2번 질문은 저도 생각해보지않은 이슈인데 좀 알아봐야겠습니다.. 솔직히 모르겠네요..
질문&답변
Control DTC Setting
안녕하세요 질문 주신 내용은 제가 대강의 예시를 든 것이고 구체적이고 정확한 예시가 아니긴 한데요. 제가 표현을 애매하게 한 거 같습니다. 예시의 상황에서는 "엔진 제어기가 캔 메세지를 보내지 않는다"라는 dtc가 뜰텐데요. 근데 dtc 기록은 제어기마다 각자 하는거니까 이 기록이 자율 주행제어기에 기록될 것입니다. 제가 "자율 주행제어기에서 고장이 발생했었다"라고 얘기한건 자율 주행제어기가 고장 났다는 의미가 아니라, 엔진제어기 통신 관련 dtc가 자율주행제어기에 기록돼있다는 의미로 설명한거였습니다. 근데 아래와 같이 말씀하셨는데 이것도 충분히 가능한 시나리오입니다. "자율주행 제어기에서 엔진 제어기로부터 신호를 받지 못해서, 이에 따라 본인의 동작을 하지 못한 부분에 대한 DTC로써 자율주행 제어기에서 고장이 발생했다"이 부분은 자율주행제어기 sw 개발자가 고장감지하는 로직을 어떻게 구현했냐에 따라 달라질겁니다
질문&답변
MCU의 온도 관련 데이터 저장 영역?
안녕하세요.1. 온도 측정 기능 자체를 표준화하는 오토사 bsw 모듈은 없기 때문에 이 부분은 유저가 적절히 구현을 해야될 거 같습니다. 이때 제어기에서 온도 센싱을 어떻게 하는지에 따라 사용되는 bsw 모듈이 달라질 것입니다.온도에 따른 저항의 크기변화를 활용하는 온도센서를 사용한다면 오토사 adc모듈을 활용하여 전압측정을 해서 온도를 측정할것이고. 온도를 측정해서 Spi통신, uart통신, can통신 등으로 센싱값을 mcu에게 전송해주는 환경이라면 bsw의 spi모듈,uart모듈,can모듈 등을 사용하게 될겁니다. 2.초기 온도값의 의미를 이해하지 못했습니다. Mcu가 wakeup 했을때 지정된 초기값이라고 하셨는데, 초기에 측정된 값을 의미하는 건가요? 이 값이 어디에 활용되는지 용도를 모르겠는데 제어기를 껐다가켜도 계속 유지되야하는 값이라면 오토사의 nvm 모듈 활용하여 nvm에 저장해둘 것이고 그게 아니라면 측정된 온도값을 그냥 특정 변수에 담아두면 되지않을까요?
질문&답변
NM & Default Session 관련 질문
맞습니다. 이 부분을 제가 설명을 빠뜨렸는데 실제로 진단기가 중간중간에 계속 3E 메세지를 보냅니다. 맞습니다. 사실 3E를 계속 보내고있었을테니 세션이 계속 유지가 됐을 것이고 그렇다면 굳이 끝에서 다시 extended session으로 바꿀 필요는 없습니다. 확실히하는 차원에서 넣은 것이기도 하고, 다운로드 진행한 제어기의 경우 마지막에 ecu reset을 하니까 세션이 혼자 디폴트세션일텐데 이 상태에서 펑셔널로 커뮤니케이션 컨트롤, dtc control 메세지 등을 날리면 네거티브답장이 올테니 그것을 막는 차원(?)이 아닐까하고 추측해봅니다.
질문&답변
NM & Default Session 관련 질문
안녕하세요~ 1.이해하신 내용이 맞습니다. 2.각 제어기가 켜지는 조건은 제어기마다 제 각각이라 천편일률적으로 얘기하긴 어려운데요. 몇가지 예시를 들면 제어기를 off 했을때, 해당 제어기에서 mcu를 off하지만 대신에 통신 트랜시버, 혹은 PMIC라고 불리는 mcu에게 전원을 공급하는 장치를 standby mode라는 모드로 유지합니다. Standy 모드에서는 전력을 매우 적게 사용하면서 외부의 신호만 감지하게 됩니다. 외부 신호의 예시는 특정 캔메세지, 혹은 사용자가 누르는 버튼으로부터 전달받는 전기적 신호 등이 있습니다. 이런 신호를 전달 받으면 standby 모드에서 깨어나면서 다시 mcu를 on해서 제어기가 켜지게 됩니다.
질문&답변
레지스터의 메모리 크기에 꼭 맞춰 포인터 자료형을 선택해야할까요?
네 이해하신 내용이 맞습니다.한 줄로 답변하려니 성의 없어보이는데.. 이해하신 내용이 맞아서 더 부연 설명할 게 없네요..^^;;
질문&답변
SW reprogramming 과정에서 질문
안녕하세요.1번 질문) 해당 부분(SW 다운로드 검증절차)는 표준에서 정확한 방법을 정의 한 건 아니라서OEM에서 사양으로 정할 부분입니다.그리고 OEM에서 사양이 정해지면, 부트로더를 그 사양에 맞게 구현하는 것입니다.그래서, 1번 질문에서 검증 결과 값을 메세지 파라미터로 보내는게 사양이라면,애초에 부트로더 SW 구현하는 사람이 그에 맞게 SW를 구현해야 하므로,Hex파일에 있는 모든 값을 인풋으로 판단하게 부트로더를 구현해야 할 것입니다.2번 질문)이것도 정답이 딱 정해져 있는게 아니라서 천편일률 적으로 답하기가 어렵습니다.2byte는 설명의 편의상 제가 예시를 든 것이고.. 4byte, 32byte를 쓰는 경우도 있구요.보안성을 강화하기 위해서 검증결과값 계산할때 암호키를 사용해서 암호화 하는 방식을 사용하기도 합니다.이 부분은 사양마다 워낙 다른 부분이라 일괄적으로 답을 드릴 수가 없고.. 대강의 과정만 제가 이해하기 쉽게 예시로 든 것입니다. ※ 1번 질문을 제가 제대로 이해하고 답변 드리는건지 모르겠네요.. 답변이 됐을까요??
존버매니아님의 소개 - 인프런