Tôi cần gì để đặt mã của mình lên vi điều khiển?


8

Tôi đã học về mã hóa bộ điều khiển, nhưng thực sự không bao giờ đặt mã trên thiết bị vật lý. Tôi đang cố gắng tìm ra những gì tôi cần đặt hàng để bắt đầu phát triển một hệ thống nhúng cơ bản.

Ví dụ: nếu tôi có PIC18F1330, tôi có trình biên dịch MPLAB IDE và XC8. Tuyệt vời, vì vậy tôi có mã được biên dịch và tôi đã sẵn sàng để đưa mã này lên bộ điều khiển. Tôi cần gì để chuyển mã đã biên dịch trên PC, lên bộ điều khiển?

Tôi đã thấy những thứ như trình gỡ lỗi trong mạch và bộ PIC. Tôi chỉ bị mất tại thời điểm này.


Vậy một khi tôi có PICkit, PICkit có cho phép tôi kết nối PC của tôi với vi điều khiển không?
Adam

Có, có một trình kết nối trên PICKit, ICD, vv mà bạn kết nối với bảng của mình để lập trình và gỡ lỗi trong mạch.
Spehro Pefhany

Câu trả lời:


4

Có một số cách để flash mã của bạn vào một vi điều khiển.

Trên web, bạn sẽ tìm thấy khá nhiều lập trình viên tự tạo, nhưng họ cũng thường có phần mềm tự tạo và không được tích hợp (tốt) trong MPLAB IDE.

Giải pháp rẻ nhất từ ​​Microchip là PicKit với giá ~ 40 € chỉ được kết nối với PC qua USB. Mặc dù PicKit có một số tùy chọn gỡ lỗi, nhưng cũng có loại 'In Circuit Debugger' mạnh mẽ hơn với giá ~ 180 €, có nhiều tính năng gỡ lỗi hơn, nhưng tất nhiên cũng có thể flash chip.

Tôi luôn cảm thấy PicKit là đủ cho tôi.

Có các phiên bản của bên thứ ba, vì microchip xuất bản phần sụn và sơ đồ cho PicKit, nhưng nếu bạn mua chúng, hãy chắc chắn rằng bạn thực sự hiểu những gì bạn nghĩ. Tôi đã từng thấy một đề nghị cho PicKit 3, nhưng tôi không chắc đó có phải là PicKit 2 không.


Cũng như nhận xét: Có MCU Microchip, có thể tự flash. Ví dụ: chúng tôi đã sử dụng họ PIC18F2450 / 2550/4450/4550 với USB nhúng và đặt bộ tải khởi động lên nó. Khi một jumper được đóng, MCU sẽ chuyển sang chế độ bộ tải khởi động khi khởi động và bạn có thể flash MCU bằng mã của mình. Những thứ đó là tất cả có sẵn từ Microchip.

Để sử dụng điều này, bạn cần một vài sửa đổi cho mã của bạn. Và tất nhiên, bạn cần một lập trình viên thông thường để khởi động bộ tải khởi động trên MCU. Vì vậy, tính năng này không có ý nghĩa nếu bạn có một lập trình viên. Nhưng thật tuyệt nếu bạn muốn cập nhật firmware cho khách hàng của mình.


12

Vì bạn đang sử dụng MPLAB IDE với trình biên dịch XC8 C, bạn có thể kiểm tra tính tương thích từ menu Cấu hình-> Chọn Thiết bị (chỉ báo màu xanh lá cây có nghĩa là được hỗ trợ đầy đủ, màu vàng là một phần và màu đỏ không được hỗ trợ).

Ngay bây giờ, các lựa chọn tốt nhất sẽ là Pickit 3, ICD3 hoặc RealICE (theo thứ tự tăng giá)

Dưới đây là các lập trình viên, trình gỡ lỗi tương thích:

Bạn thực sự muốn có hỗ trợ gỡ lỗi cũng như hỗ trợ lập trình.

nhập mô tả hình ảnh ở đây

Khi trình điều khiển thiết bị được cài đặt, bạn có thể chọn và kết nối với nó (một thiết bị nhất định chỉ có thể được cài đặt làm trình gỡ lỗi hoặc lập trình viên tại thời điểm nhất định):

nhập mô tả hình ảnh ở đây

Sau đó, khi chương trình của bạn được biên dịch (ở dạng gỡ lỗi hoặc phát hành), bạn có thể lập trình vi điều khiển với các nút hiển thị bên dưới:

nhập mô tả hình ảnh ở đây

Về mặt vật lý, PICkit hoặc đơn vị gỡ lỗi / lập trình viên khác có một đầu nối mà bạn kết nối với hệ thống của mình. Có 6 chân, trong đó có 5 chân được sử dụng bao gồm cả nguồn và đất.

nhập mô tả hình ảnh ở đây


4

Tại thời điểm viết, có 3 cách chính để ghi nhị phân vào vi điều khiển. Tùy thuộc vào một vi cụ thể, bất kỳ 3 trong số chúng có thể có sẵn. Phương pháp lâu đời nhất là lập trình / gỡ lỗi dành riêng cho thiết bị. Những cái hiện tại cho các bộ phận của Microchip là Pickit3 / ICD3, chúng tương thích với tất cả các micros PIC hiện tại và một số cái cũ hơn. Bạn không thể sử dụng chúng để lập trình các bộ phận được sản xuất bởi các nhà sản xuất khác.

Phương thức thứ hai được gọi là bộ nạp khởi động. Đây là một chương trình nhỏ được ghi vào micro trước khi bạn sở hữu một phần. Bootloader cho phép lập trình thông qua giao diện chuẩn của micro [s] - UART, SPI, Ethernet, v.v. Các chip ARM thường đi kèm với bộ tải khởi động được tải sẵn, cũng như AVR. Bạn không cần thiết bị lập trình độc quyền nếu có bộ tải khởi động nhưng bạn sẽ không thể thực hiện gỡ lỗi một bước dễ dàng.

Thứ ba được gọi là JTAG. Nó là giao diện bán chung, bạn có thể lập trình nhiều phần khác nhau với nó và cũng có thể gỡ lỗi. Bạn sẽ cần một mảnh thiết bị gọi là JTAG dongle. Một số phần PIC có JTAG. Các chip ARM thường có JTAG và nhiều chip không có giao diện gỡ lỗi nào khác.


3

Công thức chung:

  1. Nhập mã của bạn vào trình soạn thảo văn bản bằng ngôn ngữ bạn chọn
  2. Dịch ngôn ngữ đó thành mã máy bằng trình biên dịch. Mã máy là một danh sách các số thập lục phân: một số đại diện cho một lệnh, phần còn lại là các đối số / tham số cho các hướng dẫn này. Thường được gọi là "tệp HEX". Bất kỳ phần nào của chương trình đi xuống kế tiếp các hướng dẫn cơ bản + tham số của chúng.
  3. Chuyển mã máy này vào bộ nhớ chương trình của thiết bị của bạn. Điều này được thực hiện bằng cách sử dụng một lập trình viên. Lập trình viên được vận chuyển với một trình điều khiển, đó là một phần mềm điều khiển lập trình viên: cung cấp cho nó một tệp HEX, nó sẽ làm phần còn lại. Lập trình viên sẽ đọc tệp HEX của bạn và vẫy các dòng lập trình của thiết bị (giống như mã morse) theo cách được mã hóa để thực sự ghi bộ nhớ chương trình. Khi chương trình được tải, thiết bị được khởi động lại và sau đó, thiết bị sẽ tự động bắt đầu thực thi mã ngay từ đầu bộ nhớ chương trình. Đó là mã của bạn. Điều này được nói rất nhiều, nhưng đó là khá nhiều những gì bạn cần biết bây giờ.

Bạn đang ở gần đó . Bạn có môi trường phát triển tích hợp thực hiện 1 và 2 theo cách rất thân thiện với người dùng. Nó thậm chí còn có giao diện cho các lập trình viên để bạn không cần lo lắng về tệp HEX là gì (nhấn "play" và bạn đã hoàn tất).

Tuy nhiên, bạn vẫn cần lập trình viên vật lý để giao tiếp thiết bị của mình với PC - có một số cho PIC. Pickit là một trong số đó. Nếu bạn có ý định nghiêm túc với lập trình nhúng, có lẽ bạn nên đầu tư vào Trình gỡ lỗi trong mạch (ICD). Đó là một lập trình viên, và cũng là thứ cho phép bạn nhìn trộm hoặc chọc vào các biến và đăng ký trong vi mô, và thậm chí bước qua và dừng một chương trình theo ý muốn.


3

Một thiết bị lập trình vi điều khiển là những gì bạn cần. Đó là một phần cứng kết nối với PC và vi điều khiển của bạn, để thực hiện các chức năng cần thiết để tải chương trình vào chip. Trong trình gỡ lỗi mạch là một thiết bị có nhiều chức năng hơn một lập trình viên, như gỡ lỗi mã của bạn trong khi nó đang chạy trên chip. Bạn có thể sử dụng ICD hoặc PIC Kit để lập trình uC. Hoặc, nếu bạn thích, bạn có thể sử dụng một mạch rất đơn giản như lập trình viên JDM .

Lưu ý rằng MPLAB IDE hỗ trợ PIC Kit và ICD. Nhưng nếu bạn sử dụng một lập trình viên JDM, bạn sẽ phải sử dụng một phần mềm khác như PICPgm để tải chip đã biên dịch của bạn.

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.