일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- Mobilgen
- CAN stack
- UDS
- 정적할당
- UDS프로토콜
- MCU
- ecu
- AUTOSA
- AutoSar설계
- softwareComponent
- Com Stack
- 싱글링크드리스트
- C++
- COM모듈
- Classic AUTOSAR
- 진료순서정하기
- AUTOSAR
- 순수가상함수
- Can
- diag
- VFB
- Com 스택
- RTE
- Can 스택
- AUTOSAR CAN통신
- 배열
- C
- 단방향링크드리스트
- Application Layer
- C언어
- Today
- Total
목록전체 글 (18)
이현구의 공부방
UDS (Unified Diagnostic Services) 프로토콜은 자동차 진단을 위한 통신 프로토콜입니다. 이 프로토콜은 ISO 14229 표준으로 정의되어 있습니다. UDS는 CAN과 KWP2000에서 파생 & 확장된 프로토콜로 모든 자동차 제조사가 진단 규격으로 사용하는 프로토콜입니다. 기본적으로 차량에 이상을 발견하고 그 에러를 수정하는데 사용되는 프로토콜입니다. 다양한 ECU를 지원하고 특정 국가 및 제조사에 의존적이지 않으며 4개의 계층 모델 ( Physical, Data Link, Network, Application)을 기반으로 구성되어있습니다. AUTOSAR 표준에 따르면 UDS는 ECU의 reprogramming을 bootloader에 구현할 때 가장 적합한 프로토콜로 생각 할 수 ..
다형성은 객체지향 프로그래밍에서 중요한 개념중 하나이며, 코드의 재사용성을 높이고 유지보수를 용이하게 할 수 있는 개념입니다. 다시 말해, 같은 이름으로 선언된 함수나 연산자가 서로 다른 동작을 하도록 만드는 것을 의미합니다. 같은 이름으로 선언된 함수라고 하면 많이 접해본 '함수 오버로딩' 이 있습니다. 함수 오버로딩은 같은 이름의 함수를 여러개 정의하되, 매개변수의 타입과 개수, 순서등을 다르게 하여 함수 호출 시 알맞은 함수가 선택되어 호출되게하는 것입니다. 아래 예제를 보시면 vector_sort 함수명은 같지만 어떤 타입을 넘겨주는냐에 따라 호출되는 함수가 다릅니다. vector vector_sort(vector emergency) { vector vec(emergency); sort(vec.b..

Develelop Tool : Mobilgene Studio 개발 언어 : C 플랫폼 : Classic AUTOSAR 이미지 및 동영상 출처 : https://www.youtube.com/watch?v=uc1QseOsTSE 5. Composition를 ECU에 등록 하기 Runnable Mapping을 통해 Application Layer에서 작성한 Runnable을 BSW Layer의 Software Component에 매핑하여 실행 Mapping의 최상단 단위인 RootComposition에 CSWC를 추가한다. Build의 generate.py에서 제일 처음에 작업한 AUTOSAR 파일을 추가한다. 예) #Swcd_App 부분에 App_Rte(파일명)을 추가 상단 메뉴에서 Auto-wiz → Sys..
문제 설명 외과의사 머쓱이는 응급실에 온 환자의 응급도를 기준으로 진료 순서를 정하려고 합니다. 정수 배열 emergency가 매개변수로 주어질 때 응급도가 높은 순서대로 진료 순서를 정한 배열을 return하도록 solution 함수를 완성해주세요. 제한사항 중복된 원소는 없습니다. 1 ≤ emergency의 길이 ≤ 10 1 ≤ emergency의 원소 ≤ 100 입출력 예 emergency result [3, 76, 24] [3, 1, 2] [1, 2, 3, 4, 5, 6, 7] [7, 6, 5, 4, 3, 2, 1] [30, 10, 23, 6, 100] [2, 4, 3, 5, 1] 풀이 1. 전달된 값을 배열에 담아 내림차순으로 정렬 2. 기존 배열의 값과 내림차순된 배열의 값을 순차적으로 값을 ..

Develelop Tool : Mobilgene Studio 개발 언어 : C 플랫폼 : Classic AUTOSAR 이미지 및 동영상 출처 : https://www.youtube.com/watch?v=uc1QseOsTSE 1. 시스템 요구사항 파악하기 Application Layer 설계를 하기 위해서는 자동차 시스템에서 요구되는 기능들을 파악, 이를 통해 어떤 SWC들이 필요하며, 이들 간의 연결 구조를 파악 2. SWC 설계하기 시스템 요구사항을 파악한 후에는 각각의 기능에 맞게 SWC를 설계하고 이 때, 각각의 SWC는 인터페이스와 기능을 분리하여 설계 Port Interface Interface PORT Data Prototype Data Type Type If_SeatSwitch P_SeatS..
정수형 값이 홀수인지 짝수인지 구분하는 계산 방법 중 많은 사람이 나머지 값을 가지고 홀수 짝수를 구분 짓는 경우가 많다. string solution(int num) { string answer = ""; if (num % 2 == 1 || num % 2 == -1 ) { answer = "Odd"; } else { answer = "Even"; } return answer; } 하지만 비트의 첫번째 자릿수가 1인지 아닌지 확인으로도 홀수 짝수 구분이 가능합니다. #include #include using namespace std; string solution(int num) { string answer = ""; return num & 1 ? "Odd" : "Even"; // &은 비트연산의 AND ..
대개는 int형 배열 값들의 평균 구하는 부분에서 보통은 아래와 같은 코드로 반복문을 사용하여 배열의 값들을 합해준 뒤에 배열의 size만큼 나누어 평균을 구하게 된다. #include double solution(vector arr) { double answer = 0; int size = arr.size(); double sum = 0; for (int i = 0; i < size; i++) { sum += arr[i]; } answer = sum / size; return answer; } 하지만 accumlate를 쓰게 된다면 간단하게 배열의 합을 구할 수 있습니다. #include #include #include using namespace std; double solution(vector ar..
C++에서 String 문자열을 사용하기 위해선 아래 헤더를 포함시킨 후 진행 c 언어 : #include c++ : #include String을 Char 형 배열에 넣기 위해서는 strcpy (문자열 복사) 를 사용함. #include #include int main() { char charArray[80]; string str; int lenth = 0; cin >> str; // 문자열 입력 // 문자열을 char형 배열에 넣기 strcpy(charArray, str.c_str()); lenth = strlen(charArray); // c_str()을 사용하여 String을 char형으로 변환하여 복사 for (int i = 0; i < lenth; i++) { cout