bắt đầu với vi điều khiển NXP - Lập trình viên / IDE / Trình biên dịch / Bảng Eval


7

Tôi đã hỏi câu hỏi này trước đây. (Không cần đọc nó để trả lời câu hỏi này)

đang phát triển các AVR 8 bit, không biết phải chuyển sang đâu

Tôi thực sự thích các câu trả lời về dòng vi điều khiển NXP. Tôi sắp đầu tư vào một số phần cứng để bắt đầu chơi với chúng và tôi muốn điều hành nó bởi diễn đàn này để đảm bảo rằng tôi không trả quá nhiều hoặc mua sai phần.

Tôi không quan tâm đến chip mbed. Tôi thích có tùy chọn để xây dựng một cái gì đó từ đầu bằng cách sử dụng toàn bộ dòng vi điều khiển. Điều đó có nghĩa là tôi phải mua một lập trình viên.

Tôi quan tâm đến ULINK2 từ Keil. Đó là 411 CND trên digikey.ca. http://www.keil.com/ulink2/

Nó tích hợp với môi trường phát triển Keil. Nếu hóa ra tôi không thể hoặc không muốn sử dụng Keil IDE, tôi có thể sử dụng ULINK2 với FOSS trên Linux không? Còn trên windows không có Keil thì sao? Nếu bây giờ tôi quyết định rằng tôi không muốn đi cùng Keil, có đáng để nhận một lập trình viên JTAG chung chung khác không?

Cuối cùng, mục tiêu là có thể biên dịch và lập trình

  • LPC2921 / 2923/2925 (ARM9) (đây là danh mục ít quan trọng nhất đối với tôi)
  • Tất cả LPC21 / 22/23 (ARM7)
  • Tất cả Cortex M0 và M3

Tôi không thể tìm thấy bất kỳ hướng dẫn nào về việc thiết lập chương trình công cụ và flash / gỡ lỗi cho vi điều khiển NXP và đó là lý do duy nhất tôi nói về các sản phẩm liên quan đến Keil. Tôi chỉ muốn sử dụng GCC và một số trình tải lên khác. Tôi đã quen với avrdude cho các AVR.

Các bạn sử dụng loại thiết lập nào cho các uC ARM hoặc NXP? Những gì lập trình viên JTAG bạn đề nghị? Bất kỳ hướng dẫn nào về công cụ FOSS hoặc phần mềm khác mà tôi nên biết?

Câu trả lời:


2

Để sử dụng loại chuyên nghiệp, các tùy chọn chính của bạn là IAR, Keil hoặc Rowley CrossWorks. Keil thuộc sở hữu của ARM, có thể có hoặc không mang lại cho họ một lợi thế nhỏ. Tôi muốn nói rằng hiệu suất giữa IAR và Keil gần như giống hệt nhau. Rowley là món hời của 3. Rowley cũng cho phép bạn sử dụng các trình gỡ lỗi rẻ hơn, chẳng hạn như J-link. Bạn cũng có thể sử dụng liên kết J với IAR, nhưng tôi nghĩ Keil buộc bạn phải sử dụng các sản phẩm Ulink của họ, có thể đắt hơn một chút. Theo như hỗ trợ, tôi tin rằng Rowley hoàn toàn thông qua trang web của họ. IAR và Keil cung cấp hỗ trợ qua điện thoại 1 năm hoặc lâu hơn. Từ những gì tôi đã nói, Keil dường như cung cấp hỗ trợ tốt hơn ở Mỹ, trong khi IAR tập trung nhiều hơn vào châu Âu. Tôi đã sử dụng Keil mà không có bất kỳ vấn đề và hỗ trợ là tốt. Điều đó đang được nói, bất kỳ ai trong số 3 người này cũng có thể sẽ thực hiện tốt.


Tôi đã sử dụng Keil độc quyền trong 10 năm và thấy trình biên dịch, phần cứng và hỗ trợ rất tốt. Tuy nhiên, chúng là đắt nhất trong số 3 bạn đề cập!
BullBoyShoes

3

Bạn đã kiểm tra bảng LPC1343 (Cortex M3) từ Microbuilder chưa? ( http://www.microbuilder.eu/Projects/LPC1343ReferenceDesign.aspx )

Có thể là một bước đệm giá rẻ để làm quen với môi trường dev của ARM. Bạn có thể dễ dàng tải lên chương trình qua USB (nó xuất hiện dưới dạng ổ flash USB và bạn chỉ cần đổ tệp hex của mình vào đó).

Microbuilder cũng có các hướng dẫn để giúp bạn lập trình và lập trình với các công cụ miễn phí (Codelite / YAGARTO).


+1: Không biết về YAGARTO, cảm ơn. Microbuilder cũng là một trang web tốt đẹp. cảm ơn lần nữa Không quan tâm đến bảng tham chiếu của họ, vì chúng cùng loại với mbed và YAGARTO dành cho windows. Tôi biết tôi có thể xây dựng một chuỗi công cụ cánh tay trong linux, tôi đã thực hiện nó, nhưng tôi không biết liệu có bất kỳ điều đặc biệt nào tôi cần phải làm với một chuỗi công cụ cho microsP NXP không. Cũng không có ý tưởng làm thế nào để sử dụng một lập trình viên / trình gỡ lỗi JTAG trong linux.
Chris H

Bạn đã xem OpenOCD chưa?
XtL

1

LPC2138 / 48 sẽ là một khởi đầu tốt. Có rất nhiều ví dụ được viết cho các micros này.


1
Bạn có thể liên kết chúng tôi với những ví dụ này?
Kortuk

1

Tôi sử dụng Rowley CrossWorks với CrossConnect Pro để phát triển ARM. Hỗ trợ rất tốt.


Cung cấp cho chúng tôi liên kết! Chúng giúp người dùng lặn ngay.
Kortuk

0

Không quá quen thuộc với tất cả các tùy chọn nhưng hãy chắc chắn rằng bạn nhận được một cái gì đó sẽ làm JTAG và SWD - các phần Cortex sau này sử dụng cái sau, sử dụng ít chân hơn để gỡ lỗi.


0

Bạn có thể sử dụng Yagarto để biên dịch cho bất kỳ bộ điều khiển vi mô ARM nào (tất nhiên bao gồm NXP) và tôi đã thực hiện điều này cho lpc4330 của NXP. TUY NHIÊN, Yagarto chỉ hỗ trợ cho điểm nổi mềm (Ít nhất, tôi đã thử sử dụng nó cho FP cứng và nó phàn nàn vì thiếu hỗ trợ, vì vậy tôi phải cho rằng nó không được biên dịch với FP cứng được tích hợp). Nếu bạn muốn sử dụng điểm nổi cứng (NXP lpc4330 của tôi hỗ trợ điều này), bạn sẽ cần xây dựng trình biên dịch của riêng mình hoặc sử dụng IAR, Keil hoặc một số điểm dựng sẵn khác có hỗ trợ điểm nổi cứng. Chỉ cần một cái gì đó để nhận thức được. Ngoài ra, lpc_dfu có ích nếu bạn không phát triển trong môi trường Windows và muốn flash một cái gì đó sang SPify. Hoạt động cực kỳ tốt.

Về cơ bản, tôi sử dụng:

dfu-produc -> Bạn cần điều này để nói chuyện để gửi bất cứ điều gì đến bộ tải khởi động của NXP. Ngoài ra, bạn cần sử dụng -L để thêm tiêu đề LPC (ít nhất là cho lpc4330 ... Có thể các cái khác thì khác, nhưng tôi không nghĩ NXP sẽ thay đổi bộ tải khởi động của chúng nhiều như vậy).

lpc_dfu -> Tôi sử dụng điều này để nói chuyện với công cụ flash spi của NXP. Bạn gửi công cụ trước bằng dfu-produc, sau đó bạn sử dụng công cụ này để flash mã của mình.

gcc -> Tôi đã tự xây dựng ở đây, nhưng như tôi đã nói ở trên, Yagarto hoạt động (tôi đã sử dụng nó) và có một vài thứ khác bạn có thể nhận được. Về cơ bản, bất cứ thứ gì sẽ biến ra một nhị phân ARM sẽ hoạt động ở đây. TUY NHIÊN, làm quen với các tập lệnh liên kết. Nếu bạn không làm điều này, bạn sẽ tự hỏi tại sao bộ xử lý của bạn không hoạt động. Nếu bạn đã sử dụng AVR, tôi nghi ngờ có lẽ bạn đã quen với những thứ này, mặc dù có một số công cụ cho các sản phẩm AVR, vì vậy có thể không. Thật sự rất dễ dàng để viết các tập lệnh liên kết cho các sản phẩm NXP. Và tôi muốn biết chính xác nơi mã của tôi đi.

Nếu bạn quyết định sử dụng một cái gì đó như OpenOCD với lpc4330 (Tôi có một lpc4330-xplorer khá đẹp. Có một vài vấn đề, nhưng tôi thực sự thích chip lpc4330 của họ. Tôi yêu SCT. Đó là một thiết bị ngoại vi thực sự tốt. ), lưu ý rằng có thể có một vấn đề. Lpc4330-xplorer của tôi thường phải có 2 thiết lập lại khi khởi động từ đèn flash SPI. Điều này gây khó khăn cho OpenOCD. Các bảng demo NXP khác, hoặc chip có thể không có vấn đề này, nhưng đó là điều cần lưu ý với lpc4330. Dù sao, hy vọng bạn tìm thấy thiết lập phù hợp với 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.