Cuốn sách dành cho người mới bắt đầu tốt về ARM [đã đóng]


26

Tôi đang tìm một cuốn sách dành cho người mới bắt đầu tốt cho vi điều khiển ARM. Nó sẽ bao gồm kiến ​​trúc CPU và trình tự khởi động và lý tưởng nhất là trình biên dịch, C và các thiết bị ngoại vi.

Tôi có một cuốn sách như thế này cho các máy AVR và dường như có một số lựa chọn tốt cho các chip Atmel. Khung cảnh ARM phức tạp hơn với nhiều nhà cung cấp và một số loại chip. Một cái nhìn trên Amazon không tiết lộ một yêu thích rõ ràng. Sẽ đánh giá cao một số khuyến nghị.


Cuốn sách của bạn cho các AVR là gì? Tôi tò mò. Ngoài ra, tôi có một gói khóa học từ trường đại học dành cho ARM của mình, nhưng tôi sợ nó sẽ không bao giờ thấy xuất bản ...
Kevin Vermeer

1
@ kevin-vermeer Đó là một cuốn sách tiếng Đức: Mikrocomputertechnik mit Controlsern der Atmel AVR-RISC-Familie được viết bởi một giáo sư đã nghỉ hưu. Cô ấy bao gồm tất cả các chủ đề tôi đã đề cập trong câu hỏi của mình, thậm chí bao gồm một số nội dung thú vị như cách đếm hướng dẫn trình biên dịch để xác định thời gian vòng lặp sẽ cần bao nhiêu lần cho mỗi lần lặp.
kwo

Đoán tôi cần học tiếng Đức ...
Kevin Vermeer

Đó là một cuốn sách thú vị mà tôi không biết tiếng Đức để có thể đọc và hiểu nó.
Trưởng khoa

@kwo Tôi đoán không có hy vọng có được một phiên bản dịch đúng không?
NickHalden

Câu trả lời:


3

Tôi đề nghị bạn đến trung tâm thông tin ARM. Đó là một khởi đầu tốt như tôi quan tâm. Rất nhiều thông tin nó cung cấp ngay cả khi bạn đang di chuyển từ một MCU sang ARM. http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dai0211a/index.html Ngoài ra trang web ATMEL trên chip ARM của họ sẽ hoạt động rất tốt. Tài liệu tốt và rất nhiều ghi chú ứng dụng. Tất cả tốt nhất.


Cảm ơn. Có một số sách được đề nghị tại trang web là tốt.
kwo

13

Tìm kiếm hướng dẫn tham khảo kiến ​​trúc ARM ARM, ARM. Bao gồm quá trình khởi động, kiến ​​trúc, lắp ráp (ARM, ngón tay cái và ngón tay cái2), mọi thứ. ARM ARM là chung chung, đối với lõi cụ thể mà bạn quan tâm cũng sẽ có TRM, Tài liệu tham khảo kỹ thuật. Tất cả các tài liệu này đều có sẵn miễn phí từ trang web của ARM. TRM sẽ đi vào chi tiết cụ thể cho lõi đó, đặc biệt nếu bạn muốn sử dụng một trong các bộ vi điều khiển dựa trên Cortex-M3 mới hơn, trình tự khởi động hoặc giả sử bảng ngoại lệ khác với ARM truyền thống và bạn cần TRM cho Cortex-M3 để tìm thông tin.

nếu bạn kết thúc với một cánh tay có bộ đệm hoặc mmu, bạn cũng có thể cần lấy TRM cho trang đó từ trang web của ARM. Bạn cần biết lõi cụ thể được tích hợp trong chip nhà cung cấp cụ thể, ví dụ PL 310 r2p0 có thể / có thể khác với r3p0. Nhà cung cấp nên có thông tin này và có thể cung cấp liên kết trực tiếp đến hoặc có thể là tài liệu cánh tay, thông thường họ không nhúng tài liệu cánh tay vào tài liệu của riêng họ. Tôi nghĩ ARM thích nó theo cách đó.

Theo như C, nó chỉ là C, không có gì đặc biệt, ARM được hỗ trợ bởi các trình biên dịch chính, gcc, llvm, Keil (hiện thuộc sở hữu của ARM), IAR, đồi xanh, v.v. Microsoft thậm chí đã có / có một nó mặc dù). Không có gì đặc biệt cho ARM, nhưng bạn cần biết các sắc thái cho trình biên dịch cụ thể và liên kết của nó. Code Sourcery là cách để sử dụng trình biên dịch ARM dựa trên gcc sẵn sàng, phiên bản LITE miễn phí để tải xuống và sử dụng và có trả tiền cho các phiên bản nếu bạn muốn hỗ trợ (hỗ trợ cánh tay gcc miễn phí nhiều hơn tại google.com bạn có thời gian để đọc). Trước khi mã nguồn emdebian là một nơi để đi, đối với một số thứ yagarto và devkitarm và winarm đều đã / sẵn sàng sử dụng các giải pháp (đối với nhúng và không nhất thiết phải là linux, Code Sourcery hoặc emdebian nếu bạn muốn biên dịch chéo cho linux).

Tôi có một vài blog không thực sự là blog, nhưng là nơi để đặt một số chương trình mẫu và thông tin về cách đưa lên một vài bộ vi điều khiển dựa trên ARM khác nhau. Một số asm C, các blog cũ hơn tôi chỉ cho bạn cách xây dựng trình biên dịch chéo dựa trên gcc của riêng bạn. Tôi cũng có thể có thông tin llvm (ngón tay cái có một vài ví dụ, không được ghi lại), ngoài hộp llvm có thể được sử dụng làm trình biên dịch chéo cho một số nền tảng, bạn không phải xây dựng nó vào mục tiêu như gcc. Và việc tạo mã của llvm đã bắt kịp gcc 4.x (gcc 4.x không nhất thiết phải tốt hơn gcc 3.x và không gcc hay llvm nào tốt như những người trả tiền đắt tiền khác cho những người như trình biên dịch riêng của ARM).

http: // stm32 ware.blogspot.com/

Từ đó bạn có thể nhấp vào hồ sơ của tôi và tìm thông tin tương tự cho lpc, lmi (luminary micro, các bộ phận sao, hiện thuộc sở hữu của ti) sam7. Tôi không phải là một fan hâm mộ của gia đình lpc, mbed2 không sao ngoài những chiếc đèn led màu xanh đau đớn. ngay bây giờ có một bảng dựa trên $ 12 stm32, một số khám phá một cái gì đó, sẵn sàng để chơi với ra khỏi hộp. coridium có một bảng phù hợp với dấu chân arduino cũng như maple, có thể có được một hoặc cả hai tại sparkfun (rất nhiều goodies tại sparkfun). Nếu bạn đang tìm kiếm thứ gì đó mạnh mẽ hơn thì beagleboard gây đau khổ vì thiếu giao diện, phiên bản tiếng Trung với cùng mức giá là / tốt hơn (xuất hiện trong một hoặc hai tuần nhưng không có thông tin theo dõi dưới bất kỳ hình thức nào), có ethernet và cổng nối tiếp không vặn. Tôi thích diều hâu nhưng tôi nghĩ họ đã không tuân theo hướng dẫn thiết kế và họ có thể gặp vấn đề với omap. Thích openrd từ những người sử dụng máy tính cắm, nhưng ghét phiên bản cắm. Openrd có một đầu nối nguồn và dữ liệu sata trên bo mạch, chỉ cần cắm một ổ cứng vào, các bo mạch khác trong lớp này sẽ buộc bạn phải làm một cái gì đó dựa trên flash (đọc: rất chậm). các lõi marvell đang chạy vòng tròn xung quanh các omaps tại thời điểm này.

hoặc dùng thử trình giả lập ngón tay cái (github) của tôi miễn phí, nhưng giới hạn ở ngón tay cái, không có cánh tay (bạn có thể lấy mã của mình từ đó đến các bảng stm32, như bảng 12 đô la). Bộ điều khiển trong gdb và các nơi khác có lẽ khó sử dụng hơn, nhưng hỗ trợ cánh tay và ngón tay cái, và qemu rất dễ sử dụng nếu bạn không quan tâm đến việc xem mã của bạn đang làm gì ngoài đầu ra cổng nối tiếp. qemu hỗ trợ cánh tay, ngón tay cái và ngón tay cái2, tôi nghĩ rằng một hoặc hai tấm ván được mô hình hóa ở đó.

Nếu bạn đã biết trình biên dịch chương trình AVR, không phải là một tập lệnh tuyệt vời (tốt hơn một số, tệ hơn các trình biên dịch khác), bạn không nên có bất kỳ vấn đề nào với ARM hoặc ngón tay cái, đơn giản hơn một chút, đơn giản hơn một chút. Tương tự như vậy nếu bạn đã thực hiện nhúng C (bên ngoài hộp cát) với AVR, thì ARM sẽ giống hoặc dễ dàng hơn. Bạn có thể đi với mbed hoặc maple nơi họ có hộp cát để dễ dàng bắt đầu và sau đó nếu bạn muốn tự mình mạo hiểm, bạn có thể không gặp nhiều rắc rối. mbed bạn chỉ cần sao chép .bin vào ổ đĩa flash ảo, cây phong bạn sử dụng trình tải hoặc dfu-produc của họ hoặc những thứ tương tự mà tôi không nhớ.


Câu trả lời tuyệt vời.
NickHalden

3

Những cuốn sách hay về ARM là:

"Kiến trúc sư ARM SOC" của Steve Furber

"Hướng dẫn phát triển hệ thống ARM" của Andrew Sloss, Dominic Symes và Chris Wright

"Hướng dẫn tham khảo kiến ​​trúc ARM" của ARM

Cái cuối cùng có sẵn miễn phí tại trang web của ARM .

Sloss, Symes và Wright là tuyệt vời nếu bạn muốn rời khỏi những cái cây để xem rừng, đặc biệt nếu bạn có hệ thống nhúng để làm việc.

Furber là một trong những kiến ​​trúc sư ARM gốc và thực hiện công việc tuyệt vời đưa bạn qua cơ sở lý luận về thiết kế của ARM và cách thức hoạt động của lõi xử lý ARM nói chung.

Tất nhiên tất cả những điều trên chỉ là một khuyến nghị dựa trên ý kiến ​​cá nhân / chủ quan của tôi và sẽ không được coi là đầu cắm cho một sản phẩm hoặc tác giả cụ thể.


Định dạng danh sách các cuốn sách dưới dạng danh sách sẽ hữu ích, bao gồm cả các liên kết cho những cuốn sách đó là hữu ích.
Hãy thử Laugstøl


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.