Перейти к содержанию
    

16 часов назад, MrBearManul сказал:

Зачем вы задаёте это вопрос?

Чтобы вы сами и ответили на свой вопрос. Конечно, язык программирования Java не имеет ничего специального для обработки прерываний. Но он также и не имеет никаких ограничений для того, чтобы обработать исключительную ситуацию, инициированную железом. Где все это обрабатывать (в коде пользователя на Java или в виртуальной машине), думать будет тот, кто задумает все это перенести на STM32. В Java, как и в C++ есть очень много тяжелых вещей типа, эксепшенов, интроспекции, рефлексии, замыканий, ключевых слов для реализации синхронизации и блокировок, синтаксис для итерации по коллекциям. Опять-таки, тот кто будет реализовывать Java на STM32 будет думать, как это реализовать на этом железе или просто забить и назвать это Embedded Java откинув все ненужное (тяжелое) на такой платформе.

Ну а потом, на форум, на котором будут обсуждать эту Java платформу для STM будут приходить пионЭры и рассказывать, как тяжело на этой бодяге писать без возможности сделать, что-то типа: "String exam = "Hello"; exam += " world!"; System.out.println (exam);". Ибо я так привык и хАчу так!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, Quasar сказал:

В Java, как и в C++ есть очень много тяжелых вещей типа, эксепшенов, интроспекции, рефлексии, замыканий, ключевых слов для реализации синхронизации и блокировок, синтаксис для итерации по коллекциям.

Жуть какая, и не все понял)))  По факту, сейчас настолько усложнили все, понапридумывали столько всякой бредятины, что разобраться во всем этом нужны годы... Когда-то давно решил заняться своей "виртуалкой"и во главу угла поставил самое простое решение, но чтобы на нем можно было решать задачи выше среднего. В результате анализа понял, что достаточно всего-лишь 2х типов данных (32х битное число и текстовая строка),базовых функций (if,else,do,while,break), потом еще for для удобства добавил))) , одномерного массива, и нескольких десятков системных вызовов, конверторов, математики и пожалуй все. Сама система имела обработчик прерываний и возможность работы с потоками, что оказалось очень удобным. На ней уже написано несколько программ для различных вендинговых аппаратов, которые работают с кучей периферии, 5ю разными интерфейсами, графикой, ГУЕм, интернетом и еще много с чем, и несколько устройств промавтоматики и УД. Пока не вижу смысла все это усложнять и наворачивать какими-то доп. возможностями, считаю, что чем проще-тем лучше и понятнее, ИМХО, разумеется...

Изменено пользователем mantech

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

12 minutes ago, mantech said:

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

Вынос прерываний на верхний уровень это показатель отсутствия архитектуры.
Ваш способ напоминает катакомбы, т.е. место для захоронения софта. Похороненный софт никому не интересен. 

Я пишу верхний уровеь IoT пользуясь связью с интернетом через 5-ть разных интерфейсов: UART, USB, Ethernet, SDIO, SPI
И ни в одном из случаев мне надо думать о прерыванях от этих интерфейсов. 
Я пишу программы для ПЛК работающие в жестком реальном времени и ни разу там не встретил понятия прерывания.  
Пишу приложения для PC и тоже ни разу мне не понадобились прерывания. 
И все это благодаря чудесной технологии  - иерархической архитектуре!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 часа назад, Quasar сказал:

Чтобы вы сами и ответили на свой вопрос

Я и так предположить могу) Зачем мне ответ. С Явой пока связываться не собираюсь в любом случае.

 

2 часа назад, Quasar сказал:

Опять-таки, тот кто будет реализовывать Java на STM32

Надеюсь вы помните, что автор данного топика не я) Мне это не особо нужно. Я рассматривал применение Явы некоторое время назад именно в рамках виртуалке, запущенной на Cortex-M4F. Мне нужно было предоставить несложный скриптовый язык пользователю. Рассматривался также и Си и Паскаль...

17 минут назад, AlexandrY сказал:

Вынос прерываний на верхний уровень это показатель отсутствия архитектуры.

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

Изменено пользователем MrBearManul

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, mantech сказал:

Жуть какая, и не все понял)))  По факту, сейчас настолько усложнили все, понапридумывали столько всякой бредятины

Java, так же как и C++ это язык, который используется в хреновой туче разных мест (от телефончиков на андройде до банковских серверов).

Я Java использую много, для написания прикладного софта на ПК. Обычно, этот софт работает с какими-то моими или чужими железками и GUI. Какие-то вещи из этой бредятины, я использую регулярно, например ексепшены (исключения), ключевые слова для синхронизации и блокировок, синтаксис для итераций по коллекциям и замыкания, реализованные в Java с помощью лямба-выражений, но это совершенно не значит, что нельзя было бы написать тот же софт не используя все это (или вообще на другом языке). Но, та же рефлексия с интроспекцией могут быть зачем-то нужны разработчикам библиотек, потому что им так удобнее, и мне совершенно не хочется их учить работать и лезть в их сложности, утверждениями о бредятине или ненужности того или иного механизма.

28 минут назад, MrBearManul сказал:

Надеюсь вы помните, что автор данного топика не я) Мне это не особо нужно. Я рассматривал применение Явы некоторое время назад именно в рамках виртуалке, запущенной на Cortex-M4F. Мне нужно было предоставить несложный скриптовый язык пользователю. Рассматривался также и Си и Паскаль...

Дело все в том, что именно автору топика я особо ничего отвечать не хочу. Меня удивило другое, как на совершенно безграмотные пассажи автора, куча народу ринулась чего-то доказывать.

 

По поводу автора, у меня крутится в голове только следующая цитата Булгакова:

Цитата

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

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

7 минут назад, Quasar сказал:

куча народу ринулась чего-то доказывать.

Чтож, это своеобразное общение) Не забываем, что на дворе... пандемия)))

8 минут назад, Quasar сказал:

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

Как бы я не любил Булгагова, конкретно в этой фразе также кроется и некоторая заносчивость учёных светил) Но это уже оффтопик...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

20 минут назад, Quasar сказал:

Java, так же как и C++ это язык, который используется в хреновой туче разных мест (от телефончиков на андройде до банковских серверов).

Я Java использую много, для написания прикладного софта на ПК. Обычно, этот софт работает с какими-то моими или чужими железками и GUI. Какие-то вещи из этой бредятины, я использую регулярно, например ексепшены (исключения), ключевые слова для синхронизации и блокировок, синтаксис для итераций по коллекциям и замыкания, реализованные в Java с помощью лямба-выражений, но это совершенно не значит, что нельзя было бы написать тот же софт не используя все это (или вообще на другом языке). Но, та же рефлексия с интроспекцией могут быть зачем-то нужны разработчикам библиотек, потому что им так удобнее, и мне совершенно не хочется их учить работать и лезть в их сложности, утверждениями о бредятине или ненужности того или иного механизма.

Дело все в том, что именно автору топика я особо ничего отвечать не хочу. Меня удивило другое, как на совершенно безграмотные пассажи автора, куча народу ринулась чего-то доказывать.

 

По поводу автора, у меня крутится в голове только следующая цитата Булгакова:

 

 

Мне совершенно пофиг что вы обо мне думаете, но я уже получил все ответы. Главное что многие другие высказали много полезной информации. Я же говорю не бредятину, а подстегиваю народ подумать поразмыслить высказаться. Кто то нормально рассуждает, а кто то до личностей сваливается :)

Господа, заканчивайте перемывание косточек, я уже понял ваше объяснение, что реализацию приема данных нужно делать на низшем уровне единственным проверенным инструментом, а работу с самими данными делать уже как мне хочется и каким хочется языком на ПК. Просто я давно не работал с мк и посмотрев на них, предположил что мощности современных мк достаточно чтобы объединить эти две задачи.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

24 minutes ago, AlekErm said:

предположил что мощности современных мк достаточно чтобы объединить эти две задачи

Более чем достаточно -- если не, извиняюсь, просирать эту мощность на всякие там жабопитоны.

 

Кстати говоря, забота об экологии должна была б начаться с полного запрета подобных языков -- чтоб снизить расход энергии, вызванный программированием без участия головного мозга, что без них невозможно. Ну и котиков в тырнетах запретить, ага. Но, поскольку без зрелищ никак, ждём полного краха современной цивилизации, ибо ресурсы Земли небезграничны. Но это злостный оффтоп.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

56 minutes ago, AlekErm said:

Я же говорю не бредятину, а подстегиваю народ подумать поразмыслить высказаться.

Если любите скрипты, то вот 17-е место в списке критично важного софта на С-и от Гугла - https://github.com/RIOT-OS/RIOT
В проекте поддерживаются Basic, LUA, Python, JS ... Эт что прям в глаза там бросается. Может и ява есть. Прикольная свалка

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

7 минут назад, AlexandrY сказал:

Если любите скрипты, то вот 17-е место в списке критично важного софта на С-и от Гугла - https://github.com/RIOT-OS/RIOT
В проекте поддерживаются Basic, LUA, Python, JS ... Эт что прям в глаза там бросается. Может и ява есть. Прикольная свалка

Я не говорил про скрипты, что я совсем дурак что ли не понимаю различий.

JAVA — объектно-ориентированный язык программирования, а JavaScript — объектно-ориентированный язык сценариев.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

4 часа назад, AlexandrY сказал:

Я пишу верхний уровеь IoT пользуясь связью с интернетом через 5-ть разных интерфейсов: UART, USB, Ethernet, SDIO, SPI
И ни в одном из случаев мне надо думать о прерыванях от этих интерфейсов. 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

15 hours ago, mantech said:

Жуть какая, и не все понял)))  По факту, сейчас настолько усложнили все, понапридумывали столько всякой бредятины, 

Зря вы так. В жабе это довольно удобно, быстро привыкаешь и обратно -- ну можно конечно, но лучше не. Как автомат после ручки.

14 hours ago, MrBearManul said:

Мне нужно было предоставить несложный скриптовый язык пользователю.

ОООоооо... какая это боль.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

13 минут назад, abcalex12 сказал:

ОООоооо... какая это боль.

Простите, что вы подразумеваете под этими словами?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 12/10/2020 at 5:14 PM, AlekErm said:

... поскольку черный ящик выдает 1.8В логические уровни. А переходнику выше 2В надо...

Ваша задача с проблемой уровней, вопросами синхронизации потоков и парсинга хорошо ложится на возможности FPGA (хотя советы других тоже работают). В FPGA доступны уровни 1.5, 1.8, 2.5 и 3.3В, а также софт-процессоры, например Nios-II, ну и много ОЗУ с большим числом UART. Придется конечно программировать на С/С++, а также освоить один из HDL (рекомендую verilog). Вам это может оказаться по силам, судя по обсуждению. Начните со статьи "Технология FPGA для тысяч применений"  https://habr.com/ru/post/505838/ 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

4 минуты назад, Serhiy_UA сказал:

Ваша задача с проблемой уровней, вопросами синхронизации потоков и парсинга хорошо ложится на возможности FPGA (хотя советы других тоже работают). В FPGA доступны уровни 1.5, 1.8, 2.5 и 3.3В, а также софт-процессоры, например Nios-II, ну и много ОЗУ с большим числом UART. Придется конечно программировать на С/С++, а также освоить один из HDL (рекомендую verilog). Вам это может оказаться по силам, судя по обсуждению. Начните со статьи "Технология FPGA для тысяч применений"  https://habr.com/ru/post/505838/ 

Спасибо большое, обязательно ознакомлюсь с этой темой! C++ тоже буду подтягивать :ok:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...