html текст
All interests
  • All interests
  • Design
  • Food
  • Gadgets
  • Humor
  • News
  • Photo
  • Travel
  • Video
Click to see the next recommended page
Like it
Don't like
Add to Favorites

Сборка CLDC HotSpot Implementation для ARM из песочницы

В данной статье рассматривается виртуальная Java-машина CLDC HI с открытым исходным кодом компании Sun для встраиваемых и мобильных платформ, а также её построение для вычислительных машин с архитектурой ARM.

CLDC HI

Connected Limited Device Configuration HotSpot™ Implementation Virtual Machine (CLDC HI VM) — высокопроизводительная виртуальная Java машина для устройств, ограниченных в ресурсах, разрабатываемая компанией Oracle (бывшей Sun). Это одна из виртуальных машин для «малых» устройств, позволяющая запускать J2ME-приложения на устройствах с ограниченным объемом памяти и вычислительной мощностью, например, на мобильных телефонах, КПК, платежных терминалах и т.д.

CLDC HI JVM является оптимизированной виртуальной машиной, которая обеспечивает более быстрое исполнение байт-кода и более эффективное использование ресурсов по сравнению с другими доступными виртуальными машинами, такими как Squawk, KVM, Maxine, CVM и пр. Стоит отметить, что данная Java-машина ориентирована главным образом на ARM процессоры.

Как отдельный продукт она не поставляется, но входит в несколько решений для производителей соответствующей аппаратуры. Одна из версий этой виртуальной машины разрабатывалась компанией Sun под лицензией GPLv2, т.е. с открытым исходным кодом (также проект носит имя PhoneME Feature). Однако документации по сборке и запуску этой виртуальной машины в публичном доступе практически нет, и её разработка и поддержка практически были остановлены Oracle'ом после поглощения компании Sun.

Поэтому в данной статье приводится краткое описание самой CLDC HI и её сборки + подробные инструкции сборки по ссылке ниже.

О профилях и конфигурациях

Устройства, на которых может работать J2ME-приложение, определяются поддерживаемой конфигурацией и профилем платформы. Конфигурация описывает только низкоуровневую часть платформы: возможности языка Java, его виртуальной машины, и базовые классы.

В настоящее время существуют две конфигурации для платформы Java ME:
  1. CDC — Connected Device Configuration — используется с виртуальной машиной на устройствах с 32-разрядной архитектурой и требует более 2 Мб памяти. Она предусматривает больше возможностей для приложений по сравнению с CLDC, но и более жесткие требования к аппаратуре.
  2. CLDC — Connected Limited Device Configuration — используется для 16- и 32-разрядных устройств с ограниченным объемом памяти.
    Приложения J2ME, созданные с учетом конфигурации CLDC, ориентированы на устройства со следующими характеристиками:
    • Минимальный объём ПЗУ: 128 килобайт для CLDC 1.0, 160 килобайт для CLDC 1.1
    • Минимальный объём ОЗУ: 32 килобайта
    • Процессор: 16- или 32-битный
    • Низкое энергопотребление
    • Подключение к сети, в том числе беспроводной, с нестабильным соединением и ограниченной скоростью передачи данных и пр.

Более высокоуровневой частью платформы является профиль. Предполагается, что профиль будет задаваться для каждого крупного класса устройств (мобильные телефоны, игровые автоматы, бытовые приборы). Т.е. профиль определяет тип устройств, поддерживаемых приложением. Профиль дополняет конфигурацию специфическими классами, определяющими область применения устройств.

В J2ME определено два профиля, построенных на основе CLDC: KJava и Mobile Information Device Profile (MIDP). Для CDC доступен шаблонный профиль, на котором можно строить свои собственные, Foundation Profile.

Платформа, состоящая из CLDC и MIDP, достаточно распространена на рынке мобильных телефонов. Стоит отметить, что CLDC HI также основывается на конфигурации CLDC 1.1(JSR 118) и профиле MIDP 2.1 (JSR 139).

Сборка CLDC HI

Данная виртуальная машина оказывается очень полезной, когда необходимо перенести мобильное приложение на устройство, не поддерживающее Java платформу. Поэтому в данной статье приводится описание сборки Java-машины CLDC HI, включающее:
  • Минимальный набор продуктов, необходимых для сборки и компиляции;
  • Настройка среды кросс-компиляции на основе gcc и binutils;
  • Локализованные и исправленные ошибки в исходном коде, связанные с неполной обратной совместимостью инструментов сборки;
  • Ключи компиляции для запуска на платформе с ARM архитектурой.


Собственно идем в репозиторий проекта PhoneME , структура которого отображена ниже, и берем необходимые базовые компоненты: cldc, midp, pscl, tools. Если нужно расширить функционал работы Java-машины, то берем из репозитория соответствующие JSR пакеты. Они будут собираться вместе с midp.



Основные этапы построения CLDC HI:
  • Настройки среды кросс-компиляции (инструментарий, переменные окружения);
  • Сборка PCSL библиотек;
  • Сборка CLDC конфигурации;
  • Сборка профиля MIDP (при необходимости сборка JSR пакетов).

С более детальной инструкцией по сборке на Linux'е под ARM можете ознакомиться здесь: сборка CLDC HI

После успешной сборки имеем output, содержащий собранные компоненты, которые потом переносим на целевое устройство.

Запуск на Paspberry Pi

В качестве целевого устройства для проверки работоспособности использовался одноплатный компьютер Raspberry Pi с ARM процессором.



На вход JVM подается jar-файл, который в свою очередь обрабатывает установщик Midlet’ов и выдает индивидуальный номер для каждого приложения (подробнее см. сборка CLDC HI). После чего запускается CLDC HI JVM с номером приложения и создается frameBuffer, в который выводится изображение экрана устройства.
Далее продемонстрирована работа java-игры змейка с помощью CLDC HI на Raspberry Pi.



P.S.: статья написана по результатам курсовой работы на Математико-механическом факультете СПбГУ.
Выполнила Сарманова С.Г.
Научный руководитель Полозов В.С.
Читать дальше
Twitter
Одноклассники
Мой Мир

материал с habrahabr.ru

2

      Add

      You can create thematic collections and keep, for instance, all recipes in one place so you will never lose them.

      No images found
      Previous Next 0 / 0
      500
      • Advertisement
      • Animals
      • Architecture
      • Art
      • Auto
      • Aviation
      • Books
      • Cartoons
      • Celebrities
      • Children
      • Culture
      • Design
      • Economics
      • Education
      • Entertainment
      • Fashion
      • Fitness
      • Food
      • Gadgets
      • Games
      • Health
      • History
      • Hobby
      • Humor
      • Interior
      • Moto
      • Movies
      • Music
      • Nature
      • News
      • Photo
      • Pictures
      • Politics
      • Psychology
      • Science
      • Society
      • Sport
      • Technology
      • Travel
      • Video
      • Weapons
      • Web
      • Work
        Submit
        Valid formats are JPG, PNG, GIF.
        Not more than 5 Мb, please.
        30
        surfingbird.ru/site/
        RSS format guidelines
        500
        • Advertisement
        • Animals
        • Architecture
        • Art
        • Auto
        • Aviation
        • Books
        • Cartoons
        • Celebrities
        • Children
        • Culture
        • Design
        • Economics
        • Education
        • Entertainment
        • Fashion
        • Fitness
        • Food
        • Gadgets
        • Games
        • Health
        • History
        • Hobby
        • Humor
        • Interior
        • Moto
        • Movies
        • Music
        • Nature
        • News
        • Photo
        • Pictures
        • Politics
        • Psychology
        • Science
        • Society
        • Sport
        • Technology
        • Travel
        • Video
        • Weapons
        • Web
        • Work

          Submit

          Thank you! Wait for moderation.

          Тебе это не нравится?

          You can block the domain, tag, user or channel, and we'll stop recommend it to you. You can always unblock them in your settings.

          • habrahabr.ru
          • домен habrahabr.ru

          Get a link

          Спасибо, твоя жалоба принята.

          Log on to Surfingbird

          Recover
          Sign up

          or

          Welcome to Surfingbird.com!

          You'll find thousands of interesting pages, photos, and videos inside.
          Join!

          • Personal
            recommendations

          • Stash
            interesting and useful stuff

          • Anywhere,
            anytime

          Do we already know you? Login or restore the password.

          Close

          Add to collection

             

            Facebook

            Ваш профиль на рассмотрении, обновите страницу через несколько секунд

            Facebook

            К сожалению, вы не попадаете под условия акции