Theo ý kiến của tôi, bỏ qua Arduino. Tôi đã luôn luôn nhìn thấy nó như là một loại hệ thống dumbed xuống cho người không lập trình. Đi cho một cái gì đó cho phép bạn áp dụng kiến thức C của bạn để có được mức độ thấp nhất có thể, lúc đầu. Bạn muốn hiểu cách các vectơ ngắt làm việc như thế nào, RAM giới hạn của bạn giới hạn ngăn xếp của bạn, cách gỡ lỗi.
Kiểm tra các bộ vi điều khiển 8 bit và 16 bit của Freescale, đặc biệt là HCS08 hoặc HCS12. Có một số $ 100-200 và một số hệ thống phát triển phụ $ 100 với giao diện gỡ rối được xây dựng (Chế độ gỡ lỗi nền). Đây cũng là hiệu suất và bộ nhớ cao hơn Arduino. Phần mềm CodeWarrior là miễn phí (giới hạn kích thước mã, nhưng trong hầu hết các trường hợp, số giới hạn lớn hơn số lượng flash trên các thiết bị này) và đầy đủ chức năng. Tôi không biết nếu bạn có thể thiết lập các điểm ngắt mã với Arduino, nhưng bạn có thể với những điều này. Có một lợi ích khác đối với CodeWarrior - trong khi đầu tiên bạn muốn tìm hiểu về các datasheets để hiểu cách các thanh ghi ánh xạ bộ nhớ cho các mô-đun khác nhau hoạt động (ví dụ: làm thế nào để xóa cờ, cách đặt chế độ, bất cứ điều gì), CodeWarrior đi kèm với bộ xử lý chuyên gia mà sẽ tạo ra các chức năng cho bạn cho các dẫn xuất gia đình HCSxx cụ thể và các mô-đun cụ thể của họ. Vì hầu hết các sản phẩm này sử dụng lại logic giữa các dẫn xuất, với một số khác biệt nhỏ, nó có ý nghĩa để sử dụng lại mã. Chuyên gia xử lý đã đi một chặng đường dài kể từ khi bắt đầu từ 10 năm trước. Về lâu dài, nó là một khoản tiết kiệm rất lớn cho thời gian phát triển, vì các chức năng này đảm nhiệm việc viết các hành động cấp thấp (ví dụ, cấu hình pin đầu ra bộ đếm thời gian PWM cho chu kỳ nhiệm vụ xx/yy với một cuộc gọi hàm C).
Sau đó, bạn có thể sử dụng một số hệ điều hành sẽ chạy trên các hệ điều hành này hoặc bạn có thể chuyển sang ARM hoặc ePPC. Tôi biết ít nhất một bản demo HCS12 đi kèm với Linux và một máy chủ web, mà bạn luôn có thể quét sạch cho sự phát triển đầu tiên của bạn, và sau đó đưa nó trở lại khi bạn đã sẵn sàng. Freescale cũng rất tốt với việc cung cấp hướng dẫn, ghi chú ứng dụng và tài liệu, ngoại trừ trang web của họ đôi khi khó điều hướng. Tôi cho rằng đó chỉ là một triệu chứng của một hệ sinh thái lớn. Chúc may mắn!
Nguồn
2012-03-22 16:40:50
Bạn có thể muốn thu hẹp phạm vi mục tiêu của mình. Một "hệ thống nhúng" có thể chạy phạm vi từ một CPU ARM 1GHz 32 bit, RAM 1GB, 32GB dung lượng lưu trữ, chạy Linux; xuống đến một vi điều khiển 8 bit với 1KB RAM không có O/S. Hãy thử tưởng tượng, cụ thể hơn, bạn muốn tạo ra những thứ gì và đi từ đó. –
C/C++? Chọn một. – Puppy
@DeadMG: Rõ ràng là trong bối cảnh anh ấy có thể lập trình cả hai. Chỉ cần cho bạn tôi đã làm cho nó rõ ràng hơn. – Clifford