Embedded System Study 8

CI/CD란 무엇인가?

출처 : https://www.youtube.com/watch?v=0Emq5FypiMMCI/CD어플리케이션 개발 단계부터 배포까지 자동화를 통해 더 효율적으로 사용자에게 빈번히 배포CI : Continuous Integration 지속적인 통합CD : Continuous Delivery/Deployment 지속적인 제공, 지속적인 배포CI 버그 수정이나 새로운 기능들이 메인 Repository에 주기적으로 Build되고 Test되어 Merge되는 것을 의미(1) 코드 변경사항을 주기적으로 빈번하게 머지해야 한다.- 어떻게 기능들은 작은 단위로 나뉘어, 최대한 작은 단위로 나누어 개발하고 통합(2) 통합을 위한 단계(빌드, 테스트, 머지)의 자동화- 머지된 변경된 코드 변경 사항이 빌드가 성공적으로 되었는..

메모리와 CPU 동작

책 범위 : 15) Memory의 선정과 XIP ~ 18)일반적인 CPU 동작 예(CORE)와 Pipe Linememory 선정과 xip 임베디드 시스템에서 메모리 선정은 기본적인 시스템 구성과 성능에 가장 큰 영향력을 행사메모리 종류 선정을 어떻게 했느냐에 따라 memory map을 어떻게 구성할 것인지 디자인 가이드가 달라진다. 메모리는 크게 RAM(휘발성)과 ROM(비휘발성)으로 나뉜다. 예전에는 RAM에는 데이터가, ROM에는 Code가 들어가는 것이 통상적인 예 XIP(execute in place)= XIP는 메모리 상에서 직접 프로그램/코드를 실행할 수 있는 기술= Word 단위의 Access가 가능하여, SW를 Execution 할 수 있는 것을 XIP기본조건으로는 Random Acces..

3. Software의 정체와 만들기

Little Endian과 Big Endian 모든 프로세서는 Little Endian 또는 Big Endian 중 하나를 사용한다.프로세서가 memory에 저장하는 방식을 의미하는데, 저장방식이 다른 것. dword 0x12345678, word 0x1234, byte 0x12를 0x1000번지에 저장하는 방식번지 하나에는 1byte가 들어간다. (dword는 4byte, word는 2byte, byte는 8bit) 0x1000 번지0x1001 번지 0x1002 번지0x1003 번지Big Endiandword0x120x340x560x78word0x120x34 byte0x12 Little Endiandword0x780x560x340x12word0x340x12 byte0x12 쉽게 말해서, ..

Highside, Lowside Switch와 Floating 상태의 Pull 저항

Transistor = Trasnfer + Resistor의 3가지 종류 중 MOSFET을 살펴보자. MOSFET은 3단자 소자로 Drain과 Source는 큰 전류가 흐르는 채널을 형성한다.가운데의 Gate가 Drain과 Source 간 채널에 흐르는 전류랑을 제어하는 단자 역할을 한다.Gate에 인가하는 전압에 의해 드레인과 소스 간의 저항 값이 바뀐다.* MOSFET은 Gate에 인가되는 전압(Votlage Drive 방식)에 의해 제어된다.위의 그림에서, 부하가 Vcc와 MOSFET 사이에 있는 Low Side Switch는 상관 없으나, 부하가 MOSFET과 GND 사이에 있는 High Side Switch는 스위치를 제어하기 위한 Vg 전압을 Vth 보다 높게 주어야 하기에 우리가 걸어주는 V..

E2E Protocol 개념

E2E 프로토콜이란? 메시지 전송 중 에러가 발생할 경우, 이를 감지하는 메커니즘을 정의한 프로토콜 데이터 전달 과정에서 발생할 수 있는 문제들 - 데이터 내용 변경 (Corrupt) - 데이터 전달 누락 (Loss) - 데이터 전달 순서 오류 (Incorrect sequence) - 동일한 메시지 반복 전송 (Repetition) - 인증되지 않은 송신자가 메시지 송신 (Masquerading) E2E 프로파일 개념 - E2E 프로토콜에는 다양한 프로파일이 존재하며, 반드시 사용해야 하는 것은 아니다. - 만약 E2E 프로토콜을 사용해야 한다면, 네트워크에 참여하는 제어기는 모두 동일한 E2E Profile을 사용 - OEM은 어떤 E2E 프로파일을 사용할 것인지 정해주면 된다.  - CRC 대신 Ch..

펌웨어 기본 개념 공부

펌웨어 (Firemware)복잡한 하드웨어를 간단하게 할 목적의 하드웨어와 소프트웨어의 중간 ▶︎ 펌웨어 프로그래밍void main (void){  초기화( ):  ,,,  while() {  // 펌웨어 일정 부분 연속으로 도는 While 문 안에 있음    ,,,  // 이 while 문 안에 수행해야 할 프로그램을 넣음    ,,,  }}부트로더MCU 레벨의 펌웨어에서 사용되는 부트로더 기준 부트코드가 필요 없는 MCU는 FLASH 메모리에서 바로 실행 가능 부팅시 처음 실행되면서 아래 기능을 수행하는 펌웨어의 한 종류- Boot 기능 : 펌웨어 실행하기 위한 최소한의 초기화, 부팅 디바이스 선택- Loader 기능 : 펌웨어를 실행할 메모리에 Load, 펌웨어를 실행- Update 기능 : 펌웨어..

[HMG Developer Conference] 모뎀기반 고성능 제어기 속 OTA 개발

출처 : https://www.youtube.com/watch?v=CeR6zv0dGu0차량 OTA 시스템- OTA : Over the Air 롬패키지를 무선 전송하여 차량을 업데이트 할 수 있는 시스템- 롬 패키지 : 롬 데이터 + config 파일  ㄴ 롬 데이터 : 업데이트 할 flash image 파일  ㄴ config 파일 : 해당 수행 제어기 업데이트 절차 및 SW 버전 정보 등 차량 OTA 시스템 Flow출처 : ES98765 - 01 (HKMC 스펙, 제어기OTA 시스템 요구사양서 내 시스템 목적)[부품사] 업데이트 용 롬패키지 제작 후 [완성차] OTA서버에 등록 → 이 롬패키지 생성은 GIT사 제공 H-OTA 프로그램 사용[OTA관리 제어기] CCU가 차량 상태에 따라 롬패키지 다운 + ..