На начало  
Карта сайта
О себе
TINI ?
"Железо"
Справочник
Софт
Проекты
Документация
FAQ
Ссылки
Связь


Ограничения

(Версия Firmware: 1.02e)

Страничка посвящена текущим ограничениям ПО Tini. И хотя это далеко не полный список, надеюсь он будет интересен всем кто собирается использовать TINI. Список основан на фирменном документе “Limitations of TINI Firmware 1.02”, но надеюсь у меня хватит сил и времени перенести сюда все замеченные ограничения.

Начнем с загрузчика:

ВНИМАНИЕ !!! При первом подключении JavaKit к TINI скорость обмена должна быть установлена на 115200, далее ее можно изменить

 

  • Multicast Socket поддерживает только 1 локальный интерфейс в текущей группе

·         TINI поддерживает до 24 одновременных соединений

·         TINI не поддерживает фрагментацию/сборку IP датаграмм

·         TINI не поддерживает IP маршрутизацию

·         Пока не реализована поддержка java.net.Socket.setSoLinger

·         Я думаю что вместо перечисления что поддерживается, а что нет , лучше посмотреть первоисточник - API_Diffs.txt

·         TINI на данный момент не поддерживает сериализацию (насколько я понимаю, работы над этим ведутся)

·         Для printStackTrace() организована частичная реализация. Подробнее..

·         Native модули не могут быть более чем 64 Кб

·         Максимальный размер всех массивов не может превышать 64 Кб

·         TINI OS ограничивается максимально 8ю процессами, с 16 «нитками» на процесс. При этом реально доступно не более 7 процессов, т.к. по умолчанию первым процессом автоматически становится «сборщик  мусора». Ваше приложение (или Slush )всегда будет №2, это полезно помнить при программировании и отладке.

·         Ограничения по длине локальных переменных: Максимальный объем локальных переменных 64 ячейки. 32х разрядные переменные (int,char,byte итп) занимают объем в 1 ячейку стека, соответственно 64х разрядные переменные (long,double) занимают 2е ячейки.

·         Класс ограничивается 255ю статическими полями (включая все статические поля «супер класса») и 255ю instance полями  (включая все instance поля «супер класса»)

·         Все «нитки» живут и работают в текущем приоритете.Thread.setPriority() не изменяет runtime приоритеты для текущей «нитки»

·         Класс может содержать до 127 методов (включая все методы «супер класса», но не учитывая Native методы). Класс лимитируется 255 «Нативными» методами

·         Метод ограничен 63-мя локальными переменными

·         ByteToChar ( и CharToByte) по умолчанию поддерживают две кодировки: UTF8 и ISO_8859_1, все остальное нужно делать самим

·         PPP – «Набор по запросу» в данный момент не поддерживается, не поддерживаются методы getIdleTimeOut(), setIdleTimeOut()

·         Стоит обратить внимание на то, что драйвер DS2480 работает только с 1м встроенным UARTом

·         Есть проблемы при работе с некоторыми DHCP серверами : vDHCP, MagikDHCP, также существуют проблемы при работе с  Umax Ugate 3000 ADSL.

·         В TINI Java VM добавлен уровень для работы со строковыми константами.

·         Метод intern() возвращает не корректный результат

·         Файловая система TINI поддерживает максимально до 254 файлов на директорию. При превышении этого ограничения получается IOException. Так же к IOException приведет попытка создания файла с именем более чем 247 символов.

·         Следует обратить внимание на процесс записи и модификации файлов. В случае если во время модификации файла будет снято питание или произойдет «системная перезагрузка» то значение времени будет соответствовать не реальному, а тому, что было перед началом модификации.

·         В том случае если файл датирован ранее чем 1м Января 1970 года, то объекты Calendar и Date будут возвращать неверные значения (хе-хе мой день рождения не попадает под эти ограничения, можно заставить TINI поздравлять меня J).

·         Метод Date.toLocaleString() возвращает то же самое значение что и Date.toString(). Объясняется это тем, что TINI не поддерживает классы форматирования даты.

·         Не стоить открывать на чтение/запись (имеется ввиду RandomAccessFile) уже исполненный файл, это вызывает  IOException.

·         Методы Double.toString() и Double.valueOf(String) возвращают неправильные значения. В описание указано что «что настолько точны насколько это возможно для API и общего быстродействия». Например:

o        System.out.println(3.05f);
возвратит значение "3.0499999". Имейте ввиду что это происходит только при преобразовании String àFloat Point” или обратном преобразовании “Float Pointà String

·         Статическая инициализация для всех классов будет выполнена, даже в том случае если не было прямой ссылки на сами классы.

      (C)2002-2003 AK

| TINI? | Железо | Справочник | Софт | Проекты | Документация | FAQ | Связь |

Ссылки | На главную страницу

Используются технологии uCoz