Nếu bạn chưa có kinh nghiệm trong lĩnh vực lập trình vi xử lý / vi điều khiển, có lẽ bạn nên học C trước, để bạn có thể hiểu khi nào và tại sao Java là lựa chọn kém cho hầu hết các dự án vi điều khiển.
Bạn đã đọc các hạn chế đối với JVM mà bạn đã liên kết chưa? Nó bao gồm các vấn đề sau:
- Ít nhất là 512 byte bộ nhớ chương trình (không phải KB và chắc chắn không phải MB)
- Ít nhất là 768 byte RAM (nơi các biến của bạn đi. Bạn bị giới hạn ở 768 ký tự chuỗi bởi hạn chế này.)
- Khoảng 20k opcodes Java mỗi giây trên 8 Mhz AVR.
- Chỉ bao gồm java.lang.Object, java.lang.System, java.io.PrintStream, java.lang.StringBuffer, lớp điều khiển JVM và lớp IO gốc. Bạn sẽ không thể thực hiện nhập java.util. *; và nhận được tất cả các lớp không có trong danh sách này.
Nếu bạn không quen với những hạn chế này có nghĩa là gì, hãy đảm bảo rằng bạn có kế hoạch B nếu hóa ra bạn thực sự không thể thực hiện dự án với Java do các hạn chế về không gian và tốc độ.
Nếu bạn vẫn muốn sử dụng Java, có lẽ vì bạn hy vọng thiết bị sẽ được lập trình bởi nhiều người chỉ biết Java, tôi thực sự khuyên bạn nên có phần cứng lớn hơn, có thể là thứ gì đó chạy Linux nhúng. Xem trang này từ Oracle để biết một số thông số kỹ thuật để chạy JVM được nhúng, trong Câu hỏi thường gặp về cuộc thảo luận của họ, họ đề xuất tối thiểu 32 MB RAM và 32 MB Flash. Đó là khoảng 32.000 lần RAM và 1,00 lần Flash của AVR mà bạn đang xem. Trang Giới thiệu nhúng Java của Oracle đi sâu vào chi tiết hơn về các hạn chế của JVM. Giọng điệu của họ, như bạn có thể đoán, rất thân thiện với Java hơn tôi. Xin lưu ý rằng loại phần cứng này khó thiết kế hơn nhiều so với AVR 8 bit.
Tôi là một sinh viên kỹ thuật máy tính với một trẻ vị thành niên khoa học máy tính. Khoa CS của trường đại học của tôi đã uống chương trình hỗ trợ Java Kool, vì vậy rất nhiều sinh viên trong chương trình kỹ thuật chỉ biết Java (đó là một tình trạng đáng buồn cho một lập trình viên, ít nhất là học một số Python hoặc C ++ nếu bạn không muốn học C ...), vì vậy một trong những giáo sư của tôi đã xuất bản Bảng Cheat C cho sinh viên có một năm kinh nghiệm Java. Chỉ có 75 trang; Tôi đề nghị bạn đọc hoặc đọc lướt nó trước khi đưa ra quyết định. Theo tôi, C là ngôn ngữ chuyên nghiệp, hiệu quả và bền vững nhất để phát triển một dự án nhúng.
Một lựa chọn khác để xem xét là khung Arduino . Nó sử dụng một phiên bản rút gọn của ngôn ngữ Wires , giống như C ++ mà không có đối tượng hoặc tiêu đề. Nó có thể chạy trên nhiều chip AVR, nó chắc chắn không bị hạn chế đối với phần cứng của chúng. Nó sẽ cung cấp cho bạn một đường cong học tập dễ dàng hơn là chỉ cần nhảy thẳng vào C.
Để kết luận,
văn bản Alt: Đã cho tôi năm cố gắng tìm đúng, nhưng cuối cùng tôi đã cứu được chúng tôi - nếu không phải là chiếc thuyền - cuối cùng.