Tại sao không học cả hai? Bạn có thể nhận được một bảng cortex-m3 với giá khoảng 12 đô la, và một cái gì đó giống như một chiếc sam7 với giá khoảng 35 đô la. Theo như ARM đi nếu bạn muốn có kiến thức tốt, hãy bắt đầu với ARM7TDMI, tìm hiểu ARM và ngón tay cái, sau đó lấy ngón tay cái đến vỏ não-m3 và sau đó bổ sung ngón tay cái2. ARM không sản xuất chip họ bán lõi xử lý, nhà cung cấp bọc nước sốt đặc biệt của họ xung quanh nó. Nó là tốt để lao vào các nhà cung cấp khác nhau với cùng lõi. I / O và trên các thiết bị ngoại vi chip sẽ tạo ra hoặc phá vỡ bạn, và việc có thể chọn đúng nhà cung cấp và / hoặc tránh một nhà cung cấp không phù hợp với nhiệm vụ là có giá trị.
Thỉnh thoảng tôi có liên quan đến các quyết định tuyển dụng, và tôi đồng ý với các dấu hiệu. Đó không phải là tất cả về việc biết một lõi thực sự tốt, còn rất nhiều điều cần biết, đừng hiểu quá cụ thể. Hãy hỏi các bậc thầy 6502 (những người chưa tiến lên với ngành công nghiệp) sự nghiệp của họ đang diễn ra như thế nào. Một số rất nhỏ rất tốt phần còn lại, không quá nhiều. Tôi muốn thấy một ứng cử viên có thời gian riêng của họ và không chỉ cho một lớp đại học, đi ra ngoài mua một vi điều khiển hoặc bảng eval nhỏ, và thực sự đã làm một cái gì đó với nó. Ngay cả khi nó được học cách nháy đèn led bốn cách khác nhau bằng cách sử dụng perhipemony nội bộ. Tôi thích một người đã thử nhiều hơn một bộ xử lý và nhà cung cấp, nhưng chúng tôi không thể có mọi thứ chúng tôi muốn. Bạn có thể nhận một bảng dữ liệu hoặc tập lệnh hoặc chuỗi công cụ khác nhau nhanh và tốt như thế nào có thể có giá trị hơn bao nhiêu của một chuyên gia bạn trong một lõi cụ thể từ một nhà cung cấp cụ thể. Một số nhà cung cấp có dữ liệu và sơ đồ tốt, v.v. một số thì không, bạn cần biết rằng tất cả các hướng dẫn tham khảo đều có lỗi và có thể hack và google theo cách của bạn thông qua các điểm yếu trong tài liệu tham khảo.
ARM là nơi hiện tại, sẽ thật ngu ngốc nếu không biết gì về lõi của họ và các nhà cung cấp chip lớn sử dụng lõi của họ. Nhưng cũng giữ cho đôi mắt của bạn mở để cũ hơn và mới hơn và khác nhau là tốt. 8051 vẫn được sử dụng ở một số nơi, nó sẽ không chết. Microchip vẫn bán pic của. Dù sao thì avr vẫn phổ biến (atmel thực sự biết cách tạo ra những khách hàng hài lòng) và arduino đã đưa sự phổ biến đó lên một cấp độ hoàn toàn mới. Không có gì gần với ARM nói chung, nhưng ARM không phải là người chơi duy nhất trong các thị trường khác nhau mà nó tham gia.
Sparkfun có một số bảng với giá dưới 50 đô la, tôi khuyên bạn nên lấy một ít. Các bảng tiêu đề olimex là tốt, ví dụ sam7s-h64 hoặc 256. st có bảng khám phá stm32 của họ (KHÔNG TÌM HIỂU VỚI Phát hiện STM8, dòng bộ xử lý hoàn toàn khác nhau) trong khoảng 10 đô la. Dưới 5 đô la, bạn không thể tránh được một hoặc hai bệ phóng msp430 (không phải là một nhánh mà là một lõi vi điều khiển khác, tốt, tốt). Bạn có thể có được đôi chân của mình với coridium armmite, hoặc dấu chân phong, arduino nhưng dựa trên ARM không avr. Một người khác muốn cung cấp hộp cát cho nhà phát triển. mbed2 thực sự dễ sử dụng, lpc nổi tiếng trong thế giới vi điều khiển cánh tay, nhưng chúng có lẽ là lựa chọn ít được yêu thích nhất của tôi, hãy thử một vài lựa chọn khác nhau, ít nhất là một trong những lựa chọn từ atmel. Stellaris bây giờ thuộc sở hữu của ti là người đầu tiên ra mắt với vỏ não-m3, ngoài loạt 800 mà tôi bị gạch trong vòng một hoặc hai giờ ngay lập tức vì tôi không chú ý đến 17 nhãn cảnh báo ở khắp mọi nơi, tôi thích tất cả các bảng của họ mà tôi đã thử. Ít nhất là để nói chuyện với các thiết bị ngoại vi và tìm hiểu về oled. Nếu bạn muốn nối vi điều khiển lên một cái gì đó không có trên bảng thì bảng stellaris có lẽ là lựa chọn cuối cùng. Họ đã nhai gần như mọi pin I / O và bạn sẽ cắt dấu vết để lấy lại, về cơ bản trả tiền cho những thứ trên bảng mà bạn không có ý định sử dụng, chỉ cần lấy coridium armmite pro hoặc bảng tiêu đề olimex hoặc đại loại như thế. tránh l े o, nó được nhắm mục tiêu cụ thể đến một nhà cung cấp công cụ, thậm chí không đến gần nó, không không ... đi với mbed2 nếu bạn thực sự muốn có một lpc cortex-m3, và bạn thậm chí không phải bận tâm với hộp cát mà họ khuyến khích, biên dịch tệp .bin của bạn với bất kỳ công cụ nào bạn thích và chỉ cần sao chép nó vào thứ trông giống như ổ USB / ngón tay cái và nhấn nút đặt lại. Đó là vẻ đẹp của mbed2, bạn hoàn toàn tự do sử dụng bất kỳ hệ điều hành máy chủ và công cụ phát triển nào bạn thích. Tiêu cực là võng mạc đốt đèn led màu xanh. Tôi đã phải đổi mỏ lấy đèn led xanh để tránh những cơn đau nửa đầu tức thời.
Đọc lại câu hỏi của bạn. Của gia đình lõi ARM hiện tại. ARM7TDMI truyền thống hơn, nó hỗ trợ tập lệnh 32 bit cơ bản. ARM lấy tập lệnh đó và tạo một tập lệnh ARM giảm, được gọi là tập lệnh ngón tay cái. Các hướng dẫn ngón tay cái ánh xạ một đến một với các hướng dẫn ARM (điều ngược lại là không đúng). Vì vậy, lõi chỉ phải xử lý các hướng dẫn ARM, các hướng dẫn ngón tay cái được dịch sang các hướng dẫn ARM trên đường vào ống. Một thiết kế / ý tưởng không tồi. Nhìn vào sự tiến bộ của gameboy, các thanh kiếm 16 bit ở khắp mọi nơi, cắt giảm chi phí, v.v ... Bây giờ GBA là ngoại lệ cho quy tắc rằng ngón tay cái chạy chậm hơn cánh tay, không phải vì dịch sang hướng dẫn của cánh tay mà vì nó là một tập hợp con điều đó hạn chế bạn một nửa các thanh ghi và hai lệnh toán hạng thay vì ba, Vì vậy, cần nhiều hướng dẫn để làm điều tương tự trong ngón tay cái như trong cánh tay. (Mặc dù nhị phân ngón tay cái thường nhỏ hơn một chút). Bước tiếp theo là thumb2, về cơ bản đây là độ dài chỉ dẫn thay đổi, một số hướng dẫn là 32 bit, khoảng 16 bit, chúng tạo ra sự cân bằng giữa một số điểm yếu của bộ hướng dẫn ngón tay cái và độ mạnh của cánh tay. các nhị phân không nhỏ, nhưng không lớn bằng cánh tay, do đó, với hiệu suất đạt được là hấp dẫn đối với vi điều khiển. Một điều khác họ đã làm là tạo ra các lõi cortex-m này chỉ bằng ngón tay cái2, chúng không có lõi cánh tay được chôn bên trong, những lõi này xuyên qua và qua ngón tay cái2. nạc và có ý nghĩa. Bây giờ chúng cũng thực hiện ngón tay cái, vì vậy bạn có thể sử dụng các công cụ chỉ dùng ngón tay cái mà bạn đã học được từ ARMv4T (arm7tdmi). Nếu bạn không hoạt động ở cấp độ ngôn ngữ lắp ráp, MOST của điều này hoàn toàn không quan trọng với bạn, phần có thể quan trọng là một số bit yêu cầu lắp ráp, như bảng ngắt / ngoại lệ hoàn toàn khác nhau trên dòng cortex-m so với lõi ARM truyền thống. Nếu bạn đang sử dụng hộp cát của ai đó thì bạn thậm chí sẽ không thấy điều đó. Nếu không viết trình biên dịch chương trình thì điều bạn cần học là làm thế nào để sử dụng trình biên dịch chéo và có thể các tập lệnh liên kết. Với codourcery tạo ra một công cụ gcc tốt cho cánh tay mà hầu hết được thực hiện cho bạn. Bạn có thể muốn đi xa để hiểu rằng những thứ như ARM7 và ARMv7 là hai thứ hoàn toàn khác nhau, ARM7 là ARMv4, ARMv7 ở phía mới hơn. Cũng biết rằng ARMv5, ARMv6, ARMv7 đều đã thêm các hướng dẫn mới và tìm hiểu cách nói với trình biên dịch mà bạn có lõi để có thể đưa ra lựa chọn tốt hơn bằng cách sử dụng các hướng dẫn mới hơn, cho hiệu suất tốt hơn, tương tự như vậy, không vô tình sử dụng lựa chọn lõi sai và tạo ra các hướng dẫn không thực thi trên lõi của bạn. Cortex-m3 và bây giờ là cortex-m0 được nhắm mục tiêu vào các bộ vi điều khiển truyền thống, folks 8 bit. Dòng cortex-A là dòng cao cấp nhắm vào các điện thoại có màn hình lớn và nhảy baloney, máy tính để bàn, máy chủ, v.v. Bạn đã đề cập đến các bộ vi điều khiển để bạn có thể ở lại đấu trường ARM7 hoặc cortex-m. Tôi có một trình giả lập tập lệnh ngón tay cái (không phải ngón tay cái 2) được gọi là ngón tay cái tại github.com khởi động như cortex-m, ngoài các thiết bị ngoại vi, dễ thêm, bạn có thể lấy mã bạn học để chạy ở đó và chuyển sang vỏ não-m3 hoặc m0. qemu tạo ra một trình giả lập tốt nhưng khó hơn nhiều để xem thực thi và khó hơn nhiều để thêm các thiết bị ngoại vi vào, nhưng đồng thời hỗ trợ các bộ lệnh, arm, thumb và thumb2.
Truy cập trang web của ARM và tìm ARM ARM (Hướng dẫn tham khảo kiến trúc ARM) đây là nồi nấu chảy tất cả các lõi của chúng, tại thời điểm này có rất nhiều biến thể, nó sẽ hơi phình to, vì vậy bạn cần tìm TRMs (Tham khảo kỹ thuật Hướng dẫn sử dụng) cho các lõi cụ thể. Cụ thể là vỏ não-m3, bạn thực sự muốn có TRM cho ARMv7M Tôi nghĩ rằng vỏ não-m3 được gọi. Nó giúp tách ngón tay cái2 khỏi ARM ARM. Hiểu được quá trình khởi động của vỏ não-m3 và cách nó thay đổi từ nhánh 32 bit là tôi cũng tin vào TRM, có lẽ nó chỉ có trong TRM. Một điều cần biết, một nhà cung cấp cụ thể sẽ mua một lõi cụ thể và rev của lõi đó. ARM có thể cải thiện lõi đó và bán rev3 chẳng hạn, nhưng nhà cung cấp với rev2 có rev2. Mặc dù ARM ' Trang web của s hiển thị TRM cho rev2 khi được thay thế bằng TR3 rev3, TRM rev2 là thứ bạn muốn vì nó phù hợp với lõi bạn đang sử dụng, đôi khi bạn có thể bị nhầm lẫn hoặc mất hoàn toàn do sử dụng TRM sai. ARM ưu tiên các nhà cung cấp không tự ghi lại các lõi mà họ muốn quản lý tài liệu, vì vậy bạn cần thu hẹp khoảng cách với những gì nhà cung cấp chip đang nói với bạn và những tài liệu trên trang web ARM sẽ nhận được. Kiểu này đang khiến Linux hỗ trợ ARM khó khăn cho các ARM cao cấp hơn. Và gần đây tôi nhận thấy một số lỗi rất lớn trong mã Linux kết nối sai errata, rev sai với nhà cung cấp sai và lõi sai. Tương tự như vậy, khởi tạo những thứ sai vì TRM sai được sử dụng để viết mã. Đó là tác dụng phụ đáng tiếc của việc có nhiều lõi được sử dụng bởi nhiều nhà cung cấp chip theo nhiều cách khác nhau, trong khi nhà cung cấp cốt lõi đó đang nhanh chóng tăng số lượng và chất lượng sản phẩm của họ. Bạn có thể làm những gì tôi làm rất nhiều thời gian, biên dịch cho chế độ tay ARMv4 hoặc chế độ ngón tay cái ARMv4 và mã đó sẽ chạy trên hầu hết các lõi tiếp theo. Thật không may, các công cụ, dựa trên gcc, vẫn có một số đau đớn và / hoặc khó chịu khi sử dụng ngón tay cái. Có một số thực hành.
xin lỗi vì phản hồi lâu, hy vọng nó hữu ích