일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- AWS
- it
- 자동매매
- 개발자
- 암호화폐
- python
- 확률
- 블록체인
- 백테스트
- AUTOSAR
- 오토사
- 토플 라이팅
- 비트코인
- Bitcoin
- Cloud
- 프로그래밍
- 토플
- GeorgiaTech
- toefl writing
- backtest
- 퀀트
- can
- backtrader
- probability
- 자동차sw
- 아마존 웹 서비스
- 파이썬
- TOEFL
- 클라우드
- 백트레이더
- Today
- Total
목록nvm (4)
Leo's Garage
최근에 NvM WriteAll 시에 Garbage Collection 상황에서 특정 Block이 저장되지 않는 이슈가 있었다. 이를 해결하기 위해 코드를 분석하던 중 알아낸 사실에 대해 공유하고자 한다. 기본적으로 내가 사용 중인 AUTOSAR 구현체는 Vector사의 Microsar이다. 따라서 그 외에 업체에서 제공하는 AUTOSAR 구현체가 동일한 형태로 구현되어 있는지는 알지 못한다. 우선 NvM ReadAll의 경우에는 Microsar에서 Dflash에 있는 데이터를 일대일 대응되는 NvM Rte Ram 변수로 가지고 올 때 NvM Index가 작은 쪽에서 큰 쪽으로 순차적으로 가져온다. 그런데 NvM WriteAll의 경우에는 물론 이 경우에는 MultiBlock job을 수행하면서 setRa..
최근에 FEE 모듈과 Garbage Collection으로 인해 곤혹스러운 일을 겪은 것을 기념하며 해당 내용을 정리하고자 한다. FEE(Flash EEPROM Emulation) 모듈은 Flash 메모리를 마치 EEPROM처럼 사용하고자 할 때, 그 중간 역할을 하는 모듈이다. FEE 모듈에는 Garbage Collection이라는 기능이 있는데, 이 기능은 NvM(NVRAM Manager) Block을 새로운 Sector에 복사하고, 이미 채워진 Sector를 지우는 방식으로 Sector 전환 및 Dflash Clean을 하는 기능이다. 예를 들어 MCU에 NvM에 활용할 수 있는 Dflash가 512Kbyte 있다고 가정하자. 우리는 이 용량을 256Kbyte씩, 2개의 섹터로 나눠서 사용하고 싶다..
ECU의 Memory 저장 및 관리 작업은 이 NvM 모듈에서 이뤄진다. 제품 수명 주기 내에서 데이터를 지속적으로 저장하고 읽어야 하는 경우는 매우 흔하다. 바로 코 앞에 있는 쉬운 예는 차량의 진단 기능일 것이다. 차량에서 문제가 감지될 때마다 정비사(혹은 여유가 있는 사용자)가 읽을 수 있도록 '어떻게든' 저장해야 한다. 바로 이 때 NvM이 이 역할을 할 수 있다. 이 특정 사례의 경우에, DEM(진단 이벤트 관리자)이 NvM과 상호작용하여 주행 중에 감지된 진단 오류를 저장하게 된다. 사실 이것은 진단에만 적용되는 것은 아니다. Application에서 데이터에 접근하여 수정하거나, 센서 또는 엑츄에이터를 보정하고, XCP의 특정 Command를 사용할 때 NvM이 관여하는 경우가 있다. 정리하..
여기서 정리할 내용은 NvM 변수를 작성할 때 내부적으로 어떻게 처리되는지에 대한 내용이다. NvM(Non- Volatile Memory)은 어느 특정 시점에 저장되는 유형의 메모리로, Soft Reset 혹은 Hard Reset 후에 사용자가 적은 값이 그곳에 저장되는 것을 주로 볼 수 있다. 하지만 이것은 마법처럼 동작하지 않기 때문에 과연 이 동작 안에는 어떤 일이 일어나는지 알 필요가 있다. 이 NvM은 전원이 꺼지면 모든 정보를 잃는 휘발성 메모리와 다르게 전원이 없을 때에도 정보를 유지하는 메모리이다. 우리가 알고 있는 AUTOSAR NvM 모듈은 BackGround에서도 이것을 사용한다. SRAM과 DRAM을 전부 NvRAM으로 대체하면 더 좋은 거 아닌가라고 생각할 수도 있지만, 메모리 크..