Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Java на Cortex-M
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Страницы: 1, 2, 3
Aner
QUOTE (Mihey_K @ Jul 3 2015, 17:39) *
Мне кажется как раз лень порождает желание писать на Java и т.д. Если не секрет, на какой втраиваемой системе вы писали на Java?

Ага, особенно когда не знаешь что это и как. На какой встраивоемой системе, на какой, на какой ... вот программе на Java пофиг, мульти-платформенная она.
mantech
Цитата(Mihey_K @ Jul 3 2015, 16:39) *
Мне кажется как раз лень порождает желание писать на Java и т.д. Если не секрет, на какой втраиваемой системе вы писали на Java?


Я или "в базар не въезжаю", или просто трудно понять любителей жабы на стм и пр. мелких армах... Ну возьмите любой планшетик на какой-нить оси, типа линуксодроида, там уже все есть, и жаба-машина и графика и сеть... пишите и радуйтесь, но ЗАЧЕМ всю эту тягомоть тянуть на мк, заточенный под сишные стандалон-решения???
Mihey_K
Цитата
вот программе на Java пофиг, мульти-платформенная она.

Ага, только умные люди постарались сделать за вас всю гразную работу, чтоб вы даже не задумывались о выделении/освобождении памяти, зачем, ее же так много. Вот только тема о Cortex-Mx и в данном случае это пустая беседа из разряда "21 век на дворе, а почему вы пишите на C/C++". Умиляет biggrin.gif
Огурцов
Цитата(Mihey_K @ Jul 4 2015, 03:51) *
почему вы пишите на C

потому что в своё время под шарп не нашлось tcp-стека совместимого с оборудованием
а как вы реализуете исключения на си ?
Mihey_K
Цитата
реализуете исключения на си ?

Exception
Handler
Огурцов
мы ж говорили об утечке памяти
мне кажется, что вы совсем не о тех исключениях
пример, если что:

Код
try {
    File.createTempFile("prefix", "");
} catch (IOException e) {
    // Handle IOException
}

если что-то пошло не так:
- освобождаем буферы
- закрываем файлы
- можем делать это вложенно внутри одной функции
- можем откатываться на неопределённое количество уровней вызовов в разных функциях
- можем проанализировать причину исключения, всех исключений
и всё это в три строчки, без всякого шаманства, как в вашем примере
Mihey_K
Мы о разных вещах говорим, в примере я вам показал саму кухню железячного механизма исключения на Cortex-M3/4.
Спорить тут бесполезно, я не принижаю достоинства Java, напротив, высокий уровень абстракции и кроссплатформенность это гуд, возможно это стало не последней причиной в выборе Java как платформы для Android-приложений, но никто не знает что стоит за Java-машиной, и как она транслирует слой абстракции на платформу. Удобства оборачиваются повышенными требованиями к ресурсам платформы, от того для Cortex-M это пустой звон.
А исключения на голом C обрабатываются макросами setjmp() и longjmp()
Непомнящий Евгений
Цитата(Aner @ Jul 3 2015, 20:44) *
вот программе на Java пофиг, мульти-платформенная она.


Это не так. Программа на Яве мультиплатформенна до тех пор, пока мультифплатформенны библиотеки, на которые она опирается. С тем же успехом мультиплатформенна программа на Си.

Т.е. хэлловорлд мультиплатформен и возможно даже переносим на уровне байт-кода, а вот что-то посложнее уже большой вопрос

Цитата(Огурцов @ Jul 4 2015, 10:42) *
Код
try {
    File.createTempFile("prefix", "");
} catch (IOException e) {
    // Handle IOException
}

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

Это ж все о С++, да? rolleyes.gif Кстати в данном коде в Яве файл будет закрыт при сборке мусора (т.е. неизвестно когда), а в плюсах - при выходе из блока
k000858
На данный момент нашел только 1 IDE, в котором есть возможность разрабатывать Java ПО для мк - MicroEJ

Есть альтернативы?
SasaVitebsk
Цитата(Огурцов @ Jul 4 2015, 10:42) *
если что-то пошло не так:
- освобождаем буферы
- закрываем файлы
- можем делать это вложенно внутри одной функции
- можем откатываться на неопределённое количество уровней вызовов в разных функциях
- можем проанализировать причину исключения, всех исключений
и всё это в три строчки, без всякого шаманства, как в вашем примере

Это в исходном тексте 3 строчки. Но это всё должно обеспечиваться. Любой язык верхнего уровня не устраняет проблемы, а скрывает их. Чем больше возможностей, тем больше код который их обеспечивает. Но это ведь тоже кем-то написано. Не уверен, что без косяков. В случае чего запаришься искать.
Вот и получается что вся эта многоплатформенность, как бы это сказать, не совсем полная. Например отладили Вы код на писишке и радуетесь. Запускаете на МК, компилируя той же студией и из того же проекта и те же исходники, - короче всё тоже.... И бац что-то не так. Потому что библиотеки разные движок разный, компилятор не тот на самом деле ... А что же тогда то? Да только среда разработки. К этому ли стремились?
Непомнящий Евгений
Цитата(SasaVitebsk @ Jul 6 2015, 08:58) *
Это в исходном тексте 3 строчки. Но это всё должно обеспечиваться. Любой язык верхнего уровня не устраняет проблемы, а скрывает их. Чем больше возможностей, тем больше код который их обеспечивает. Но это ведь тоже кем-то написано. Не уверен, что без косяков. В случае чего запаришься искать.


Предполагается, что качество библиотек выше качества прикладного кода sm.gif Их просто больше применяли и тестировали.
AlexandrY
Цитата(Непомнящий Евгений @ Jul 6 2015, 07:38) *
Кстати в данном коде в Яве файл будет закрыт при сборке мусора (т.е. неизвестно когда), а в плюсах - при выходе из блока


Прям таки закрыт?
С чего это он будет нормально закрыт если нормально не смог быть открыт.

Вся эта мишура работает только на процессорах с виртуальной памятью. Где процесс можно взять и убить спокойно, а памяти море.
На Cortex-M такой код неприемлем.

Непомнящий Евгений
Цитата(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?
SasaVitebsk
Цитата(Непомнящий Евгений @ Jul 6 2015, 10:57) *
К примеру, в F373 есть автонастройка скорости УАРТа. А в F2/F4 ее нет. Что будет с кодом на Java, который использует эту функцию, при запуске на F4?

Ну это уж такая мелочь....
Там, например, явно указано что графика реализована путём формирования картинки в памяти МК. То есть максимально софтово. Понятно, что такой расклад обеспечивает максимальную совместимость между платами. Иначе куча контроллеров, и фич различных. Но этот подход является самым медленным.

Цитата
Предполагается, что качество библиотек выше качества прикладного кода sm.gif Их просто больше применяли и тестировали.

Здесь с Вами соглашусь. 2500$ на экземпляр как бы обязывает ... Просто ограничения будут очень мелким почерком ... В принципе продукт есть - всё можно почитать, возможности оценить.
Огурцов
Цитата(SasaVitebsk @ Jul 6 2015, 05:58) *
Любой язык верхнего уровня не устраняет проблемы, а скрывает их

да не важно это всё, главная задача любого языка облегчить написание и упростить понимание программы
если в жабе обёртка исключения занимает три строчки и может быть вложенной, а в си, единственная - три страницы и три блока сигарет, то догадайтесь, какой язык победит
если в дотнете фреймворк с любыми возможными классами и методами, обновляющийся регулярно, а в си - непонятно кем и как написанная библиотека десять лет назад, то возникает тот же вопрос
хотя нет, не возникает - ответ ведь очевиден
scifi
Цитата(Огурцов @ Jul 6 2015, 14:26) *
если в жабе обёртка исключения занимает три строчки и может быть вложенной, а в си, единственная - три страницы и три блока сигарет, то догадайтесь, какой язык победит

"Телевидение. Будет одно сплошное телевидение."
Всё это интересно, конечно. Но если посмотреть вокруг, почему-то не видно оглушительной повсеместной победы жабы в мире МК. Наверное, на это есть какие-то причины, не правда ли? Кроме заговора сишников, конечно biggrin.gif
Огурцов
Цитата(scifi @ Jul 6 2015, 11:30) *
Наверное, на это есть какие-то причины, не правда ли?

ну да, сишники упорно продолжают писать для контроллеров по десять центов
с нетерпением ждём контроллеров по центу
mantech
Цитата(scifi @ Jul 6 2015, 14:30) *
Но если посмотреть вокруг, почему-то не видно оглушительной повсеместной победы жабы в мире МК. Наверное, на это есть какие-то причины, не правда ли?


Ну да, вот пока не сделают аппаратную поддержку жабы в мелких мк - "кина не будет" biggrin.gif
scifi
Цитата(mantech @ Jul 6 2015, 22:01) *
Ну да, вот пока не сделают аппаратную поддержку жабы в мелких мк - "кина не будет" biggrin.gif

Боюсь, что если даже и сделают, кина всё равно не будет laughing.gif
Aner
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) *
Ну да, вот пока не сделают аппаратную поддержку жабы в мелких мк - "кина не будет" biggrin.gif

Это вы не понимаете о чем пишите. Аппаратная поддержа виртуальной ява машины делается легко почти на любом проце, начиная с 8-битников, а вот затем ...

QUOTE (AlexandrY @ Jul 6 2015, 10:56) *
Прям таки закрыт?
С чего это он будет нормально закрыт если нормально не смог быть открыт.

Вся эта мишура работает только на процессорах с виртуальной памятью. Где процесс можно взять и убить спокойно, а памяти море.
На Cortex-M такой код неприемлем.

Начиная с Cortex-M4 все там нормально получается в тех рамках виртуальной ява машины. Гарбаш колектора там трудятся прилично.
65К классов вам думаю будет достаточно для многих задач. Многих привлекала простая реализация TCP/IP стака и его уровни.
k000858
Цитата(Aner @ Jul 7 2015, 00:08) *
Повнимательнее посмотрел на эту бяку IS2T.

мне эта SDK тоже жутко не понравилась
есть альтернативы?
как собрать аналог самостоятельно из классического эклипса? сейчас программлю под арм испод эклипса + GCC. Как это довести до "программить для явы"?
_pv
Цитата(mantech @ Jul 7 2015, 02:01) *
Ну да, вот пока не сделают аппаратную поддержку жабы в мелких мк - "кина не будет" biggrin.gif

уже делали, правда не в самых мелких МК - оказалось никому не нужно.
Aner
QUOTE (_pv @ Jul 7 2015, 09:30) *
уже делали, правда не в самых мелких МК - оказалось никому не нужно.

да тут не нужно, там нужно.

QUOTE (k000858 @ Jul 7 2015, 06:41) *
мне эта SDK тоже жутко не понравилась
есть альтернативы?
как собрать аналог самостоятельно из классического эклипса? сейчас программлю под арм испод эклипса + GCC. Как это довести до "программить для явы"?

Никак. Самому взять недоделаную виртуальную яву, из любимого GCC и сваять, ограничившись ненужным.

QUOTE (_pv @ Jul 7 2015, 09:30) *
уже делали, правда не в самых мелких МК - оказалось никому не нужно.

Это вы про андройд, то что он никому не нужен? Ну не скажите ...
Непомнящий Евгений
Цитата(k000858 @ Jul 7 2015, 05:41) *
как собрать аналог самостоятельно из классического эклипса? сейчас программлю под арм испод эклипса + GCC. Как это довести до "программить для явы"?


А в чем вопрос то? Эклипс для явы умеет запускать тот же ant, а через него вы можете цеплять любые действия...

Как я понимаю для начала вам надо определиться с JVM, а дальше смотреть инструкции к ней - стандартный ли там компилятор, как загружать полученное в процессор и т.п...
SasaVitebsk
Цитата(scifi @ Jul 6 2015, 14:30) *
Всё это интересно, конечно. Но если посмотреть вокруг, почему-то не видно оглушительной повсеместной победы жабы в мире МК.

Да и без МК тоже оглушительной победы не наблюдается...
Оценивать язык, по простоте обработки исключений, как то не убедительно ... Как говорится: Женитьба существенно помогает решать проблемы, которых у неженатых вообще нет.
Сначало вводим принцип написания, где реалтаймовое динамическое выделение памяти, а потом радуемся изяществу сборщика мусора.
_pv
Цитата(Aner @ Jul 7 2015, 13:06) *
Это вы про андройд, то что он никому не нужен? Ну не скажите ...

я про Jazelle, которая в мелких МК (хоть ARM9х и похороненный атмелом AVR32AP нельзя назвать мелкими МК, линукс запустить могли, но судя по википедии даже был даже ARM7 c буквами EJ) как-то не прижилась, за ненадобностью.
из кортексов -M выпилили совсем.
в последних -А вроде бы тоже нету, им, как в анекдоте про лося и 50гр, похоже дури и так хватает, справятся и без аппаратного ускорения.
Огурцов
Цитата(SasaVitebsk @ Jul 7 2015, 09:03) *
Сначало вводим принцип написания, где реалтаймовое динамическое выделение памяти, а потом радуемся изяществу сборщика мусора.

да, это было оригинальное решение - запретить явное уничтожение объектов
в дотнете почему-то решили сделать так же криво
в результате имеем полностью непредсказуемое, по задержкам, поведение программы
хотя вот за остальное, типа качества сбора мусора, я не беспокоюсь
Aner
QUOTE (Огурцов @ Jul 7 2015, 13:26) *
да, это было оригинальное решение - запретить явное уничтожение объектов
в дотнете почему-то решили сделать так же криво
в результате имеем полностью непредсказуемое, по задержкам, поведение программы
хотя вот за остальное, типа качества сбора мусора, я не беспокоюсь

дотнет со своей решеткой никоем образом никто на контроллеры даже и не думал ставить. Ему бы на компах удержаться, глючный пре-глючный весь.
Непомнящий Евгений
Цитата(Огурцов @ Jul 7 2015, 12:26) *
да, это было оригинальное решение - запретить явное уничтожение объектов
в дотнете почему-то решили сделать так же криво
в результате имеем полностью непредсказуемое, по задержкам, поведение программы


Ну вот я явно уничтожил объект - а как быть со всеми ссылками на него? Получается, надо все эти ссылки обнаружить и обнулить? ИМХО, с GC это малосовместимо.

А если исключить GC, то в чем преимущества Явы перед теми же С++?

Цитата
хотя вот за остальное, типа качества сбора мусора, я не беспокоюсь

Сборка мусора приводит к остановке всей программы. В ряде применений это может быть критично
Aner
QUOTE (Непомнящий Евгений @ Jul 7 2015, 13:43) *
...
Сборка мусора приводит к остановке всей программы. В ряде применений это может быть критично

Небыло такого никогда, ищите ошибку в проге.
Огурцов
Цитата(Aner @ Jul 7 2015, 09:41) *
глючны пре-глючный весь.

судя по вашим сообщениям - у вас минимум десятилетний стаж разработки на шарпе
борланд си билдер был глючный преглючный
почему-то в отличие от своей сестрёнки дельфи


Цитата(Непомнящий Евгений @ Jul 7 2015, 09:43) *
Ну вот я явно уничтожил объект - а как быть со всеми ссылками на него? Получается, надо все эти ссылки обнаружить и обнулить?

при нормальном языке это как-то само собой получается и никогда не вызывало напрягов
а когда вызывало - можно было отследить утёчку памяти и прибить проблемы в зародыше
зачем придумали gc - я не хочу понимать, видимо для совсем безобразного программирования
Golikov A.
Сборщик мусора не только освобождает память от ненужных объектов, он ее еще и дефрагментирует ее...
Непомнящий Евгений
Цитата(Огурцов @ Jul 7 2015, 12:57) *
при нормальном языке

Это ж каком wink.gif ?

Цитата
зачем придумали gc - я не хочу понимать, видимо для совсем безобразного программирования

Гм. Ну не хотите gc и хотите кидать исключения - плюсы вам в помощь.


Цитата(Aner @ Jul 7 2015, 12:47) *
Небыло такого никогда, ищите ошибку в проге.


на самом деле зависит от сборщика мусора.

Тот, который не стопает, захватывает глобальную критическую секцию на каждую запись ссылки - что вообще говоря тоже не гуд
Огурцов
Цитата(Непомнящий Евгений @ Jul 7 2015, 11:13) *
исключения - плюсы

исключения != плюсы
я бы предпочёл нормально работающий на каком-то оборудовании полный фреймворк
просто подождём поздней осени и f7
Aner
QUOTE (Огурцов @ Jul 7 2015, 16:31) *
исключения != плюсы
я бы предпочёл нормально работающий на каком-то оборудовании полный фреймворк
просто подождём поздней осени и f7

Зачем ждать чего то? Пошите под любой андройд на тойже яве.
kolobok0
Цитата(Непомнящий Евгений @ Jul 7 2015, 12:43) *
...а как быть со всеми ссылками на него? Получается, надо все эти ссылки обнаружить и обнулить? ИМХО, с GC это малосовместимо....
Сборка мусора приводит к остановке всей программы....


подсчёт ссылок на объект - это тривиальная задача, успешно решённая до появления явы-какавы или си бимоля. см. COM технологию.
Как это совмещать - рекомендую книгу Джэфри Элджера C++ = там очень интересное и побуждающее чтиво.

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

Тут правильно прозвучало - там идёт ышо и дефрагментация. Точнее распределение памяти там хитропопно завёруто и в момент освобождения -
идёт копирование объектов из освобождаемого пула в новый. Т.к. на этот срез времени доступ к таким объектам запрещён, отсюда и замирание системы
(особенно если память под си бимолем и иже юзается интенсивно, а не на уровне хэйлохты мир)...
Aner
QUOTE (Огурцов @ Jul 7 2015, 18:33) *
я его раздавил

Голова не болела?

QUOTE (kolobok0 @ Jul 7 2015, 18:26) *
подсчёт ссылок на объект - это тривиальная задача, успешно решённая до появления явы-какавы или си бимоля. см. COM технологию.
Как это совмещать - рекомендую книгу Джэфри Элджера C++ = там очень интересное и побуждающее чтиво.

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

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

kolobok0, тут ява и решетка та что на писюках не интересна никак, тут про JVM в основном речь то, на Cortex-M, точнее с M4 скорее всего. А этот кострат очень живучь для многих приложений, он же переполз на A8...11 и там стал андройдом.
DmitryM
Гуглим, http://stackoverflow.com/questions/1085643...m-for-cortex-m3
половина ссылок мертвые.
IMHO, задаче свое решение.
alexunder
Цитата(kolobok0 @ Jul 7 2015, 16:26) *
явы-какавы или си бимоля.

тогда уж си-диез, нет? sm.gif

Будет интересно посмотреть на результат какой-нибудь риал-тайм системы на Яве, взлетит ли? Сомневаюсь. Однако, если человеку хочется программировать МК на Яве, пусть программирует.
Mihey_K
Jazelle давно есть на жирных Cortex-Axx, но оно и понятно - для Далвика.
Цитата
при нормальном языке это как-то само собой получается и никогда не вызывало напрягов

Неужели вы думаете, что вшивый МК без MMU будет все за вас чистить и даже дефрагменировать? Для них даже усеченная реализация malloc/free/new/delete используется, а тут такие замашки. Надо выбирать - или только чистим мусор или забиваем на "преимущества" и выполняем пользовательский код sm.gif
Огурцов
netduino plus 2 работает под микрофреймворком
только с сеткой оне зачем-то конкретно накосячили
Mihey_K
Все косяки от того, что существование полноценной JVM без платформы ОС это абсурд. У Oracle нет пункта скачать под IA64 или под Sparc, есть только под ОС. JVM не работает с голым железом. Например, она лишь дополняет работу с памятью, но всё также работая в виртуальной памяти и обрабатывая исключения ОС, если программа полезла в запрещенную область. И память выделяет/чистит она силами ОС. С оборудованием работает через системные вызовы. Портировать JVM легче под ОС, чем под голое железо, хотя бы потому, что вариаций ОС меньше и для работы с ними требуется меньше asm. И, наверное, стека TCP нет в JVM, а есть лишь надстройка над ОС.
Создавая C++ Страуструп не пошел на компромисс монструозность/скорость исполнения кода, и теперь мы пользуем C++ на самых маленьких МК. И да, в нем нет стека TCP/IP и сборщика мусора.
Непомнящий Евгений
Цитата(kolobok0 @ Jul 7 2015, 17:26) *
подсчёт ссылок на объект - это тривиальная задача, успешно решённая до появления явы-какавы или си бимоля. см. COM технологию.
Как это совмещать - рекомендую книгу Джэфри Элджера C++ = там очень интересное и побуждающее чтиво.

Подсчет ссылок - это такая полуавтоматическая технология сборки мусора. Проблема номер 1 - она не разруливает циклы (но есть штуки вроде weak_ptr, которые помогают это делать вручную). Проблема номер 2 - она тоже не слишком шустрая, и в некоторых случаях проигрывает gc

Цитата
сборщик мусора приводит не только к остановке программы (если рассматривать форточки). а приостанавливает работу многих сервисов из ядра системы.

Ну если сервис написан под .NET, то да, эпизодически в нем происходит сборка мусора
SasaVitebsk
Как то пошло на общее осуждение технологии, вместо конкретных решений. Не ясно, нужно ли это топикстартеру?
Но если честно, то мне любопытно. В самом деле, хотелось бы по крайней мере знать общие тенденции... ))

Хотелось бы в целом понять. Что именно привлекает автора?
Скажем исключения - для си и для плюсов задача не сказать чтобы архисложная. Здесь больше зависит от того, как написано всё. Если широко используется динамическое выделение памяти или, к примеру, внешние библиотеки ну например FAT, TCP/IP стеки, то действительно, для начала требуется глубоко залезть в эти библиотеки. Если пишешь всё сам и с нуля, то это вообще не проблема.
Как преимущество промелькнула возможность предварительной отладки проекта под писишкой. Ну я тут от обратного иду. Замутил себе симулятор на QT и шпарю. Правда я только GUI и некоторые другие вещи отлаживал. Ну типа клаву, флэш память. Но по хорошему можно и другие вещи прикрутить. Тоже вариант.

Ну если задача браузер написать, то тогда не совсем понятно. Наверное тогда лучше смотреть на более жирные камни с Linux или другой полноценной осью. Мне кажется.

Хотелось бы более конкретно преимущества услышать.
mantech
Цитата(SasaVitebsk @ Jul 8 2015, 09:16) *
Хотелось бы более конкретно преимущества услышать.


Думаю, под "преимуществами" большинство видит только простоту программирования, чтоб не сидеть с чтением даташитов на мк, а просто впиндюрить программу с псишки... Но легко ничего не бывает, вот и нет ничего путного пока, да и не будет наверно. Могу только предположить то время, когда камни типа аллвиннера,рокчипа и т.п. будут со встроенной памятью, флешкой и будут стоить 3 копейки, что можно будет пихать их в новогодние гирлянды, то тогда мигание этими лампочками можно будет писать на жабе, в браузере или на пхп.... Вот тогда заживем! biggrin.gif

ЗЫ. самому как-то захотелось простоты, решил замутить свой мк с вирт. машиной, но только ориентированной на работу с периферией, это еще куда ни шло, а жаба, от нее в таком случае какой толк??
Огурцов
когда оллвиннер будет стоить три копейки, даже страшно становится, как представлю, сколько будут зарабатывать сишники на своих к тому времени микроцентовых камнях
Непомнящий Евгений
Цитата(Огурцов @ Jul 8 2015, 12:28) *
когда оллвиннер будет стоить три копейки, даже страшно становится, как представлю, сколько будут зарабатывать сишники на своих к тому времени микроцентовых камнях


Сишники освоят жабу и вздохнут с облегчением biggrin.gif
k000858
Если честно я сам пока не знаю, как это юзать и зачем. НО вижу в этом дополнительный инструмент для создания устройств и решений.
Поэтому сейчас неспешно изучаю как это юзать и куда можно применить.

Как никак альтернативная ветка эволюции...
SasaVitebsk
А оно и сейчас уже так... Потребность embedded программистах невысокая, зарплата низкая. Рулят различные php, java, и т.п. И з/п у них значительно выше.
По крайней мере у нас.
Причина, наверное, в том, что этих программистов могут нанять конторы из-за бугра. Впрямую или ч/з национального посредника.
Такой вариант с embedded не просматривается ...
mantech
Цитата(SasaVitebsk @ Jul 9 2015, 07:51) *
А оно и сейчас уже так... Потребность embedded программистах невысокая, зарплата низкая. Рулят различные php, java, и т.п. И з/п у них значительно выше.
По крайней мере у нас.
Причина, наверное, в том, что этих программистов могут нанять конторы из-за бугра. Впрямую или ч/з национального посредника.
Такой вариант с embedded не просматривается ...


Вот сами и ответили, почему... Спрос на разработки железа вообще и промэлектроники в частности гораздо меньше, чем на инет-магазины соцсети и всякую развлекуху и всяческое сопутствующее по, которое делается на всяких пхп и жабах - отсюда и невысокий спрос и зп...
Но это не означает, что весь этот "ширпотреб" ломанется во встраиваемые решения - это разные сектора, у кого-то спрос больше у кого-то меньше, но не более того..
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.