마이크로 프로세서 / 마이크로 컨트롤러 프로그래밍 분야에 경험이 없다면, C를 먼저 배워야 할 것이므로 대부분의 마이크로 컨트롤러 프로젝트에서 Java가 왜 그리고 왜 좋지 않은지를 이해할 수 있습니다.
링크 한 JVM에 대한 제한 사항을 읽었습니까? 다음과 같은 문제가 있습니다.
- 512 바이트 정도의 프로그램 메모리 (KB가 아님, MB가 아님)
- 최소 768 바이트의 RAM (변수가있는 곳.이 제한에 의해 768 자의 문자열로 제한됩니다.)
- 8Mhz AVR에서 초당 약 20k Java opcode.
- java.lang.Object, java.lang.System, java.io.PrintStream, java.lang.StringBuffer, JVM 제어 클래스 및 기본 IO 클래스 만 포함합니다. 가져 오기를 수행 할 수 없습니다. java.util. *; 이 목록에없는 모든 클래스를 가져옵니다.
이러한 제한의 의미에 익숙하지 않은 경우 공간 및 속도 제한으로 인해 실제로 Java로 프로젝트를 수행 할 수없는 경우 계획 B가 있는지 확인하십시오.
Java를 계속 사용하고 싶다면 Java를 아는 많은 사람들이 장치를 프로그래밍해야하기 때문에 임베디드 Linux를 실행하는 더 큰 하드웨어를 얻는 것이 좋습니다. 임베디드 JVM을 실행하기 위해 어떤 사양을 사용하려면 Oracle의이 페이지를 참조하십시오. 토론 FAQ에서 최소 32MB의 RAM과 32MB의 플래시를 권장합니다. 보고있는 AVR의 RAM은 약 32,000 배, 플래시는 1,0000 배입니다. Oracle의 Java Embedded Intro 페이지는 JVM의 제한 사항에 대해 자세히 설명합니다. 그들의 목소리는 내 생각보다 자바에 더 친숙하다. 이러한 종류의 하드웨어는 8 비트 AVR보다 설계하기가 훨씬 어렵습니다.
컴퓨터 공학 미성년자 컴퓨터 공학 학생입니다. 우리 대학의 CS 부서는 Java Kool-aid를 마 셨기 때문에 엔지니어링 프로그램의 많은 학생들은 Java 만 알고 있습니다. 이는 프로그래머에게 슬픈 일입니다. C.를 배우고 싶어서 교수님 중 한 명이 1 년간의 Java 경험을 가진 학생들을위한 C 치트 시트 를 발표했습니다 . 75 페이지에 불과합니다. 결정을 내리기 전에 읽거나 훑어 보는 것이 좋습니다. 제 생각에 C는 임베디드 프로젝트를 개발할 때 가장 효율적이고 내구성이 있으며 전문적인 언어입니다.
고려해야 할 또 다른 대안은 Arduino 프레임 워크입니다. 그것은 사용 다운 버전을 박탈 의 배선 개체 또는 헤더없이 C ++처럼 언어를. 많은 AVR 칩에서 실행될 수 있으며 하드웨어에 국한되지 않습니다. C로 바로 뛰어 들기보다 쉬운 학습 곡선을 제공합니다.
결론적으로,
Alt text : 다섯 가지가 올바른 것을 찾으려고 노력했지만 결국 보트가 아니라면 밤을 구해 냈습니다.