Если вы неопытны в области программирования микропроцессора / микроконтроллера, вам, вероятно, следует сначала изучить C, чтобы понять, когда и почему Java является плохим выбором для большинства проектов микроконтроллеров.
Вы читали ограничения на JVM, которую вы связали? Это включает в себя следующие проблемы:
- Всего 512 байт памяти программы (не КБ и не МБ)
- Всего 768 байт оперативной памяти (куда идут переменные. Это ограничение ограничено 768 символами строк).
- Около 20 тысяч кодов Java в секунду на 8 МГц AVR.
- Включает только java.lang.Object, java.lang.System, java.io.PrintStream, java.lang.StringBuffer, класс управления JVM и собственный класс IO. Вы не сможете выполнить импорт java.util. *; и получить все классы не в этом списке.
Если вы не знакомы с тем, что означают эти ограничения, убедитесь, что у вас есть план B, если выясняется, что вы не можете выполнить проект с Java из-за ограничений по пространству и скорости.
Если вы все еще хотите использовать Java, возможно, из-за того, что многие люди, знающие только Java, программируют устройство, я бы настоятельно рекомендовал приобрести более мощное оборудование, вероятно, с поддержкой встроенного Linux. См. Эту страницу Oracle для ознакомления с некоторыми спецификациями для запуска встроенной JVM. В разделе часто задаваемых вопросов об их обсуждении они рекомендуют минимум 32 МБ ОЗУ и 32 МБ Flash. Это примерно в 32 000 раз больше, чем в ОЗУ, и в 10000 раз больше, чем у AVR. На странице Oracle Java Embedded Intro более подробно рассказывается об ограничениях JVM. Их тон голоса, как вы можете догадаться, гораздо более дружественный к Java, чем мой. Имейте в виду, что этот тип оборудования гораздо сложнее разработать, чем 8-битный AVR.
Я студент по компьютерной инженерии с небольшим информатики. Департамент CS моего университета выпил Java Kool-aid, поэтому многие студенты инженерной программы изучают только Java (что является печальным положением для программиста, по крайней мере, изучите Python или C ++, если вы этого не сделаете) хочу выучить C ...), поэтому один из моих профессоров опубликовал C Cheat Sheet для студентов с опытом работы на Java. Это всего 75 страниц; Я предлагаю вам прочитать или просмотреть его, прежде чем принимать решение. На мой взгляд, C - самый эффективный, долговечный и профессиональный язык для разработки встроенного проекта.
Другой альтернативой для рассмотрения является Arduino Framework. Он использует урезанную версию языка Wiring , которая похожа на C ++ без объектов или заголовков. Он может работать на многих чипах AVR, он определенно не ограничен их аппаратным обеспечением. Это даст вам более легкую кривую обучения, чем просто прыгнуть прямо в C.
В заключение,
альтернативный текст: у меня ушло пять попыток найти правильную, но мне удалось спасти нашу ночь - если не лодку - в конце концов.