2009-02-18 5 views
22

Tôi bắt đầu phát triển một ứng dụng trong bảng mạch nhúng từ http://www.embeddedarm.com. Tôi là một người mới trong việc phát triển các ứng dụng nhúng. Tôi muốn các tài nguyên như sách, hướng dẫn trực tuyến sẽ giúp tôi bắt đầu phát triển các ứng dụng trong nhánh được nhúng. Tôi đã định sử dụng Linux làm hệ điều hành.Tài nguyên được đề xuất cho lập trình viên mới của ARM?

Trả lời

14

Khi mọi thứ đang chạy, nó chủ yếu là lập trình Linux. Nếu bạn bắt đầu với một hội đồng quản trị eval, tôi đoán bạn đã có rất nhiều công cụ. Dù sao, bạn có thể tìm thấy các liên kết sau hữu ích.

Toolchain: cross-compilation. Bạn có thể đi một cách dễ dàng, tức là tải xuống một chuỗi công cụ dựng sẵn từ code sourcery. Hoặc bạn có thể đi một cách khó khăn, và xây dựng toolchain của riêng bạn. Tuy nhiên, cách thức khó được thực hiện dễ dàng hơn nếu bạn sử dụng đúng công cụ. Croostool-ng là dự án như vậy với một danh sách gửi thư rất phản ứng.

Kernel: tốt, kiến ​​trúc cánh tay đã được trong đường chính trong một thời gian, tuy nhiên, nếu bạn có một số câu hỏi ARM cụ thể, bạn chắc chắn là nên yêu cầu họ there

Userspace: Khi hạt nhân đang khởi động, bạn cần một không gian người dùng để chạy, tức là một số hệ thống tập tin, shell, thư viện C, quá trình init, vv ... Để xây dựng các công cụ như vậy, có nhiều tùy chọn. Một là tự mình làm mọi thứ. Bạn bắt đầu với busybox, và sau đó tiếp tục với các công cụ khác nhau mà bạn cần. Hoặc bạn có thể sử dụng các công cụ tự động và có thể định cấu hình. Sở thích của tôi là ptxdist, vì nó có mức độ phức tạp phù hợp (để tôi sử dụng). Một tùy chọn khác là buildroot mà tôi không biết. Và nếu bạn cảm thấy bạn cần thứ gì đó mạnh hơn, bạn có thể xem OpenEmbedded.

Tôi đã xem qua một số sách liên quan đến phát triển nhúng, nhưng nó giống như các tập lệnh được ghi lại. Xây dựng một hệ thống nhúng hoàn chỉnh là khó khăn, và tôi nghĩ bạn sẽ tìm thấy nhiều thông tin trong các công cụ và danh sách gửi thư hơn là trong sách.

0

Nếu bạn có bo mạch chủ TS-7000, bạn có thể muốn đăng ký TS-7XXX mailing list.

+0

Tôi đã làm điều đó. Tôi cũng tìm thấy bộ phát triển của họ là rất hữu ích cho một newbie. – yrcjaya

0

Tài nguyên Linux được nhúng tuyệt vời khác là Embedded Linux: Hardware Software & Interfacing, được điều hành bởi tác giả của cuốn sách đó. Ông cung cấp một số mẫu để làm việc với Embedded Linux, hầu hết đều chạy trên nền tảng TS-7XXX.

0

Tôi nghĩ điều đó phụ thuộc vào loại ứng dụng bạn sẽ phát triển.

Đối với Linux (không phải Android) và các ứng dụng không có gì đặc biệt đối với thiết bị ARM, tôi không nghĩ bạn cần bất kỳ kiến ​​thức ARM nào ngoại trừ xây dựng chuỗi công cụ. Các bản phân phối như Ubuntu và Arch có các phiên bản dựa trên ARM, hầu như tất cả các gói liên quan đến dev trong kho của chúng đều có thể hoạt động với ARM.

Đối với các ứng dụng sử dụng các thiết bị như máy ảnh, gia tốc kế và các thiết bị khác, nếu chúng có trình điều khiển trên Linux thì không có gì phải lo lắng.

Điều bạn thực sự cần quan tâm là các thành phần phần cứng không có trình điều khiển hoặc trình điều khiển rất nghiêm ngặt trên Linux, trong trường hợp này, bạn phải liên lạc trực tiếp với thiết bị. Bạn cần phải làm việc bên trong hạt nhân hoặc sử dụng giao diện giống như ioctl. Sau đó, quản lý bộ nhớ ARM, quản lý I/O (bản đồ mem, thăm dò, vv), lập trình ngắt là những gì bạn cần phải học.Chỉ cần tìm hướng dẫn cho CPU của bạn trên trang web của người bán, như tìm sách hướng dẫn phát triển Intel x86 hoặc x64.