Automotive Software

오토사 BSW - 메모리 서비스 본문

클래식 오토사 (Classic AUTOSAR)

오토사 BSW - 메모리 서비스

AutoSW 2020. 10. 2. 00:32
오토사 BSW - 메모리 서비스

메모리 서비스 동작 예시, 예시에서 나타낸 애플리케이션 뿐만 아니라 베이직 소프트웨어 모듈도 동일한 인터페이스를 사용하여 메모리 서비스를 이용한다.

오토사 서비스 중 제어기 개발 시에 가장 일반적으로 사용되는 베이직 소프트웨어의 주요 서비스 세 가지를 꼽으라면, 통신 서비스, 통신을 기반으로 한 진단 서비스 그리고 오늘 포스팅할 메모리 서비스라 할 수 있다. 메모리 서비스는 주로 제어기 하드웨어상에 구현된 휘발성/비휘발성 메모리(RAM/Flash Memory)를 접근하여 전원 인가시 또는 비인가시 중요한 데이터를 메모리 상에 보관할 수 있는 서비스를 제공해준다.

메모리 서비스는 애플리케이션 또는 베이적 소프트웨어 모듈에 메모리 관련 서비스 (읽기, 쓰기 또는 확인) 를 제공하는 매니저 모듈 (NvRAM Manager)과 물리적인 메모리 장치를 추상화하는 모듈(FlashEEPROMEmulation, EEPROMAbstraction) 그리고 디바이스 드라이버와 같이 메모리 장치를 제어하는 모듈(FlashDriver, EEPROMDriver)로 구현된다. 그중 추상화 모듈의 경우, 내/외부 메모리 장치 특성 및 제조사별 차이에 구애받지 않고 동일한 인터페이스를 상위 모듈에 제공함으로써 일관된 서비스를 제공할 수 있도록 설계되어 있다.

오토사에서 애플리케이션 또는 베이직 소프트웨어 모듈이 접근할 수 있는 최소 단위인 기본 저장 객체(Basic Storage Object)는 크게 3개의 블록으로 구성되는데, 첫 번째는 램블록(RAM Block)으로 이름과 같이 램상에 위치하여 사용자의 최신 데이터 값을 보관한다. 두 번째는 롬블록(ROM Block)으로 비휘발성 메모리인 롬상에 위치하여 램블록의 초기화 값을 제공한다.(보통 const로 구현된다.) 그리고 마지막으로 NV블록(NV Block)은 롬상에 위치하여 램블록의 최신 데이터를 프로그램 실행 중 저장할 때 사용된다. 애플리케이션은 최신의 데이터 값을 늘 램블록을 통해서 전달받게 되는데, 이 최신 값은 시스템 초기화 시 NV블록을 통해 갱신되고, NV블록이 유효하지 않을 시, 롬블록을 통해 초기화 값이 기록된다.

기본 저장 객체 구성 예시, NvM 에서는 하나의 Nv객체를 관리하기위해 세 블록의 주소값을 테이블상에 기록하여 접근한다.

실제 메모리 서비스의 경우 다른 베이직 소프트웨어 서비스와 연동하여 동작하기도 하는데, 주로 진단 서비스와 연동하여 메모리에 저장된 데이터를 진단 모듈에 전달하거나 요청 시 데이터를 특정 NV 블록에 기록하기도 한다.

http://autosw.tistory.com/notice/11

 

오토사 클래식 기초

클래식 오토사 기초 포스트 합니다. 포스트 내용은 수시로 업데이트하므로 내용이 변경될 수 있습니다. 오토사 구조 계층 관점 기능 관점 오토사 BSW (AUTOSAR Basic Software) 시스템 서비스 (System Servic

autosw.tistory.com