ISO 26262와 ASIL 등급 핵심 정리

자동차 소프트웨어 개발의 필수, ISO 26262와 ASIL 등급을 완벽하게 이해해 보자. 기능 안전의 개념부터 ASIL 등급 산정 방법까지, 초보 개발자의 시선에서 쉽게 풀어보자. 1. 자동차가 달리는 컴퓨터가 된 이유 (ISO 26262의 등장) 자동차 업계에 발을 들이거나 임베디드 소프트웨어를 공부하다 보면,…

자동차 소프트웨어 개발의 필수, ISO 26262와 ASIL 등급을 완벽하게 이해해 보자. 기능 안전의 개념부터 ASIL 등급 산정 방법까지, 초보 개발자의 시선에서 쉽게 풀어보자. 1. 자동차가 달리는 컴퓨터가 된 이유 (ISO 26262의 등장) 자동차 업계에 발을 들이거나 임베디드 소프트웨어를 공부하다 보면,…

혹시 “내 스마트폰은 어떻게 새로운 기능이 생기고, 왜 밤새 저절로 업데이트 될까?” 궁금했던 적이 있을 것이다. 오늘은 여러분의 궁금증을 풀어줄, 스마트폰 속 숨겨진 영웅들, ‘부트로더’와 ‘OTA’에 대해 쉽고 재미있게 이야기해 보자. 부트로더란 무엇인가? OS 실행 전 부트로더 전원 버튼을 누르면…

임베디드 개발 시 어떤 Arm Cortex-M 코어를 선택해야 할지 고민 될 수 있다. M0, M3, M4 등 다양한 M 시리즈의 특징을 비교하고, 특히 M0와 M3의 핵심 차이점을 명확히 분석해 본다. 이 글을 통해 각 코어의 장단점을 파악하여 프로젝트에 가장 적합한…

안드로이드 기기를 좀 더 자유롭게 사용하기 위해 부트로더(Bootloader) 언락이나 커스텀 롬 설치를 시도해 본 경험이 있을까? 안드로이드 개발자라면 개발 롬을 설치해야 하므로, 한 번쯤은 모두 설치 경험을 갖고 있을 것이다. ADB 명령어를 이용하여 설치하는데, 잘 동작하다가 ‘adb reboot bootloader’ 명령어로…

가속도 센서 하나만으로 방향을 계산할 수 있을까? 최근 프로젝트로 가속도계를 사용하게 되었는데 요구사항이 많아서, 가속도계의 기본 원리부터 여러가지를 공부하였다. 또한 정확한 방향 계산을 위해 왜 다른 센서들이 필요한지도 알게 되었다. 이 글에서는 Pitch, Roll, Yaw라는 방향의 3요소를 이해하고, 가속도 센서와…

자바 이클립스 (Java eclipse) 프로그램 실행 중에 ‘Periodic workspace save.’ has encountered a problem. 에러가 발생하는 경우가 있다. 그냥 놔둬도 될 것 같긴 하다. 하지만, 가끔 팝업창이 뜨는 것이 여간 성가신 것이 아니다. 주기적으로 저장공간(workspace)에 뭔가를 저장해야 하는데, 저장할 때…

디지털 장치들을 디버깅할 때 많이 사용하는 JTAG(Joint Test Action Group)과 SWD(Serial Wire Debug)에 대해서 알아보자. MCU나 CPU의 장치를 디버깅할 때 많이 사용한다. 이러한 JTAG이나 SWD에 연결하여 디버깅을 하기 위해서는 Debugger 또는 Emulator가 필요하다. JTAG과 SWD는 디바이스 장치의 디버깅용 인터페이스 이다.…

Linux에서 CAN driver를 사용할 일이 생겨서, CAN driver관련 문서를 공부하고 있다. 그 중, 리눅스 커널의 can 설명 파일을 보면서, 정리 차원에서 여기에 다시 작성해 보았다. 이 글은 다음의 리눅스 커널 CAN 네트워크 문서 내용이다. 전체 내용은 8장까지 있으며, 내용은…

리눅스 커널을 오랜만에 살펴보려니 디바이스 트리(DeviceTree)가 은근히 헷갈린다. 그래서 혼자 공부할 겸, pinctrl 문서를 변역하면서 살펴 보았다. pinctrl을 사용해서 kernel driver 초기화 시에 사용할 pin들을 제어해 보자. 참고문서 : pinctrl은 linux kernel device tree에서 gpio pin을 구성하기 위해 사용한다.…

regmap의 특정 비트를 업데이트하기 위해서 regmap_update_bits 함수를 사용한다. regmap_update_bits 함수를 살펴보면, 파라미터로 받는 reg 변수의 mask에 해당하는 영역에 val 변수값을 업데이트한다. val 변수값은 FIELD_PREP 매크로를 통해서 비트 영역에 맞는 값을 할당할 수 있다. include 예를 들어 값이 3인데 4~5번…