Làm thế nào một người nên chuyển từ sử dụng Arduino như một lập trình viên sang một lập trình viên bên ngoài?


12

Phần hai của loạt bài ba phần về chuyển đổi từ Arduino sang vi điều khiển AVR đơn giản và các thành phần hỗ trợ tối thiểu ( phần một , phần ba )

Tôi đã thấy rất nhiều người hỏi điều này trên Internet, vì vậy hãy vào đây:

Tôi đã biết cách lập trình và sử dụng một barebones ATmega328 với Arduino làm lập trình viên . Bây giờ tôi muốn bắt đầu sử dụng một lập trình viên bên ngoài với Arduino IDE.

Làm thế nào tôi nên tiến hành trong quá trình chuyển đổi này? Tôi nên học gì? (Sẽ thật tuyệt nếu một hướng dẫn nhỏ cho một số phần được cung cấp như một phần của câu trả lời)


2
+1, một ứng cử viên xuất sắc cho câu hỏi tham khảo, tôi mong muốn một số câu trả lời có cấu trúc tốt và chi tiết dễ theo dõi cho người mới bắt đầu và không phải là câu trả lời "etch-a-board".
Anindo Ghosh

Tôi bị bối rối. Bạn muốn các bước để chuyển từ phương pháp này sang phương pháp khác. Bạn đang mong đợi điều gì như một câu trả lời? Hướng dẫn sử dụng trực tiếp một lập trình viên bên ngoài là tốt, các hướng dẫn thực tế.
asheeshr

@AshRj: Chuyển đổi và bắt đầu lại từ đầu là hai điều khác nhau. Nếu một người biết cách sử dụng Arduino, họ sẽ cần biết sự khác biệt trong các mã khác nhau sẽ là gì (và những điều cơ bản khi sử dụng một lập trình viên).
Manishearth

@M Biếnearth Ý của bạn là 'không có bộ nạp khởi động' là gì?
Cực

@Polar: Về cơ bản, tôi không muốn bộ tải khởi động Arduino ở đó để giúp tôi (điều này xảy ra nếu bạn sử dụng Arduino làm lập trình viên), tôi chỉ muốn một ATmega trần mà tất cả mã là mã của tôi .
Manishearth

Câu trả lời:


6

Lưu ý: Hướng dẫn nhỏ này dựa trên thông tin chính thức ở đây trên trang Arduino. Nó cũng liên quan đến việc sử dụng Arduino IDE chính thức.

Lưu ý 2: Các liên kết được cung cấp cho các sản phẩm có thể là liên kết Farnell (vì chúng chứa các bảng dữ liệu) hoặc các trang sản phẩm thực tế trên trang web của nhà sản xuất.


Bước 1: Nhận một lập trình viên bên ngoài

Điều đầu tiên cần lưu ý là bạn cần một lập trình viên bên ngoài để tránh bộ tải khởi động và lấy lại bộ nhớ 1K hoặc 2K mà nó chiếm (12,5% tổng bộ nhớ). Bạn có thể sử dụng một AVR-ISP , STK-500 hoặc một lập trình viên cổng song song - trang web chính thức của Arduino có hướng dẫn cho việc này tại đây . Lưu ý rằng bạn không thể giao tiếp với bảng thông qua lập trình viên song song - lời khuyên là sử dụng cáp nối tiếp cho điều đó. Lợi ích chính của việc sử dụng một lập trình viên song song là chúng rẻ hơn nhiều so với các chương trình khác nếu bạn sẵn sàng thực hiện một số thao tác hàn - bạn chỉ cần một vài (3) điện trở và một vài đầu nối, trong khi ISP có thể thiết lập lại cho bạn đến £ 30 / $ 50 (tỷ lệ chuyển đổi là gần đúng).


Bước 2: Chỉnh sửa tệp tùy chọn Arduino

Tiếp theo bạn sẽ cần cấu hình Arduino IDE để cho phép bạn phá vỡ bộ nạp khởi động. Hãy chắc chắn rằng bạn KHÔNG mở Arduino IDE! Tệp tùy chọn preferences.txtcó thể được tìm thấy tại các vị trí sau, tùy thuộc vào hệ điều hành của bạn:

  • C:\Documents and Settings\<Username>\Application Data\Arduino\preferences.txt (Các cửa sổ)
  • /Users/<Username>/Library/Arduino/preferences.txt (Mac)
  • ~/.arduino/preferences.txt (Linux)

Để truy cập tệp tùy chọn trong Windows, hãy chuyển đến trình đơn bắt đầu và sau đó truy cập %appdata%(NB: Tôi không sử dụng Windows thường xuyên, vui lòng sửa cho tôi). Sau đó điều hướng đến Arduino và sau đó đếnpreferences.txt

Trên Mac, sử dụng Terminal và thực hiện:

cd ~/Library/Arduino
open .

Hoặc trong Finder, sử dụng Goto (Cmd-Shift-G) và nhập ~/Library/Arduino. Cả hai đều đưa bạn đến một cửa sổ Finder với preferences.txt.

Trên các hệ thống Unix, các thư mục bắt đầu bằng '.' (chẳng hạn như .cache, .git) theo mặc định bị ẩn, vì vậy, trong Linux, bạn sẽ cần sử dụng Terminal và nhập:

cd ~/.arduino
nautilus .

Lưu ý: Bạn có thể thay thế nautilus bằng gnome-open nếu bạn muốn. Tôi biết rằng cả hai đều hoạt động trên các hương vị phổ biến của Linux, nhưng bạn có thể gặp vấn đề với một số hương vị 'kỳ lạ' hơn.

Khi bạn đã tìm thấy preferences.txttệp, hãy mở nó và thay đổi upload.usingtừ bootloadertên của một trong những lập trình viên trong ./hardware/programmers.txtthư mục con. Nếu bạn chỉ muốn xóa bộ nạp khởi động khỏi một bảng, trong đó ./hardware/boards.txtbạn có thể thay đổi <board>.upload.usingtham số và tất cả các bảng khác sẽ vẫn sử dụng bộ tải khởi động. Sau đó, chỉ cần lưu tệp có liên quan và đóng nó xuống (Arduino của tôi bị hỏng và tôi gần như mất câu trả lời, có thể vì tôi quên làm điều này).


Bước 3: Tải lên bản phác thảo

Khi bạn đã chỉnh sửa tệp có liên quan, hãy mở lại Arduino IDE và tải lên bản phác thảo như bình thường. Nếu bạn chỉ chỉnh sửa ./hardware/boards.txt, thì chỉ có bảng cụ thể đó sẽ không có bộ tải khởi động, nhưng nếu bạn đã chỉnh sửa preferences.txtthì tất cả các bảng sẽ không có bộ tải khởi động.


Bước 4: Thay thế bộ nạp khởi động

Nếu bạn muốn có lại bộ nạp khởi động trên bảng của mình (vì bất kỳ lý do gì), trước tiên hãy xóa <board>.upload.usingtham số hoặc đặt upload.usinglại bootloader. Sau đó, bạn sẽ cần ghi lại bộ tải khởi động vào các bảng bị ảnh hưởng - câu trả lời này giải thích hợp lý một phương pháp thực hiện và có một phương pháp dễ dàng hơn để tải lên bộ tải khởi động Arduino chỉ với một ISP (mà bạn nên có từ trước đó) trên trang web chính thức ở đây .


Tôi đoán là tôi đã không rõ ràng, tôi đã chỉnh sửa câu hỏi để làm rõ điều này: Tôi muốn ít nhiều loại bỏ IDE hoàn toàn (có nghĩa là bạn phải học một ngôn ngữ lập trình khác. Tuy nhiên, vì bạn đã đăng câu trả lời, tôi 'Tôi có thể chỉ hỏi như một câu hỏi riêng biệt.
Manishearth

@M Biếnearth Ah, tôi sẽ chỉnh sửa nó để phản ánh điều đó nếu bạn muốn. Sau đó, một lần nữa, chúng ta có thể làm với nhiều câu hỏi hơn ...
Polar

Tôi sẽ hỏi một người khác, điều này sẽ trở nên quá rộng nếu tôi nhét nó vào.
Manishearth

@M Biếnearth Ok :)
Polar

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.