목록분류 전체보기 (102)
Automotive Software
멤버함수 기본값 선언 비클래스 함수의 기본값 선언 방식과 같은 법칙 적용 아래와 같이 함수 선언 시 기본값 선언, 예, bool takeInitVal = false; 선언된 또는 전달된 기본값을 토대로 전달받은 값을 사용할지 생성자에 의해 할당된 초기값을 사용할지 결정하도록 구현할 수 있음 class cMyClass { public: cMyClass(int initMemVar1, int initMemVar2); ~cMyClass(){} void memFunc(int inVal1, int inVal2, bool takeInitVal = false); private: int memVar1; int memVar2; }; cMyClass::cMyClass(int initMemVar1, int initMemVar..
아래의 절차에 따라 우선 디버그 설정이 필요 Run -> Debug Configuration C/C++ Application -> Right click -> New Configuration Project : search for your project in the file system 파일 시스템 상에 위치한 프로젝트 폴더 명시 C/C++ Application : search for the binary file which is compiled and linked already and will be debugged 파일 시스템 상에 위치한 디버깅 대상 실행 이미지 명시 Apply -> Debug 상기 절차를 수행하고 나면 아래와 같이 디버그 모드창에서 해당 설정을 선택 가능 Lunch the Debug mo..
감사하게도 이클립스 2020-12R 버전부터 라즈베리파이 4의 하드웨어 플랫폼(AArch64)을 정식 지원하는 패키지가 배포되고 있다. 간단하게 아래 링크에서 다운로드하고 압축을 푼 다음 압축 폴더 내에서 이클립스를 실행하면 된다. 예전과 같이 자바 런타임을 다운 그레이드 하는 등의 수고로움을 덜 수 있게 되었다. 단, 라즈베리파이 4의 운영체제는 64비트를 지원하는 우분투 기반의 메이트(Mate)를 설치하여야 한다. www.eclipse.org/downloads/packages/release/2020-12/r/eclipse-ide-cc-developers Eclipse IDE for C/C++ Developers | Eclipse Packages Package Description An IDE for ..
변수 및 클래스 등 선언 시 사용된 이름 대신 해당 타깃에 접근할 수 있는 하나의 별칭이자 동의어 선언 방법 타겟의_형 참조_연산자(&) 참조자의_이름 선언 후 반드시 초기화, 미 초기화 시 컴파일러 오류 보고 int myInteger; int & rMyInteger = myInteger; cMyClass myClass; cMyClass & rMyClass = myClass; 타겟의 주소 == 참조자의 주소 &myClass == &rMyClass C++에서는 참조자의 주소 접근방법을 별도로 명시하지 않음 참조자의 초기화 눌(NULL) 초기화 허용 안됨 ; 항상 어떤 타깃을 가리켜야 함 ;애기치 못한 동작 발생 초기화 시 한번 타깃을 가리키면 다른 타깃을 가리킬 수 없음 동적 메모리상 : NULL 초기화가..
차량 부품의 전장화와 더불어 중요시되는 부분이 바로 해당 부품의 진단 기능인데, 이는 아래의 두 가지 기능으로 크게 나누어 볼 수 있다. 내부 고장진단 및 대응 : HW/SW의 결함을 자체적으로 분석하고 발견 시 해당 정보를 진단 장애 코드(DTC : Diagnostic Trouble Code)로 기록 진단 정보 전송 : 기록된 진단 장애 코드 정보를 테스터의 요청에 따라 전달 오토사에서는 이러한 기능을 지원하기 위해 다양한 모듈을 기술하고 있는데, 주요 모듈을 나타내면 다음과 같다. 내부 고장진단 및 대응 내부 고장진단 : 오토사에서는 결함을 진단 이벤트 (Diagnostic events)로 명칭하고 아래의 이벤트를 진단함 BSW 관련 이벤트 BSW 내에서 보고된 결함으로 SWC 관련 이벤트의 결함 여..
쓰레드도 프로세스와 같이 스케줄링 정책 및 우선순위를 적용하여 스케줄링을 제어할 수 있다. 쓰레드 생성 시 별도로 해당 속성을 설정해 주지 않으면 시스템에서 정의한 방식에 따라 쓰레드의 스케줄링을 처리하게 된다. 예, QNX의 경우, 기본적으로 부모 쓰레드의 스케줄링 정책 및 우선순위를 상속받아 생성된다. 스케줄링 방식을 정의할 때 중요한 것은 스케줄링 정책 SCHED_FIFO : First In First Out, 먼저 준비가 된 (Ready Queue에 등록된) 쓰레드를 실행 후 종료 시까지(또는 상위 우선순위를 가진 쓰레드가 준비되기 까지) CPU 점유 SCHED_RR : Round Robin, 운영체제에서 정의된 시할당량(Time slice, 예, QNX 4ms)만큼 실행 후 같은 우선순위의 쓰레..