목록분류 전체보기 (39)
꿈이 현대자동차 RnD 연구소 직원인 자동차 관련 임베디드 개발자
poco는 네트워크 중심 프로그래밍을 지원하는 객체지향 언어이다. C언어에서 libcurl과 동등하지만, 그보다 더 많은 기능을 가진다. 이 라이브러리는 JAVA의 SPRING, JSP처럼 서버 프로그래밍을 하는데도 용이하고, 단순히 REST API 클라이언트를 만드는데도 사용할 수 있다.서버 프로그래밍이 용이한 이유는 동적 HTML(JSP, ASP 등) 작성 기능을 지원하고, MySQL, REDIS처럼 RDB, NoSQL 접속을 지원한다. 그 외에도 BASIC AUTH, JWT와 같은 BEARER TOKEN도 사용할 수 있다.클라이언트는 HTTP, FTP, ICMP(PING), DNS RESOLVE 등의 프로토콜을 클라이언트 측면에서 프로그래밍 할 수 있고, .ZIP 파일 다운로드 프로그램이나 PIN..
----- 초안본임을 밝힘 ------ (구성 계획만 적을 것이며, 일상을 지킬 수 있는 시간이 확보 된 조건 내에 여유시간이 될 때 이 글을 채워나갈 것임) 타원 곡선 암호화(ECC)를 설명하기 앞서, IEEE, SEC 등의 표준문서에 적힌 ECC 관련 내용을 이해하는데 중요한 역할을 하는 군 이론에 대해 설명할 것이다. * 가장 중요하게 강조되어야할 내용은 무엇인가? : ECC 관련 내용; (?) 군 이론은 무엇인가(설명) 군 이론은 어디에 사용되는가?군 이론은 대칭키와 비대칭키(공식 명칭은 Public-key cryptography이며, IEEE 1363, SEC 등에 기재됨)을 구별하지 않고 모두 사용됨. 예를 들어 AES는 내부 로직 중에 군 이론 중 하나인 치환 암호화 방식을 사용하고,..
V2X 통신에서는 ECC를 사용한 비대칭키를 여러개 생성하기 위해 버터플라이 매커니즘이라는 것을 사용한다. 이 매커니즘을 설명하고자 작성하는 시작점이다.V2X 통신보안에 적용되는 기술이며 IEEE 1609.2.1 문서에 기재가 되어있다.주 목적은 메세지를 발신한 송신자가 누구인지를 알 수 없게 하는 익명성(누가 보냈는지 모름)을 보장하기 위해서이다.송신시에 메세지와 함께 서명값을 보내게 되는데, (이 서명값을 생성하기 위해 사용되는) 비대칭키를 다른 것을 사용하면 동일한 메세지에 대해 다른 서명값이 만들어진다. 이는 서명값을 만드는데 사용되는 components 중에 비대칭키만 변경이 되었기 때문이기도 한다. 이 분야는 어렵고 힘들지만 내가 잘 아는 내용이기에, V2X통신 암호영역을 잘 설명할 수 있는..

하나의 ecu 운영체제에 존재하는 여러 디렉토리 중에 특정 디렉토리는 read-only 파일 시스템으로 사용한다.사용 예시 : remount 명령어가 불필요하거나 절대 변경되지 않아야하는 파일들을 담을 때 사용하는 케이스가 있을거같다.
read-only와 read and write available으로 디렉토리(하위 경로 포함)를 접근제한할 수 있게 하는 명령어다.사용 예시1. 코드블럭(하나만 하기)이 명령어는 이전에 적었던 plant mode 포스팅과 연관이 있다. 왜냐하면 read and write available 파일 시스템(예 : ext4)일지라도, 플래싱할 이미지가 read-only로 설정되어있다면 engineering mode로 변경하지 않는 이상 그 디렉토리들은 write 할 수 없기 때문이다.
PLANT MODE이 모드는 시중에 들어가는 녹색판떼기(pcb)에 적용된다.설정시에 쉘 커맨드가 먹히지도 않고, 시리얼 통신으로 로그도 제대로 안나온다. 즉, 설계된 동작만 하도록 만든다.(이 모드에서 DLT 로그는 정상적으로 나옴)ENGINEERING MODE시료(실제품 개발을 위해 만든 PCB)에서 SW개발 및 빌드한 결과물을 테스트 할 수 있게 하는 모드이다.PLANT MODE에서 ENGINEERING MODE로 변경하면, 쉘 커맨드나 로그 등이 정상적으로 동작된다. 그렇게 변경한 이 모드를 가지고 풀(full)빌드한 소스코드를 빌드후 이미지 플래싱하거나 부분(partial)빌드후 특정 데몬(서비스)나 .so파일을 교체해서, 만든 코드가 정상적인지 테스트 하는데 사용한다.이게 특정 자동차 제품사(o..
DM VERITY는 리눅스 시스템에서 파일을 변경하지 못하도록, 저장 메모리의 각 블록들을 해쉬값으로 만드는 기술이다.블록들의 해쉬값을 다시 트리로 만들어서 최종으로 최상위 ROOT NODE의 해쉬값을 생성한다.럭키와 금성이 만난 회사(가전은 ○○)에서 양산형 제품 개발에 참여하면서 알게 되었다.이 기술이 언제 쓰이나?내가 참여하고 있는 파트인 ◇◇◇ 데몬(서비스)를 에러 등의 이유로 소스코드 수정해야할때, dm verity를 disable 작업을 진행해야 새로 빌드된 .so파일이나 실행파일을 새로 교체할 수 있다. 한번 작업하면 이미지 플래싱을 새로 하기 전까지는 dm verity 작업을 안해도 disable된 상태로 유지된다.
bmw에서 만든 로깅 시스템이다.(구 genivi이자 현 covesa 단체에서 오픈소스로 사용할수있게 했다.)dlt를 리눅스 데몬으로 심고, 다른 데몬이나 실행 앱들은 info, warning, debug 단계별 로그를 printf 함수 대신 dlt 데몬으로 보내는 구조이다. 그리고 이 로그는 윈도우 운영체제에서 DLT VIEWER를 실행하여 로그를 보고, 문제점을 파악하여 소스코드를 수정한다.1초마다 프로그램에 출력(로그가 찍히는 시점의 시각인 timestamp와 무관)한다고 하며, 로그의 출처가 어떤 ecu에서 왔는지와 어떤 서비스/데몬에서 왔는지를 확인할 수 있다. 또한 로그 찾을때 그져.. 한줄기의 빛과 같은 정규식으로 검색도 가능하다.(다만.. 일부 로그가 가끔씩 생략되는 문제가 있긴 하다....
음.. 얘는 그냥.. 실제 사용하는 입장해서 껍데기만 보면 ubuntu, debian 등 리눅스이다.다만 bitbake 등 소스코드 디펜던시를 연결하고 빌드 결과물을 만들어내는데 연관이 있으며, 커널, 펌웨어, 리눅스 데몬 등을 만드는데 사용된다. 좀.. 복잡한 놈이다.나.. 이거.. 생존하려면.. 이제 슬슬 공부해야한다..지금까지는 git이나 repo 툴로 소스코드를 내려받은 것에 있는 걸 구경(?)만 했는데.. 경력자 대체 인력으로 팔려가버린 내 인생.. 업무 쳐내려면.. 해야한다.그것도 2월 되기 전까지..인거같다.. 아직 새로 배우고 있는 것 중 이해가 안되는 거, 걍 보고 머리에 박아놓아야하는 다른 것도 많은 나이다.. 최종적으로는 이 yocto라는 리눅스 빌드 툴으로 단말에 사용될 운영체..
헤더파일(#include), 라이브러리 파일(libXXX.so) 등 dependency를 설정하여 소스코드를 빌드하는 (CMake의 할머니 급의) 도구이다. 진짜 오래되었다..이걸.. 대기업에서 쓰고 있는데.. ide도 못 사용하고, 쓰기 어렵고 해서 구닥다리라고 생각했다. 아니, 짜증났다..하지만 오랜 세월동안 있던 것이라서 그만큼 안정적이니 쓰고 있다.'COBOL 언어 시대의 상사분'이 고객사로 출근하는 길에 스몰토크로 "여기는 구닥다리라도 안정화 된 것이 가장 우선이다. 설사 그게 불편해서 개선했다가 잘 안되면.. 수백명의 개발자는 농땡이를 부릴수밖에 없고, 기업입장에서는 사람에게 월급을 주는 돈을 쓰지도 못하고 날리는 짓이다"라고 했다.