|
|
  |
Java на Cortex-M, в частности STM32F4 |
|
|
|
Jul 6 2015, 06:56
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Цитата(Непомнящий Евгений @ Jul 6 2015, 07:38)  Кстати в данном коде в Яве файл будет закрыт при сборке мусора (т.е. неизвестно когда), а в плюсах - при выходе из блока Прям таки закрыт? С чего это он будет нормально закрыт если нормально не смог быть открыт. Вся эта мишура работает только на процессорах с виртуальной памятью. Где процесс можно взять и убить спокойно, а памяти море. На Cortex-M такой код неприемлем.
|
|
|
|
|
Jul 6 2015, 07:57
|
Знающий
   
Группа: Свой
Сообщений: 771
Регистрация: 16-07-07
Из: Волгодонск
Пользователь №: 29 153

|
Цитата(AlexandrY @ Jul 6 2015, 09:56)  Прям таки закрыт? С чего это он будет нормально закрыт если нормально не смог быть открыт. Я рассматривал случай нормальной работы, без вылета исключения. В Яве надо или явно закрывать файл в finally или использовать try-with-resources. В плюсах есть деструкторы, этот момент упрощается. Цитата Вся эта мишура работает только на процессорах с виртуальной памятью. Где процесс можно взять и убить спокойно, а памяти море. На Cortex-M такой код неприемлем. Тут выше приводили примеры микро JVM. Я с таким не сталкивался, интересно насколько существенные там ограничения Цитата(Aner @ Jul 2 2015, 12:52)  - независимость от железа, да А за счет чего эта независимость? Просто переферия даже в рамках STM32F1 - F2 - F3 - F4 местами довольно сильно отличается. Я уже молчу про STM - другой производитель. Там написан какой-то "толстый" слой совместимости, который эмулирует возможности, отсутствующие в железе? Или возможности по использованию железа ограничены? Или для использования железа мы пишем вставки на Си (прощай платформонезависимость) ? К примеру, в F373 есть автонастройка скорости УАРТа. А в F2/F4 ее нет. Что будет с кодом на Java, который использует эту функцию, при запуске на F4?
|
|
|
|
|
Jul 6 2015, 10:21
|
Гуру
     
Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521

|
Цитата(Непомнящий Евгений @ Jul 6 2015, 10:57)  К примеру, в F373 есть автонастройка скорости УАРТа. А в F2/F4 ее нет. Что будет с кодом на Java, который использует эту функцию, при запуске на F4? Ну это уж такая мелочь.... Там, например, явно указано что графика реализована путём формирования картинки в памяти МК. То есть максимально софтово. Понятно, что такой расклад обеспечивает максимальную совместимость между платами. Иначе куча контроллеров, и фич различных. Но этот подход является самым медленным. Цитата Предполагается, что качество библиотек выше качества прикладного кода sm.gif Их просто больше применяли и тестировали. Здесь с Вами соглашусь. 2500$ на экземпляр как бы обязывает ... Просто ограничения будут очень мелким почерком ... В принципе продукт есть - всё можно почитать, возможности оценить.
|
|
|
|
|
Jul 6 2015, 11:26
|
Гуру
     
Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588

|
Цитата(SasaVitebsk @ Jul 6 2015, 05:58)  Любой язык верхнего уровня не устраняет проблемы, а скрывает их да не важно это всё, главная задача любого языка облегчить написание и упростить понимание программы если в жабе обёртка исключения занимает три строчки и может быть вложенной, а в си, единственная - три страницы и три блока сигарет, то догадайтесь, какой язык победит если в дотнете фреймворк с любыми возможными классами и методами, обновляющийся регулярно, а в си - непонятно кем и как написанная библиотека десять лет назад, то возникает тот же вопрос хотя нет, не возникает - ответ ведь очевиден
Сообщение отредактировал Огурцов - Jul 6 2015, 11:28
|
|
|
|
|
Jul 6 2015, 11:30
|
Гуру
     
Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136

|
Цитата(Огурцов @ Jul 6 2015, 14:26)  если в жабе обёртка исключения занимает три строчки и может быть вложенной, а в си, единственная - три страницы и три блока сигарет, то догадайтесь, какой язык победит "Телевидение. Будет одно сплошное телевидение." Всё это интересно, конечно. Но если посмотреть вокруг, почему-то не видно оглушительной повсеместной победы жабы в мире МК. Наверное, на это есть какие-то причины, не правда ли? Кроме заговора сишников, конечно
|
|
|
|
|
Jul 6 2015, 20:08
|

Гуру
     
Группа: Свой
Сообщений: 4 869
Регистрация: 28-02-08
Из: СПБ
Пользователь №: 35 463

|
QUOTE (Огурцов @ Jul 2 2015, 23:24)  раз не хотите халявного дотнета, ну вот вам жаба: MicroEJ Home Automation application running on STM32F429-DISCOVERY http://www.is2t.com/portfolio-item/microej...f429-discovery/Повнимательнее посмотрел на эту бяку IS2T. Вообщем жуть. Явы виртуальной там оч и оч мало, что удивило можно сишные куски добавлять, отдельно компилить и тп. Вообщем солянка мультивитаминная какая-то у этих французов. Причем ява старая сановская вторая или третья 2006 года, не выше! То есть совсем не развитая, поэтому 29 кило всего. И классов не более 4Кило, что то еще от 8-битников осталось. Короче нет вам этой виртуальной явы как думалось. Хотя SDK полный всего. QUOTE (mantech @ Jul 6 2015, 23:01)  Ну да, вот пока не сделают аппаратную поддержку жабы в мелких мк - "кина не будет"  Это вы не понимаете о чем пишите. Аппаратная поддержа виртуальной ява машины делается легко почти на любом проце, начиная с 8-битников, а вот затем ... QUOTE (AlexandrY @ Jul 6 2015, 10:56)  Прям таки закрыт? С чего это он будет нормально закрыт если нормально не смог быть открыт.
Вся эта мишура работает только на процессорах с виртуальной памятью. Где процесс можно взять и убить спокойно, а памяти море. На Cortex-M такой код неприемлем. Начиная с Cortex-M4 все там нормально получается в тех рамках виртуальной ява машины. Гарбаш колектора там трудятся прилично. 65К классов вам думаю будет достаточно для многих задач. Многих привлекала простая реализация TCP/IP стака и его уровни.
|
|
|
|
|
Jul 7 2015, 02:41
|

Местный
  
Группа: Участник
Сообщений: 319
Регистрация: 31-01-12
Пользователь №: 69 978

|
Цитата(Aner @ Jul 7 2015, 00:08)  Повнимательнее посмотрел на эту бяку IS2T. мне эта SDK тоже жутко не понравилась есть альтернативы? как собрать аналог самостоятельно из классического эклипса? сейчас программлю под арм испод эклипса + GCC. Как это довести до "программить для явы"?
|
|
|
|
|
Jul 7 2015, 06:06
|

Гуру
     
Группа: Свой
Сообщений: 4 869
Регистрация: 28-02-08
Из: СПБ
Пользователь №: 35 463

|
QUOTE (_pv @ Jul 7 2015, 09:30)  уже делали, правда не в самых мелких МК - оказалось никому не нужно. да тут не нужно, там нужно. QUOTE (k000858 @ Jul 7 2015, 06:41)  мне эта SDK тоже жутко не понравилась есть альтернативы? как собрать аналог самостоятельно из классического эклипса? сейчас программлю под арм испод эклипса + GCC. Как это довести до "программить для явы"? Никак. Самому взять недоделаную виртуальную яву, из любимого GCC и сваять, ограничившись ненужным. QUOTE (_pv @ Jul 7 2015, 09:30)  уже делали, правда не в самых мелких МК - оказалось никому не нужно. Это вы про андройд, то что он никому не нужен? Ну не скажите ...
|
|
|
|
|
Jul 7 2015, 06:09
|
Знающий
   
Группа: Свой
Сообщений: 771
Регистрация: 16-07-07
Из: Волгодонск
Пользователь №: 29 153

|
Цитата(k000858 @ Jul 7 2015, 05:41)  как собрать аналог самостоятельно из классического эклипса? сейчас программлю под арм испод эклипса + GCC. Как это довести до "программить для явы"? А в чем вопрос то? Эклипс для явы умеет запускать тот же ant, а через него вы можете цеплять любые действия... Как я понимаю для начала вам надо определиться с JVM, а дальше смотреть инструкции к ней - стандартный ли там компилятор, как загружать полученное в процессор и т.п...
|
|
|
|
|
Jul 7 2015, 09:03
|
Гуру
     
Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521

|
Цитата(scifi @ Jul 6 2015, 14:30)  Всё это интересно, конечно. Но если посмотреть вокруг, почему-то не видно оглушительной повсеместной победы жабы в мире МК. Да и без МК тоже оглушительной победы не наблюдается... Оценивать язык, по простоте обработки исключений, как то не убедительно ... Как говорится: Женитьба существенно помогает решать проблемы, которых у неженатых вообще нет. Сначало вводим принцип написания, где реалтаймовое динамическое выделение памяти, а потом радуемся изяществу сборщика мусора.
|
|
|
|
|
  |
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|