무선용 바이너리 런타임 환경

Binary Runtime Environment for Wireless
무선용 바이너리 런타임 환경 로고

Binary Runtime Environment for Wireless(Brew MP, Brew, Qualcomm BREW 또는 BREW)는 Qualcomm이 개발한 애플리케이션 개발 플랫폼으로, 원래는 CDMA(코드분할다중접속) 휴대폰을 위해 개발되었으며 모바일 게임과 같은 타사 애플리케이션을 특징으로 합니다.일부 피처폰에서는 제공되지만(대부분 미드엔드 휴대폰에서 하이엔드 휴대폰과 유사한 사양) 스마트폰에서는 제공되지 않습니다.1999년에 CDMA 기반의 휴대 전화의 무선 애플리케이션을 위한 플랫폼으로 처음 개발된 이 제품은 2001년 9월에 첫 선을 보였습니다.Brew MP는 게임, 메시지 보내기, 사진 공유를 위한 작은 프로그램을 다운로드하고 실행할 수 있는 소프트웨어 플랫폼으로서 애플리케이션 개발자들이 표준화된 애플리케이션 프로그래밍 인터페이스를 제공함으로써 모든 Brew MP 기기에 쉽게 애플리케이션을 이식할 수 있다는 것이 큰 장점이다.Brew MP 지원 핸드셋용 소프트웨어는 무료로 다운로드 가능한 Brew MP 소프트웨어 개발 키트(SDK)[1]를 사용하여 C 또는 C++로 개발할 수 있습니다.BREW 런타임 라이브러리는 무선 디바이스 온칩펌웨어 또는 운영체제의 일부로서 프로그래머가 시스템인터페이스를 코드화하거나 무선 어플리케이션을 이해할 필요 없이 어플리케이션을 개발할 수 있도록 합니다.BREW는 의사 운영체제로 설명되지만 진정한 모바일 운영체제는 아닙니다.BREW는 Java ME와 같은 가상 머신은 아니지만 네이티브 코드를 실행합니다.

소프트웨어

소프트웨어 개발자에게 Brew MP는 C, C++, Java에서 소프트웨어와 애플리케이션을 만들 수 있는 풀세트 어플리케이션프로그래밍 인터페이스(API)이며 Application-Specific Integrated Circuit(ASIC; 특정 집적회로)에 의해 지원(플랫폼)됩니다.메모리 용량은 약 15,900KB(15.9MB)입니다.버전 1.x부터 2.x(2004년 이전)까지 메모리 설치 공간이 약 60KB로 적었습니다.BREW는 하드웨어에 직접 액세스할 수도 있습니다.Brew MP 이전 버전은 REX OS(Qualcomm 자체 RTOS)에서 실행/의존하며, Brew MP는 Brew RTOS(고급 피처폰용 다른 RTOS)를 사용합니다.BREW는 인터프리터 기반 코드를 사용하는 대신 자체 모바일 하드웨어에 의존했습니다.

버전 이력

BREW 1.0 / 1.1 (2001 ~2003)

2001년에 첫선을 보인, 그것은 BREW의 첫 실제 버전이었다.원래는 교세라 QCP-3035(시판되는 최초의 BREW 대응 전화기)와 샤프 Z-800용으로 제조되었습니다.개인 디지털 어시스턴트 수준의 기능(일반적으로 일부 애플리케이션 및 BREW 애플리케이션을 실행하는 기능)을 활용했습니다.그러나 이후 버전에서 사용할 수 있었던 고급 멀티미디어 기능과 Java ME 지원이 없습니다.BREW 2.0에서는 단색 스크린 지원이 사라졌기 때문에 단색 스크린을 지원하는 유일한 BREW 버전이었다. BREW 1.1은 Java ME 애플리케이션을 실행하는 최초의 BREW 버전이었다.2002년과 2003년 초에 일부 BREW 지원 전화기에서 사용 가능했습니다.

BREW 2.0 / 2.1 (2002 ~2009)

2002년 중반에 출시된 이 제품은 2002년 말부터 2009년 말까지 대부분의 BREW 지원 전화기에 설치되었습니다.고급 멀티미디어 재생(비디오 및 오디오 파일 재생 기능, 3GPP 멀티미디어 형식 지원), EV-DO 및 블루투스 지원 연결 및 화면 보호기 및 기타 개선 기능을 포함합니다.또한 BREW 2.1에서 MIDP 2.0을 지원하며 BREW 1.x 애플리케이션과 역호환됩니다.

2004년 이후 인도네시아, 중국 및 기타 국가에서 대부분의 피처폰에 탑재되었으며 2017년까지 일부 통신사에서 여전히 지원됩니다.

BREW 3.0 / 3.1 (2004 ~ 2012)

2002년 중반에 출시된 이 제품은 2004년 말부터 2012년 초까지 대부분의 BREW 지원 전화기에 설치되었습니다.BREW 버전으로는 처음으로 큰 변화가 생겼으며 와이파이 연결, OpenGL ES 1.0, 3G 지원, GPS, QWERTY 기반 키패드 지원, 176x220 이상의 모바일 화면 지원 등 다양한 기능을 갖추고 있다.BREW 2.x 응용 프로그램과는 하위 호환되지만 BREW 1.x 응용 프로그램과는 호환되지 않습니다.

또한 소프트웨어 렌더링만을 사용하여 3D 그래픽 렌더링을 지원하는 최초의 BREW 버전입니다(Java ME 게임용 JSR 184 지원).하드웨어 액셀러레이션은 OpenGL ES 1.0(3D 액셀러레이션 칩을 사용할 수 있는 경우)을 통해 기본적으로 지원됩니다.

2005년 이후 미국 및 기타 국가에서 대부분의 피처폰에 설치되었으며 일부 통신사에서 여전히 지원됩니다.

BREW 4.0.1 ~ 4.0.2 (2007 ~2011)

2007년부터 2011년까지 출시된 이 제품은 극소수의 휴대폰(LG enV Touch 및 LG Versa 등)에만 통합되었습니다.일부 개선 사항만 있고 이후 Brew MP로 승계되었으며, Brew MP에서도 사용할 수 있는 가속도계 지원 및 기타 변경 사항 등 추가 기능을 가지고 있다.

또한 멕시코와 브라질의 Zeebo 콘솔에도 사용됩니다.

Brew MP 1.0.1 - 1.0.4 (2009 ~2021)

2009년에 출시되었으며 내부적으로 BREW 5.0으로 알려진 이 제품은 새로운 다양한 기능(SVG 이미지 지원 포함)과 일부 개선 사항을 포함하며 BREW 3.x 및 4.x 애플리케이션과 역호환됩니다.또한 특정 API와 레거시 파일을 폐지한 최초의 BREW 버전이기도 합니다.퀄컴 자체 렉스 OS가 아닌 자체 RTOS에 의존하는 첫 BREW 버전이기도 하다.

Brew MP 개발자 페이지는 2021년 7월 23일 8년 전 비활성 상태로 폐쇄되었습니다.

BREW 어플리케이션 개발

개발 프로세스 중에 애플리케이션을 테스트하기 위해 SDK에는 BREW 에뮬레이터 또는 BREW 버전 1.1 이상부터 BREW 시뮬레이터가 포함되어 있습니다.BREW 환경에서는, 복수의 레벨의 애플리케이션 시그니처를 사용할 수 있습니다.1개의 시그니처가 개발자를 인증합니다.또 다른 시그니처는 응용 프로그램이 True BREW 테스트를 통과하여 Intertek를 통해 부여되었음을 확인합니다.각 통신 사업자는 이 두 번째 시그니처의 존재와 검증을 강제 또는 무시하도록 핸드셋을 설정합니다.BREW 대응 핸드셋에는, 테스트 모드가 있어, 애플리케이션이 시그니처의 검증을 바이패스 할 수 있습니다.퀄컴은 테스트를 통과한 애플리케이션을 BREW 지원 무선 네트워크 사업자에게 제공합니다.그런 다음 운영자는 카탈로그에서 최종 사용자가 사용할 수 있는 애플리케이션을 선택할 수 있습니다.

BREW의 자체 서명은 ESN(Electronic Serial Number)과 MEID(Mobile Equipment Identifier)에 의해 보호됩니다.이는 BREW 어플리케이션이 통신사가 아닌 서드파티에 무단으로 배포/교섭되는 것을 방지합니다.응용 프로그램이 BREW 기반 통신사를 통해 OTA를 다운로드하면 .sig 파일은 설치된 핸드셋에 대한 전자 일련 번호를 자동으로 생성합니다.

BREW Simulator라는 이름의 BREW 에뮬레이터는 핸드셋 하드웨어를 에뮬레이트하지 않습니다.대신 BREW 응용 프로그램은 네이티브 코드로 컴파일되어 호환되는 BREW 런타임 라이브러리와 링크됩니다.이 때문에, 테스트 모드로 동작하는 BREW 핸드셋이 없으면, 애플리케이션의 메모리 얼라인먼트 및 각종 펌웨어 관련의 결함의 플랫폼 버그를 테스트할 수 없습니다.

테스트 목적으로 BREW 애플리케이션은 Universal Serial Bus(USB) 또는 시리얼 케이블을 사용하여 Qualcomm의 BREW App Loader를 사용하여 BREW 호환 핸드셋으로 전송할 수 있습니다.BREW 어플리케이션에는 몇 가지 컴포넌트가 포함되어 있어 유효하지 않은 경우 재부팅 시 어플리케이션이 자동으로 삭제됩니다.여기에는 컴파일된 바이너리 파일, 응용 프로그램에 대해 설명하는 파일, 응용 프로그램이 사용하는 기능과 요청된 권한, 필요한 경우 문자열 및 이미지 리소스가 포함된 파일 및 응용 프로그램의 디지털 서명을 포함하는 파일이 포함됩니다.

BREW 애플리케이션은 핸드셋의 메모리 공간을 절약하기 위해 컨슈머 핸드셋에서 언로드할 수 있습니다.이것은 「비활성화/복원」이라고 불리며, True BREW 테스트 프로세스의 요건입니다.저장된 파일은 Disable/Restore를 사용하여 그대로 유지되며, 비용을 다시 지불하지 않고도 응용 프로그램을 다시 로드할 수 있습니다."Disable" 상황에서는 모든 .bar, .mod 및 .sig 파일이 핸드셋에서 삭제되고 다른 파일은 원래 위치에 유지됩니다."Restore" 작업 중에 통신사의 모바일스토어에서 .bar, .mod 및 .sig 파일이 다운로드되고 이전에 비활성화되었던 응용 프로그램은 완전한 기능을 유지합니다.Disable/Restore 프로세스는 핸드셋의 메모리가 가득 찬 후에만 사용할 수 있습니다.

2008년 5월 28일 Qualcomm과 Adobe는 Adobe Flash Lite를 BREW에서 지원하는 사용자 인터페이스로 통합하는 파트너십을 발표했습니다.

2006년 3월 이후 개발자를 위한 가장 저렴한 디지털 서명 패키지는 100개의 애플리케이션을 [2]제출하는데 400달러가 듭니다.

비즈니스 모델의 시사점/가용성

엄밀히 말하면, Qualcomm BREW의 엄격한 인증 요건 때문에 Java ME보다 BREW의 시장 투입 시간이 더 오래 걸릴 수 있습니다.이 인정 프로세스는 기존 소프트웨어 개발자에 의해 장점으로 인식될 수 있습니다.이는 테스트 및 개발 비용과 관련된 어려움으로 인해 적은 예산과 짧은 시간으로 개발자의 진입 비용이 증가하기 때문에 결과적으로 시장의 희박화를 줄일 수 있기 때문입니다.특히, 캐주얼 게임 개발자들은 취미 활동가들이 개발하고 자체 퍼블리싱한 프리웨어 워크라이크와 경쟁해야 하는 위험을 덜게 됩니다.단,최저가격으로최적의솔루션을최저가격으로개발하는경쟁이적절하기때문에최종사용자에게는비용이됩니다.

  • 응용 프로그램 작성 후 True BREW 테스트를 반복할 때마다 2주가 소요됩니다(어플리케이션이 테스트에 불합격할 때마다).
  • 다음으로 통신사와의 교섭이 개시됩니다.
  • 그 후, (성공했을 경우) 통신 사업자는 네트워크상에서 독자적인 테스트를 실시해 애플리케이션을 재테스트하는 데 시간을 소비합니다.
  • 마지막으로, 새로운 버전을 롤아웃하는 것은 프로세스를 다시 시작하는 것을 의미합니다.

Java ME와 BREW의 차이점

현재 대부분의 개발자는 Java ME와 BREW, 또는 Java [citation needed]ME만을 지원하고 있습니다.Java ME는 대부분의 통신사가 인증되지 않은 Java ME 애플리케이션을 휴대폰에서 실행할 수 있도록 허용하기 때문에 시장 투입 비용이 낮아질 수 있습니다.Java ME 전화기는 BREW 대응 단말기보다 시장 점유율이 높다.Java ME는 유럽에서 널리 사용되는 반면 BREW는 주로 미국과 일본에서 사용됩니다.미국에서도 BREW의 초기 [citation needed]장점 중 하나는 Verizon이 휴대폰에서 애플리케이션을 쉽게 구입할 수 있도록 한 반면 대부분의 Java ME 통신사는 그렇지 않았다는 것입니다.그러나, Java ME 폰의 대부분의 통신사들은 현재 접근하기 쉬운 구매 포털을 제공하고 있다.

다른 API로 인해 Java ME는 Java의 가상 머신(인터프리터 기반 코드)에 의존합니다.이는 네이티브 C/C+++와 [3]직접 하드웨어 액세스(특히 게임용)를 사용하는 BREW보다 기술적으로 느립니다.Java ME는 (어플리케이션과 게임 모두) API의 서브셋이 한정되어 있습니다.다만, 서드파티제의 API나 실장(HI COPRPORATION의 마스코트 캡슐(3D 렌더링 API), NTT 도코모의 DoJa/Star 등)은 이용할 수 있지만, 일본 이외에서는 인기가 없고, 성공적이지 않다(특히 디바이스 채택).반면 BREW는 자체 API와 직접 하드웨어 액세스에 의존합니다.

Java ME 애플리케이션 및 게임 성능은 BREW보다 느립니다.3D 게임의 경우 Java ME는 JSR 184(M3G)를 사용합니다.Java ME에서 개발된 3D 게임은 속도가 느리고(일부/대부분의 핸드셋에서는 초당 10프레임), BREW는 소프트웨어 렌더링(BREW 핸드셋에 3D 액셀러레이션 칩이 없는 경우) 또는 OpenGL(ES의 성능을 활용할 수 있습니다.를 클릭합니다.[4]

Java ME와 달리 BREW 어플리케이션이 크래쉬하면 어플리케이션이 크래쉬하는 동안 BREW가 처리 및 복구를 할 수 없기 때문에 전화기가 재부팅되면 $SYS가 생성됩니다.EXCEPT_(4자리 번호)를 디렉토리의 루트에 있는 「except」폴더에 넣으면, 전화기는 자동적으로 재기동합니다.BREW에서 Java ME 애플리케이션이 크래쉬 하면, Java ME는 올바르게 처리해, 전화기의 재기동으로부터 자동적으로 회복합니다.

일부 또는 일부 핸드셋 제조업체는 Java ME의 가상 머신을 일부 전화기에 통합하는 것을 허용하지 않습니다.

이제 Java ME에서 BREW로의 포팅을 완전히 자동화하는 상용 기술이 있습니다.이것에 의해, Java 와 C/C++ 의 양쪽 모두에서 같은 애플리케이션의 2 개의 버전을 개발할 필요가 없어져, BREW 애플리케이션의 생산의 진입 장벽이 경감됩니다.

시스템 장애

BREW의 시스템 장애는 컴포넌트가 정상적으로 동작하지 않거나 BREW 응용 프로그램에 필요한 파일이 없거나 응용 프로그램이 크래시하거나 기타 오류가 발생하여 발생합니다.$SYS가 생성됩니다.EXECT_XXXX" 파일은 디렉토리 루트의 "except" 폴더에 있습니다.BREW의 시스템 장애에는 "컴포넌트 오류"와 "Reboot of Death(RoD)"라는 두 가지 종류가 있습니다.

컴포넌트 오류(예.c XXXXX)

Samsung SCH-S399의 BREW 2.0.2 컴포넌트 오류.
$SYS.EXCEPT_0002는 메모장의 컴포넌트 오류의 영향을 받습니다.

컴포넌트 에러란 컴포넌트가 정상적으로 동작하지 않게 되면, 흑백 또는 블루 스크린에 에러 텍스트가 약 5초간 표시되고, 전화기가 자동적으로 재기동하는 에러입니다.이 에러는, 액티비티에 따라서 다를 수 있습니다.다음은 예를 제시하겠습니다.

• fs_dir.c(파일 시스템 오류)

• mdsptask.c(태스크 오류)

• oemheap3x.c(Heap 위반)

• memory.c (메모리 파손)

• nvm.c (NVM 체크 위반)

• srch_mdsp.c(인덱스 오류)

• Callheap.c(콜 오류)

이 변종이 발생하는 경우는 매우 드물며, 일반적으로 BREW가 크래시하면 흑백 또는 블루스크린에 텍스트가 표시되지 않고 시스템이 재부팅될 수 있습니다.이것을 "RoD(Reboot of Death)"라고 합니다.다음은 이 배리언트를 트리거하는 이 액티비티의 예입니다.

• 전화기의 동작중에 저전압 상태가 되면, 메모리 파손이 발생합니다(통상, 배터리가 거의 방전되어 있는 경우는, 저전압 보호가 추가되어 있습니다)(예를 들면, LG VX10, LG VX4400, LG PM225)

• 전화기가 불량 상태이며, 통상은, 전화기가 「죽음의 재기동(RoD)」바리안트를 트리거 해, 텍스트가 있는 흑백/블루 스크린 없이 자동적으로 재기동합니다.(Nokia 1325 등)

• "filters", "nvm" 또는 ".filters_private" 폴더가 삭제되었습니다.(fs_disc.c 또는 nvm.c)

데스 재부팅(RoD)

메모장의 RoD(Reboot of Death)의 영향을 받는 $SYS.EXCLECT_0003에 랜덤 문자가 포함되어 있습니다.

Reboot of Death(RoD; 데스 재부팅)는 컴포넌트오류라고 불리는 텍스트가 있는 흑백 또는 블루스크린을 표시하지 않고 전화기가 자동으로 재부팅되는 오류입니다.이 변종이 발생하는 경우는 거의 없습니다.다음은 이 변종을 트리거하는 액티비티의 예를 나타냅니다.

• 어플리케이션 크래시

• R-UIM 카드 분리

• 전화기의 상태가 불량입니다.

• SP 코드 입력 오류

• 파일이 필요한 응용 프로그램이 누락되었습니다.

• 엔지니어링 모드에서 예외 테스트 실행

예:

디바이스 사용 현황 및 캐리어 가용성

BREW 1.0 - 1.1 App Manager (2001-2003) (예: LG VX4400) (스크린샷 1)
BREW 1.0 - 1.1 App Manager (2001-2003) (스크린샷 2)
BREW 1.0 - 1.1 App Manager (2001-2003) (스크린샷 3)
BREW 2.0.1 - 2.1.2 App Manager (2002-2009) (예를 들어 LG VI5225, ZTE S100, Ubitam U-105 및 대부분의 CDMA 피처폰은 BREW 2.0.2 또는 2.1.2를 실행)
BREW 3.0.1 - 3.1.2 App Manager (2004-2009) (LG VX3400, Samsung SCH-A630, LG VX8600 Chocolate Flip 및 일부 CDMA 피처폰 등)대부분의 BREW SDK 포함
BREW 3.1.4 - 4.0.2 App Manager (2005-2012) (Zeebo, Samsung SCH-R351 Freeform, LG Voyager VX10000 및 일부 CDMA 피처폰 등)BREW SDK 포함)
BREW MP 1.0.1 - 1.0.4 App Manager (2009-2015) (예: 팬택 Verse, 삼성 SCH-R270 Chrono 2, CDMA 피처폰)
일부 브랜드 BREW 앱 매니저
브랜드가 높은 BREW 앱 매니저

Qualcomm BREW는 일부 휴대폰 제조업체 및 모바일 네트워크에서 사용되지만, BREW를 실행하는 휴대폰은 대부분 Qualcomm BREW 브랜딩이 없고 BREW는 백그라운드에서 실행되며 휴대폰 제조업체 또는 운영자의 커스텀 "스킨"이 위에 있기 때문에 최종 사용자는 이를 알지 못합니다.퀄컴 BREW 스프린트 넥스텔, metroPCS, US셀룰러, Verizon, 라일락 와이어리스, 크리켓 무선, AT&amp에 의해;인도에서 미국 업체인 KDDI일본에서 KT와 SK텔레콤 한국에서 중국 통신사 중국에서 T(HTC과 200미터 자유형에서), MOVILNET 라틴 아메리카 대륙에 시스테마 Shyam(지금 MTS), 유럽의 3네트워크에 의해, 영국 그리고 Australi 사용된다.한시n 네트워크용으로 특별히 생산된 많은 휴대 전화.

BREW는 CDMA로 동작하는 모바일네트워크에만 제공되기 때문에 다른 나라(유럽, 영국, 호주, 인도, 일본, 중국 등 3개 네트워크 제외)에는 CDMA 네트워크가 없기 때문에 BREW가 없습니다.

화웨이·INQ모바일·아모이·LG·삼성모바일·ZTE·HTC 등 제조사는 일부 휴대폰에 퀄컴 BREW를 탑재하고 있으며, 스카이프폰 3종, INQ1, ZTE Z431, LG T385753 등 영국 3종의 휴대폰에 탑재되어 있다.Tectoy의 Zeebo는 BREW를 사용하는 유일한 게임기입니다.모토로라의 T720과 RAZR V3m도 퀄컴 BREW를 사용한다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ SDK & Tools Brew MP Developer Archive 2012-12-17 오늘 아카이브.Developer.brewmp.com 를 참조해 주세요.2013-07-21에 회수.
  2. ^ BREW용 인증 문서 ID에 대한 코드 서명 증명서 - 디지털 서명 Symantec 2009년 2월 5일 Wayback Machine에서 아카이브.Verisign.com 를 참조해 주세요.2013-07-21에 회수.
  3. ^ "Choosing between J2ME and BREW for wireless development - TechRepublic". TechRepublic. Retrieved 2017-06-21.
  4. ^ "See the graphical difference between Java and BREW games". Pocket Gamer. Retrieved 2017-06-21.

외부 링크