Mục lục:

Cách thiết lập môi trường lập trình AVR trên Linux: 5 bước
Cách thiết lập môi trường lập trình AVR trên Linux: 5 bước

Video: Cách thiết lập môi trường lập trình AVR trên Linux: 5 bước

Video: Cách thiết lập môi trường lập trình AVR trên Linux: 5 bước
Video: Hướng dẫn Bước đầu làm quen với lập trình C trên Ubuntu 2024, Tháng mười hai
Anonim
Cách thiết lập môi trường lập trình AVR trên Linux
Cách thiết lập môi trường lập trình AVR trên Linux

Nếu bạn muốn lập trình vi điều khiển AVR trên Windows, bạn có một Studio nhưng trên Linux, tất cả những gì chúng ta có là Dude.

AVRDUDE là giao diện dòng lệnh để lập trình chip AVR, lúc đầu có thể hơi phức tạp khi thiết lập.

Đầu tiên tôi sẽ cài đặt tất cả AVRDUDE và tất cả các phụ thuộc bắt buộc, sau đó tôi sẽ tạo một tập lệnh BASH sẽ giúp ích trong việc lập trình

Bước 1: Lấy trình biên dịch của bạn và các công cụ khác

Ngoài ra để lập trình chip AVR, bạn cần một trình biên dịch đặc biệt được gọi là gcc-avr và các công cụ khác như binutils-avr, avr-libc, gdb-avr last nhưng không phải là avrdude nhỏ nhất.

sudo apt-get install gcc-avr binutils-avr avr-libc gdb-avr avrdude

Bước 2: Tạo Mẫu

Tạo mẫu
Tạo mẫu

Nếu bạn mở một bản phác thảo mới trong arduino, bạn sẽ nhận được một mẫu mã có chứa hai chức năng, điều này giúp bạn tiết kiệm rất nhiều thời gian.

AVRDUDE sử dụng C và có thể hơi phiền phức khi luôn tạo một phương thức chính mỗi khi bạn muốn viết mã, vì vậy tôi sẽ tạo một mẫu AVR.

chạm vào ~ / Mẫu / AVR.c

Sử dụng lệnh cảm ứng để tạo tệp trống trong thư mục Mẫu.

vi ~ / Mẫu / AVR.c

mở tệp bằng trình soạn thảo văn bản yêu thích của bạn, tôi đang sử dụng vi.

#define F_CPU 16000000L

#include #include int main () {while () {} return 0; }

Nhập mã ở trên và lưu tệp. Mã này sẽ đóng vai trò là mẫu của chúng tôi.

Lưu ý: Tôi đặt tần số đồng hồ của mình là 16000000, bạn có thể đặt tần số của mình là bất kỳ tần số nào khác có thể là 8000000.

Bước 3: Tạo tệp mới

Bây giờ chúng ta có một mẫu cho mã AVR của mình, tất cả những gì chúng ta cần làm là tạo một tệp mới. Tôi sẽ tạo một lệnh bash sẽ lấy một đối số (tên tệp), sau đó tạo tệp đó có mẫu AVR.

hãy tạo một tệp trống có tên là "tạo"

chạm tạo

thay đổi quyền đối với tệp vì đây sẽ là một tập lệnh BASH

chmod 755 tạo

Mở "tạo" bằng trình soạn thảo văn bản của bạn. Bây giờ chúng ta hãy chỉnh sửa "tạo", thêm các dòng lệnh sau từng dòng.

#! / bin / bash

Đây là đường dẫn đến trình thông dịch cho "create" là bash.

cp ~ / Templates / AVR.c / home / $ USER

Điều này sao chép tệp mẫu của chúng tôi vào thư mục chính của người dùng.

mv ~ / AVR.c $ 1

Hãy nhớ rằng tôi đã nói rằng "create" sử dụng một đối số, $ 1 có nghĩa là đối số đầu tiên của lệnh của chúng ta đối số này là tên tệp dự định, điều cuối cùng chúng ta muốn là nhiều tệp có cùng tên tệp. Lệnh đổi tên tệp thành đối số của chúng tôi.

vi $ 1

Đây là tùy chọn nhưng sẽ rất tuyệt khi mở tệp của chúng tôi, ngay sau khi chúng tôi tạo xong.

Chúng tôi đã hoàn thành chỉnh sửa tạo, lưu nó và đóng nó.

Đây là một ví dụ về tạo trong hành động.

./create flash.c

Điều này tạo ra một tệp được gọi là nháy.c, tệp này phải có mẫu của AVR.c.

Bước 4: Hãy chạy

Chúng tôi phải tạo một tập lệnh bash khác được gọi là "run", tập lệnh này sẽ nhận 3 đối số (vi điều khiển avr mà chúng tôi đang sử dụng, tên tệp và trình lập trình)

Hãy lấy nó từng dòng một.

#! / bin / bash

shebang của chúng tôi

avr-gcc -Wall -g -0s -mmcu = $ 1 -o $ 2.bin $ 2.c

Lệnh trên phàn nàn mã của chúng ta, '$ 1' là đối số đầu tiên của chúng ta, đây là bộ vi điều khiển mà chúng ta đang lập trình. $ 2 là đối số thứ hai là tên tệp.

avr-objcopy -j.text -j.data -O ihex $ 2.bin $ 2.hex

Điều này chuyển đổi tệp tuân thủ của chúng tôi thành hex.

avrdude -p $ 1 -c $ 3 -U flash: w: $ 2.hex -P usb

Bây giờ avrdude ghi mã vào chip AVR. $ 3 là đối số thứ 3 của chúng tôi là lập trình viên mà chúng tôi đang sử dụng.

Lưu tệp "chạy"

cho nó quyền thực thi

chmod 755 run

Bây giờ chúng ta hãy kiểm tra nó. Giả sử chúng tôi muốn tải lên flash.c và chúng tôi đang sử dụng trực tiếp bảng arduino, chúng tôi cũng đang sử dụng một lập trình viên usbasp. Đây là cách chúng tôi sử dụng tập lệnh "run".

./run atmega328p nhấp nháy USBasp

Bo mạch arduino có chip atmega328p, bạn có thể sử dụng bất kỳ vi điều khiển AVR nào mà bạn lựa chọn.

Đối số thứ hai là tên tệp của bạn, nhưng lần này không thêm phần mở rộng tệp mà tập lệnh xử lý điều đó.

Sau đó, chúng ta có đối số thứ ba là lập trình viên bạn đang sử dụng, tôi đang sử dụng lập trình USBasp.

Bước 5: Kết luận

Đây là một cách tuyệt vời để tự động hóa trải nghiệm lập trình avr của bạn, bạn có thể di chuyển tệp bash "tạo" và "chạy" sang "~ /.local / bin" để bạn có thể sử dụng các tập lệnh từ bất kỳ thư mục tệp nào bạn chọn.

Đề xuất: