아래와 같은 개발 환경에서 SD와 eMMC동작이 잘 되는지 확인해 보고,
실제 테스트를 해보았습니다.
- CPU : i.MX6QP
개발보드 : WAD-MX6
OS : Windows Embedded Compact 2013
WAD-MX6 개발 보드는 자체 제작된 보드이며,
현재 Windows Embedded Compact 2013 OS 환경에서
다양한 테스트를 진행하고 있습니다.
아래 사진과 같이 WAD-MX6 개발 보드에는 3가지 타입의
저장장치 (SD, Micro SD, eMMC)를 지원하고 있습니다.
WAD-MX6 보드에는 Boot Mode와 Fuse 설정을 위한 Boot Switch를 지원하고 있어서,
위 3가지 저장장치로 부팅이 가능하도록 구현되어 있습니다.
물론 각 저장장치에 EBOOT(부트로더)이 Write되어 있어야만 합니다.
SD/eMMC 부팅 모드로 설정되고, i.MX6 초기화 및 설정이 제대로 되었다면,
SD/eMMC로부터 특정 영역의 데이터를 SDRAM에 로드시킬 수 있고,
문제가 없다면 EBOOT이 부팅 될 것입니다.
EBOOT 에서는 SD 및 eMMC에 관련된 IOMUX와 초기화 루틴을 통해,
EBOOT 설정 값을 저장하게 되고, WEC2013의 OS인 NK.bin 파일을
해당 저장장치에 Write할 수 있도록 해줍니다.
또한, 저장장치에 대한 포맷, 파티션등을 나눌 수 있도록 구현되어져 있어서,
이를 이용해 시스템 영역과 사용자 영역을 나눌 수 있습니다.
그리고 OS 업데이트 기능이 있어,
사용자가 직접 WEC2013 OS를 업데이트 할 수 있도록 지원하고 있습니다.
Windows Embedded Compact 2013 OS는 Visual Studio 2015로 개발 됩니다.
2015에서는 Remote Tools를 지원하며, 이 Tool을 이용해 현재 연결되어 있는,
타겟보드의 여러 가지 정보를 얻어올 수 있습니다.
아래 사진은 이 Remote Tool 중에 File Viewer와 Remote Tool Shell 을 통해
3가지 저장장치가 모두 Mount 되어 있는 모습을 보여줍니다.
Corecon이 연결되었다면, 위와 같이 File Viewer를 통해
Windows Embedded Compact 2013이 부팅된 대상 보드에 연결할 수 있고,
이 대상보드에서 사용하고 있는 폴더들을 확인할 수 있습니다.
WEC2013도 Windows OS이므로, 익숙한 Windows 폴더가 보이실 것입니다.
위 그림을 보게 되면, 3가지의 폴더 (SDMemory, SDMemory2, MMCMemory)를 보실 수 있으며,
이 3개의 폴더가 위에 언급한 저장장치들입니다.
위에는 System Information을 통해 현재 저장장치의 정보를 보여주고 있습니다.
마찬가지로 2개의 SD와 1개의 eMMC 가 로드되어 있고, 전체 크기와 사용한,
사용 가능한 크기에 대한 정보를 보여주고 있습니다.
이러한 Remote Tool을 이용하여 Storage가 정확히 로드되어 있는지를 확인할 수 있습니다.
또한, Workstation과 File을 주고 받을 수 있습니다. 여러 가지의 크고 작은 파일들을 옮겨가며
잘 동작되는지 테스트를 해보실 수 있습니다.
위와 같이 테스트 해보았으며 Windows Embedded Compact 2013 환경에서
SD/MMC 동작이 잘 됨을 확인하였습니다.
그럼 글을 마치도록 하겠습니다. 읽어주셔서 감사합니다.
즐거운 하루 되세요.