Bootloader Arduino Là Gì – Cách Burn Và Cài Đặt Arduino Bootloader

Tôi đã được hướng dẫn “ghi bộ tải khởi động” vào Arduino của tôi để sửa lỗi tôi gặp phải. Tôi có thể làm cái này như thế nào? (Và chính xác thì bộ nạp khởi động là gì?)

Nó khá dễ dàng để ghi bootloader vào arduino miễn là bạn làm theo các bước đúng. Video này có thể giúp bạn: YouTube – Cách ghi bộ tải khởi động lên ATMEGA328P-AU (SMD) | ARDUINO MINI tự làm

Bộ nạp khởi động là một chương trình nhỏ (hầu như) luôn có trên Arduino. Nó quản lý tải lên và bắt đầu các bản phác thảo bạn thực hiện và nhấp nháy đèn LED 13 pin bất cứ khi nào bảng đặt lại.

Đang xem: Bootloader arduino là gì

Để ghi bộ tải khởi động:

Trừ khi có hướng dẫn khác, hãy kết nối ISP với các chân ICSP trên bo mạch của bạn.Cấp nguồn cho bo mạch của bạn bằng cáp USB hoặc nguồn điện bên ngoài.Mở Arduino IDE.Hãy chắc chắn rằng bạn đã chọn đúng bảng mà bạn đang ghi vào Tools ► Board ►trong IDE. Kiểm tra kỹ điều này ngay cả khi bạn có thể tải lên chương trình một cách chính xác; tải lên không phải lúc nào cũng yêu cầu đúng bảng.Chọn lập trình viên phù hợp tại Tools ► Programmer ►.Nhấp Tools ► Burn Bootloadervà chờ. Nó không nên mất hơn một phút và thường chỉ mất vài giây.
— Chàng trai với chiếc mũ nguồn
1
Tại thời điểm này, AVRISP có khá nhiều EOL (cuối đời). Tối thiểu, bạn muốn có một AVRISPmk2. Ngoài ra còn có rất nhiều công cụ khác, fancier (ví dụ: AVR One!). Có lẽ bạn chỉ nên nói{line 1} or other dedicated ISP programmer.
— Connor Wolf
Trên các bo mạch như Arduino Yun, mỗi khi bạn “tải lên qua wifi”, bạn đang ghi bộ tải khởi động được hợp nhất với bản phác thảo của bạn. Điều này nhờ vào việc CPU Linux được kết nối với AVR MCU thông qua SPI, để bạn có thể bắt chước một ISP bằng phần mềm.
— Federico Fissore
FedericoFissore – đó là lý do tại sao nó mất nhiều thời gian?
— TheDoctor
Vâng, điều đó và thực tế là GPIO bitbanging chậm hơn. Có một nỗ lực liên tục để tăng tốc nó.
— Federico Fissore
8

Bộ tải khởi động là gì?

Và chính xác thì bootloader là gì?

Bộ tải khởi động là một đoạn mã nhỏ nằm trong phần “cao” của bộ nhớ chương trình. Thông thường nó không bị xóa khi bạn tải lên bản phác thảo mới. Mục đích của nó là được kích hoạt ngay sau khi thiết lập lại (các cầu chì được cấu hình để bắt đầu mã tại địa chỉ bộ nạp khởi động thay vì địa chỉ 0x0000). Bộ tải khởi động sẽ đợi một thời gian ngắn (chẳng hạn như một giây) để xem liệu dữ liệu “lập trình” có đến trên cổng nối tiếp không.

Nếu vậy, nó đọc dữ liệu đó và giải mã nó để lập trình lại phần còn lại của bộ nhớ flash. Hoạt động cùng với chương trình tải lên (thông thường là thông thường) bản phác thảo mới được gửi qua cổng nối tiếp. Bộ tải khởi động sẽ xóa các trang của bộ nhớ flash và thay thế chúng bằng mã mới. Sau khi thực hiện xong, nó thực thi mã mới.

Nếu không có hướng dẫn nào đến, bộ nạp khởi động nhảy tới địa chỉ 0x0000 để thực hiện bản phác thảo hiện có trên bảng.

Xem thêm: Squats Là Gì ? Hướng Dẫn Tập Squat Đúng Cách Nhất Hướng Dẫn Tập Squat Đúng Cách Nhất

Cách thay thế bộ nạp khởi động

Một phương pháp khác để lập trình bộ nạp khởi động là sử dụng một bản phác thảo mà tôi đã viết cách đây một thời gian chạy trên:

Uno (hoặc tương tự, chẳng hạn như Duemilanove)LeonardoMega2560

Bảng “lập trình” chạy bản phác thảo có bộ tải khởi động cho một số bảng được mã hóa cứng vào nó. Bạn kết nối bảng lập trình với bảng đích (bảng muốn bộ tải khởi động) với 6 dây nối như hình minh họa.

*
Bootloader Arduino Là Gì - Cách Burn Và Cài Đặt Arduino Bootloader 2

Bức ảnh đặc biệt đó minh họa một Uno lập trình một cái khác.

Bạn chạy bản phác thảo (hoạt động thông qua Trình giám sát nối tiếp để ra lệnh cho nó). Đầu tiên, nó xác định chip mục tiêu:

Atmega chip programmer.Written by Nick Gammon.Entered programming mode OK.Signature = 0x1E 0x95 0x0F Processor = ATmega328PFlash memory size = 32768 bytes.LFuse = 0xFF HFuse = 0xDE EFuse = 0xFD Lock byte = 0xCF Bootloader address = 0x7E00Bootloader length = 512 bytes.Type “L” to use Lilypad (8 MHz) loader, or “U” for Uno (16 MHz) loader …Type “G” to program the chip with the bootloader …Các bạn nhấn G để lập trình nó.

Xem thêm: 7 Cách Ăn Gạo Lứt Đỏ Huyết Rồng Có Giảm Cân Không ? Gạo Lứt Huyết Rồng Có Giảm Cân Không

Erasing chip …Writing bootloader …Committing page starting at 0x7E00Committing page starting at 0x7E80Committing page starting at 0x7F00Committing page starting at 0x7F80Written.Verifying …No errors found.Writing fuses …LFuse = 0xFF HFuse = 0xDE EFuse = 0xFD Lock byte = 0xCF Done.Type “C” when ready to continue with another chip …Đối với một Uno, điều này mất một giây. Để lập trình Mega2560 mất 3 giây.

Related Posts

Comments

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Stay Connected

0FansLike
2,832FollowersFollow
0SubscribersSubscribe
spot_img

Recent Stories