Có thể nâng cấp phần sụn trên Arduino để nó có thể làm được nhiều việc hơn như thay đổi quá mức / quá mức để cung cấp thêm sức mạnh xử lý. Để làm điều này, bạn rất có thể phải flash lại chip, vậy làm thế nào để hoàn thành nó?
Có thể nâng cấp phần sụn trên Arduino để nó có thể làm được nhiều việc hơn như thay đổi quá mức / quá mức để cung cấp thêm sức mạnh xử lý. Để làm điều này, bạn rất có thể phải flash lại chip, vậy làm thế nào để hoàn thành nó?
Câu trả lời:
Để trả lời khía cạnh câu hỏi của bạn về "phần sụn" trên MCU ATmega328p được sử dụng trong hầu hết các bo mạch Arduino:
Không có phần sụn nào trên ATmega ngoài bộ nạp khởi động. Các chương trình bạn viết đang chạy trực tiếp trên phần cứng.
Có một số cài đặt "cầu chì" nhất định được đặt với một lập trình viên ISP . Tuy nhiên, chỉ có 24 trong số chúng (ba byte) và chúng chủ yếu liên quan đến cấu hình cấp thấp và không phải là những gì tôi nghĩ bạn đang hỏi:
Ngoài ra còn có Bootloader , đây là một chương trình nhỏ nằm trong một phần riêng biệt của bộ nhớ chương trình của MCU và cho phép nó tự cập nhật khi khởi động (đó là cách tất cả các arduinos được lập trình). Tuy nhiên, nó chỉ chạy trong một khoảng thời gian ngắn khi khởi động và bị xóa hoàn toàn khỏi bộ nhớ sau khi MCU đã nhảy vào chương trình chính.
Cuối cùng, có các MCU phụ trợ (ATmega16U2 / 8U2) trên hầu hết các bảng arduino được sử dụng làm giao diện nối tiếp USB, có thể được cập nhật để hoạt động khác nhau (ví dụ: mô phỏng bàn phím / chuột), nhưng một lần nữa, đây thực sự không phải là một sự thay đổi đối với bộ xử lý lõi, do đó, liệu nó có được tính là "cài đặt phần sụn khác không" tùy thuộc vào cách bạn xác định arduino.
Thực sự, tôi rất muốn đọc phần dữ liệu ATmega328P . Đây là tài liệu cho MCU về cơ bản tạo thành "Arduino". Nó nên giải quyết những gì dường như là quan niệm sai lầm.
Lưu ý biểu đồ bên dưới, liên quan đến việc bật / tắt thiết bị của bạn cho các loại khác nhau, cho biết mối quan hệ. Kết quả là bạn thấy hầu hết các Arduino chạy ở mức 5V và tốc độ xung nhịp là 16 MHz. Trong khi có một số biến thể 3.3V chạy ở tốc độ 8 MHz.
Tuy nhiên, thư viện lõi được cung cấp với IDE thường có # cụ thể cho cả hai tốc độ F_CPU 8 và 16 MHz, không sử dụng công thức ở hầu hết các nơi.
Do đó có thể làm những gì bạn yêu cầu. Tuy nhiên, bạn sẽ tìm thấy những hạn chế thư viện cốt lõi ảnh hưởng. Giảm tỷ lệ chi phí so với lợi ích, theo ý định đó. Và sau đó có khả năng người ta sẽ rời Stock IDE và các thư viện cốt lõi sang một phương thức makefile hơn.