가전 제품
Casio
IAR Embedded Workbench 채택으로 듀얼 코어 i.MX로의 원활한 전환

카시오 컴퓨터는 새로운 EX-word 전자 사전 시리즈의 개발을 지원하기 위해 IAR Embedded Workbench를 채택했습니다.
프로세서는 전자 사전의 핵심 구성 요소로, CASIO는 기존의 32비트 RISC CPU를 Arm 기반 듀얼 코어 프로세서로 교체하고 있었기 때문에 이를 기회로 IAR Embedded Workbench for Arm를 도입하기로 결정했습니다. 성능과 전력 효율성의 균형을 맞추는 데 많은 어려움을 겪었지만, IAR Systems의 지원 덕분에 지체 없이 개발을 추진하는 데 성공할 수 있었습니다.
이 사례에서는 CASIO가 새로운 전자 사전을 개발하면서 직면한 기술적 문제와 IAR 임Embedded Workbench를 채택한 방법에 대해 자세히 설명합니다. CASIO는 선도적인 전자 사전 제조업체로 해상도, 글꼴 및 음질을 크게 개선했습니다. 이 회사는 여러 가지 제품을 개발합니다.
"우리 부서는 언어 학습 카테고리의 제품을 개발합니다. 주력 제품은 전자사전인 EX 단어 사전이지만 학생, 기업, 생활과 문화를 중시하는 시니어, 언어별로 분류된 기기 등 다양한 모델을 개발하고 있습니다. 또한 전용 영어 학습 도구인 "EX-word RISE"와 "joy study"의 개발도 담당하고 있습니다. 2019년 1월에 출시된 EX-word XD-SR 시리즈의 개발에는 IAR Embedded Workbench를 채택했습니다."
- 야나기사와 마사아키
XD-SR 시리즈는 고해상도 LCD 디스플레이가 특징입니다. 이전 모델에는 HVGA(528×320) 디스플레이가 탑재되어 있었지만, 이번 모델에는 FWVGA(864×480) 디스플레이로 업그레이드되었습니다. 글꼴도 비트맵 글꼴에서 아웃라인 글꼴로 변경되었습니다. 인터넷에서 자주 사용되는 오퍼스 압축 기술(최대 48kHz 인코딩)을 채택하여 영어와 같은 언어의 오디오 출력 품질도 향상되었습니다. 프로세서도 업그레이드되어 사용자가 더욱 편안하게 디바이스를 조작할 수 있습니다.
EX-word XD-SR 시리즈를 위한 NXP i.MX 시리즈 선택
"우리는 Cortex-A 및 Cortex-M 프로세서 코어가 장착된 NXP Semiconductors에서 개발한 듀얼 코어 프로세서인 i.MX 시리즈 프로세서를 선택했습니다. Cortex-A는 검색, 그래픽 디스플레이, 비디오 재생, 영어 발음 판별, USB 통신과 같은 작업을 처리합니다. Cortex-M은 키 입력 및 터치 입력, 오디오 재생 및 녹음과 같은 작업을 처리합니다. 운영체제(OS)는 멀티코어 비대칭 멀티프로세싱(AMP)을 지원하는 μITRON 사양을 준수하는 실시간 OS를 채택하기로 결정했습니다. 즉, Cortex-A와 Cortex-M 모두 μITRON을 탑재하고 있습니다. EX-word는 1996년에 처음 출시되었기 때문에 당시에는 16비트 x86 프로세서를 사용했습니다. 그 후 2000년대 전반부터 32비트 RISC 프로세서를 사용하기 시작했고, 지금은 처음으로 Arm 기반 프로세서를 채택하고 있습니다."
- 야나기사와
이전 EX-word 모델은 여러 가지 프로세서를 사용했습니다.
경쟁사의 사양을 따라잡기 위해 플랫폼을 변경한 CASIO
CASIO는 개발 과정에서 몇 가지 문제에 직면했습니다.
"실제로 해외 시장을 겨냥해 이전 모델과 동일한 프로세서를 사용하고 WVGA(800×480) LCD 디스플레이를 장착한 모델을 개발했지만 디스플레이 속도에 문제가 발생했습니다. 하지만 비슷한 시기에 다른 경쟁사들이 전 세계 시장에 고해상도 디스플레이를 탑재한 제품을 출시하고 있었기 때문에 플랫폼을 변경하고 시스템 성능을 높이기로 결정했습니다. 이것이 바로 우리가 처음부터 다시 시작하게 된 계기가 되었습니다."
- 야나기사와
"디스플레이 글꼴도 큰 문제였습니다. 비트맵 글꼴이 못생겼다는 리뷰가 올라오기 시작하면서 관심을 끌기 시작했습니다."
- 호쿠치
"이전 모델의 프로세서에도 OpenVG 가속기가 장착되어 있었지만 그것만으로는 성능을 향상시키기에 충분하지 않았습니다... 윤곽선 글꼴 사용을 구현하려면 메모리에서 데이터를 호출하는 프로세스 등 그리지 않는 프로세스의 부하가 증가하게 됩니다. 이전 모델의 프로세서에서는 CPU 코어의 처리 속도에는 문제가 없었지만 몇 가지 문제가 발생했습니다. 예를 들어 외장 RAM이 SDRAM이어서 작동 클럭 속도가 그다지 빠르지 않았습니다. 반면 이번 모델에는 LPDDR2 RAM이 탑재되어 데이터 전송 속도가 이전보다 10배 이상 빨라졌고 시스템 성능도 크게 향상되었습니다."
- 야나기사와
CASIO는 검색 및 오디오 데이터에 액세스하기 위해 여러 가지 옵션을 고려했습니다.
"저희 회사의 경우 콘텐츠 데이터를 저장하는 데 eMMC 플래시 ROM을 사용합니다. 이전 모델의 프로세서는 eMMC 인터페이스에 너무 느리게 액세스하는 문제가 있었습니다. 현재 모델은 DDR 모드에서 eMMC를 이동하므로 데이터 전송 속도가 이전 모델에 비해 약 4배 향상되었습니다. 시스템 구성은 변경되었지만 화면 해상도가 HVGA에서 FWVGA로 변경되었음에도 불구하고 검색 수행 및 정보 표시와 같은 일반적인 프로세스는 이전보다 최대 약 1.5배 빨라졌습니다."
- 야나기사와
"CASIO는 배터리로 작동하는 전자 사전의 경우 디테일에 많은 신경을 씁니다. 성능은 향상되었지만 전력 소비도 유지해야 했기 때문에 프로세싱을 두 개의 코어로 나누었습니다. 많은 작업이 필요했지만 성능 향상과 전력 효율성 사이의 균형을 찾을 수 있었습니다."
- 호쿠치
신제품 개발에서 창의성이 요구되는 몇 가지 영역
"사용하지 않는 프로세스를 최대한 중지하는 것이 절전의 기본 원칙입니다. 따라서 OS 틱 시간을 다소 길게 설정하고 이 틱 시간을 생성하는 타이머를 CPU의 '딥' 저전력 모드에서도 호출할 수 있도록 했습니다. 실시간 OS의 경우 틱 타임을 1밀리초 간격으로 짧게 설정했는데, 응답 속도가 우선시되는 경우가 많지만 전자사전 시스템에서는 이 틱 타임을 다소 길게 설정하기로 했습니다. 고속 타이머는 작업을 빠르게 수행하기 위해 필요할 때만 사용하므로 필요하지 않을 때는 최대한 느리게 유지하려고 노력했습니다. 최신 모델은 이전 모델보다 전력 효율이 약 5배 더 높습니다."
- 야나기사와
IAR Embedded Workbench 첫 사용
사실 멀티코어 프로세서를 사용한 것은 이번이 처음이었기 때문에 처음에는 정말 디버깅이 가능할지 회의적이었습니다. 다행히 예상보다 훨씬 원활하게 작동해서 정말 만족스러웠습니다.
- 야나기사와
멀티코어 디버그 기능은 어땠나요?
"한 화면에서 두 코어의 동작을 모두 확인할 수 있었습니다. 한 코어가 중단되면 다른 코어의 프로세스도 중단됩니다."
- 야나기사와
"세부적인 중단점 조건을 설정할 수 있는 기능이 정말 편리하다고 생각했습니다. 예를 들어 변수가 지정된 값에 도달할 때 중단하거나 이 주소를 통과할 때 중단하는 식이죠."
- 호쿠치
올해는 CASIO에 입사한 지 2년째인데, 이 프로젝트에 참여하기 전까지는 임베디드 개발을 해본 적이 없었습니다. IAR Embedded Workbench 사용법에 대한 공식적인 교육을 받지 못했지만 1년 내내 제 업무를 잘 수행할 수 있었습니다. 저 같은 초보자도 이 플랫폼을 사용하여 성공적으로 제품을 개발할 수 있다는 점이 매우 인상적이었습니다.
- 사카키바라
유연한 라이선싱을 제공할 수 있다는 점이 IAR Systems 도구를 선택한 핵심 요소였습니다.
유연한 라이선싱은 저희가 IAR Embedded Workbench를 채택한 이유 중 하나였습니다. CASIO는 전자 사전을 개발할 때 많은 아웃소싱 미들웨어를 사용합니다. 또한 코지엔, 지니어스 영한-일어사전 등 사전의 콘텐츠는 모두 외부 외주업체에 할당하여 개발한 별도의 개별 플러그인 소프트웨어가 있습니다. 그러던 중 Arm의 정품 도구와 관련된 라이선스 제한으로 인해 다른 외부 회사에 컴파일러를 제공하기 어렵다는 사실을 알게 되었습니다.
- 야나기사와
해외 하청업체를 포함해 10곳 이상의 하청업체와 계약을 맺고 있는 CASIO는 적합한 솔루션을 찾는 데 어려움을 겪었습니다. 많은 제조업체는 라이선스를 구매한 지역에서만 지원을 받을 수 있습니다. IAR Systems를 통해 엔지니어는 특정 지역에 있는 IAR Systems의 현지 사무소에서 현지 언어로 지원을 받을 수 있습니다.
CASIO 제품의 향후 개발
"어떤 의미에서 XD-SR 시리즈는 이전 모델이 내놓은 콘텐츠를 업그레이드한 것에 불과합니다. 앞으로는 프로세서의 기능을 충분히 활용하고 지금까지 포기했던 기능이나 콘텐츠 개발에 도전해보고 싶습니다."
- 야나기사와