본문으로 바로가기

VMX 포팅중... -6-

category 개발일기/작업일지 2017.12.19 20:43

VMX 포팅 관련된 글을 7개째 작성하고 있다. 워킹 데이로 치면 7-8일정도 구조 설계 및 코딩 작업한 것 같다. 오늘은 SharedZone API 모듈 버그로 인해 그것을 수정하는데 많은 시간을 소비하였다.


기존 2.x 버전까지 배포하였지만 이번 프로젝트는 2.x 버전을 호환하면서 3.0 버전으로 제공할 예정으로 동일 API를 제공하지만 시간에 쫓겨 주먹구구식으로 작성한 코드를 대대적으로 리팩토링을 하였다. 그래서 구조 및 기본 API만 검증하여 세부적인 것을 검증 못한 관계로 오늘 데이터 영역 정리하면서 함께 수정하였다.


인크립트 기능만 검증하면 대부분의 기능을 검증이 완료된다. 뭐 encrypt/decrypt 기능도 어느정도 검증되었지만 개발단계에서 이것을 추가하면 데이터 영역 검증이 힘들어서 일단 이 기능을 비활성화 시킨 상태이다. 추가 기능이나 API는 그때 그때 검증하면 되고, SharedZone API 3.0 버전의 기본 구조 및 데이터 처리에 대한 것은 대부분 완료하였다.


VMX 데이터 영역 자동 복구 기능을 추가하는 과정에서 어떤 데이터 영역이 중요한 것인가를 확인하려고 테스트 하다 SharedZone API를 수정할 줄이야... 역시 일은 여전히 많이 남아있다.... 에혀...;;


어쨌든, VMX는 4개의 데이터 영역을 사용하는데, Individual data 영역은 3개를 사용한다. 이 3영역을 모두 백업하기에는 NOR 플래시 낭비가 심하여, Individual에 필요한 데이터만을 찾으려고 하였으나, 단일 스트림으로는 테스트가 불가하다는 것을 판단하였다.


데이터 영역 두 블럭은 redundancy를 위해 VMX 라이브러리에서 사용한다. 이것은 구지 백업이 필요 없을 것이라고 판단하였지만, 4개 블럭을 지우면서 테스트하는 과정에서 무지 헷갈리는 상황이 발생하여, 쉽지 않다는 것을 느꼈다.


우선 특정 한블럭은 EMM에 사용되는 것으로 이것은 데이터가 유실되어도 카드리스 제품에선 상관이 없다. 언제든지 EMM을 받아서 re-write 하면 되는 것이니 우리가 추가적으로 백업할 필요가 없다. 하지만 나머지 3개의 블럭이 Individual과 관련된 데이터 영역인데, 몇 블럭을 지우면서 조합하다 보면 도저히 이해되지 않는 상황이 발생한다. 단일 스트림이기 때문이기도 하고 Chipset 내부에 메모리를 갖고 있어 매우 혼란이 생기는 부분이다. 이것은 EMM 데이터가 틀린 2개 이상의 스트림으로 확인해야 할 것 같은데, 문제는 VMX에서 테스트 스트림을 한개 밖에 제공하지 않는 것이 문제다.


그래서...

하드웨어 팀에 부탁하여 SC 모듈을 보드에 추가하고 검증하기로 하였다. 양산 제품에 SC 모듈이 없더라도 VMX 인증에는 SC 모듈을 테스트하기 때문에 인증하는 보드에만 SC 모듈을 추가해야 하고 SC 모듈을 함께 검증해야 한다.


일단 팀원이 기본 포팅은 하였으나, SC 모듈 없는 상태로 카드리스 제품에 대한 것만 검증하였기에 SC 모듈이 들어가는 순간 역시 문제가 많이 있었다. 일단 SC 모듈을 추가하였을 때, 발생하는 문제는 대충 잡았으나, 몇 가지 기능에 대한 포팅이 미비하여 내일은 이것부터 작업해야겠다.


SMI 모듈 포팅을 하려고 하였으나, 릴리즈된 SDK에는 SMI 모듈에 대한 코드나 내용이 누락되어 있었다. 뭐라 할 말이 없다. 시간이 지나면 좀 나아질려나...


SC 모듈 안되는 부분이 있어서 좀 보다보니, 다들 퇴근하여 사무실에 아무도 없다. 나도 퇴근해야 쓰것다.


'개발일기 > 작업일지' 카테고리의 다른 글

VMX 포팅중... -8-  (0) 2018.01.02
VMX 포팅중... -7-  (0) 2017.12.21
VMX 포팅중... -6-  (0) 2017.12.19
VMX 포팅중... -5-  (0) 2017.12.19
VMX 포팅중... -4-  (0) 2017.12.14
VMX 포팅중... -3-  (0) 2017.12.13

댓글을 달아 주세요