Lập trình nhúng arm trên linux

      203

Em hiện là sv năm tốt nhất ngành công nghệ thông tin ( chuẩn bị sang năm 2 tới chỗ rồi ). Hiện tại em đang khám phá về xây dựng nhúng. Em tìm kiếm Google thì ra vượt trời các nội dung bài viết về nghành này, hiện nay trong đầu em đang mường tượng nhúng nó như thế này :Nhúng chia thành 2 loại : Embedded Hardware and Embedded Software.Cả 2 mảng này thì hồ hết cần kỹ năng và kiến thức điện tử cơ phiên bản thì phải.Em bao gồm đọc vài bài xích trên losingravidos.com và có mail cho một anh đang làm trong ngành này, anh ấy nói tất cả 3 phía đi , em xin chuyển nguyên văn mail anh ấy gửi mang đến em dưới đây.

Bạn đang xem: Lập trình nhúng arm trên linux


*

Em có được sự hiểu biết về 3 phía này nhưng vẫn không rõ thực sự mình cần sẵn sàng những kiến thức và kỹ năng gì để 3 năm nữa ra trường rất có thể làm trong lĩnh vực này. Em chỉ biết là đề nghị năm vững vàng C/C++, và lúc này thì em cũng chỉ biết những kỹ năng cơ bạn dạng của 2 ngôn từ này và vận dụng 1 chút vào lập trình sẵn 8051.

Vậy em đăng bài xích này mong các tiền bối chỉ dạy dỗ em đến em đọc về những thông tin cơ mà em được tiếp cận làm việc trên, nhằm em biết làm thế nào để trở thành 1 Embedded SoftWare Engineer. Vày em chần chờ gì về điện tử cơ bản vì nguyên năm độc nhất em học tập toàn C/C++ cơ bản, rồi Java, Data Structures and Algorithms.Mong các tiền bối chỉ dạy. Thiệt sự em đang rất cần những lời dạy bảo của những tiền bối trong khi này. Em xin cảm ơn.


Ý con kiến cá nhân:Coi thế giới nhúng như 1 cái cây, 2 nhiều loại đối tượng hoàn toàn có thể làm nhúng là cntt và điện tử vẫn tiếp cận trái đất này theo 2 hướng khác nhau.Với năng lượng điện tử:Kiến thức điện tử của họ mạnh rộng CNTT, họ bước đầu đi từ bỏ gốc mang đến ngọn cây bằng việc thao tác làm việc với các MCU từ thấp tới cao (8051 > PIC, AVR >ARM) và những hệ điều hành từ dễ dàng đến phức tạp (RTOS > uClinux > Linux). Tự build hartware của riêng mình. Đây là hướng rất có thể như chúng ta nói là Hardware.Với CNTT:Kiến thức về ứng dụng mạnh hơn điện tử, họ lại đi ngược lại. Họ ban đầu với việc thực hiện Linux trên trang bị tính, cấu hình và build những phần mềm, sử dụng các bo nhúng tất cả sẵn OS (để đậy đi phần cực nhọc nuốt của năng lượng điện tử) như Raspberry pi. Tiếp nối đi xuống các phần cứng thấp dần dần như modem, wifi, arduino. Chương trình cũng xuống những tầng thấp dần : tiện ích > Driver > Kernel. Đây có lẽ là hướng Software mà bạn muốn làm.


Embedded Software thì cái rất rất đặc trưng là Data Structures and Algorithms. Vì chưng vì hiện nay rất nhiều trường đại học giảng dạy ngành này, do đó về mặt kĩ thuật, người ta hơn thất bại nhau sống điểm này. Bởi vì lập trình nhúng là lập trình mang lại board hartware (những người viết tool thì mình ko nói tới), nhưng board hartware thì khoáng sản hạn chế, Flash, Ram,…ít. Nên cần lời giải tối ưu nhằm tiết kiệm bộ lưu trữ và TIẾT KIỆM NĂNG LƯỢNG cho các thiết bị IoT.Muốn vươn lên là Embedded Software thì cần biết thêm về RTOS (hệ điều hành thời gian thực) mà lại cái theo thông tin được biết tới nhiều nhất là FreeRTOS, hoàn toàn có thể là C, C++, C#, các framework như Qt, … biết Python, Bash Shell, … nói thông thường là phải ghi nhận viết tool cùng viết script.Muốn làm về IoT (Internet of Things) thì phải ghi nhận về thiết kế mạng, phải ghi nhận lập trình socket, biết cố nào là giao thức HTTP, bí quyết gửi những package, WIFI, Zigbee,… nói chung là networkMuốn làm cho về embedded linux thì như mail làm việc trên của doanh nghiệp là một hướng.Bạn hoàn toàn có thể lên những trang tìm việc gõ embedded software thì bạn sẽ thấy yêu cầu của họ.

Và cuối cùng, mình khuyên bạn. Trước lúc ra trường, các bạn good at English (tệ tuyệt nhất là giao tiếp cơ phiên bản và gọi tài liệu kĩ thuật) mới hoàn toàn có thể vô được mấy công ty lớn để intern.

Xem thêm: Tuấn Hưng Không Chỉ Giàu Có, Nổi Tiếng Mà Còn Đảm Đang Việc Nhà


1 like
BacNinh (Anaconda99) May 22, 2017, 6:03am #4
lenhatthanh20:

Bạn rất có thể lên những trang tìm việc gõ embedded software thì các bạn sẽ thấy yêu cầu của họ.

e search thì thấy chúng ta toàn nói thông thường chung kiểu " cụ chắc C/C++ hoặc embedded "
, chẳng hiều gì luôn, chỉ biết mỗi cần học cứng cáp C/C++, nhưng C/C++ sinh sống trường thì dạy toàn cơ bản, k thao tác làm việc bit byte quái quỷ gì hết.


Duong_Act:

Với CNTT:Kiến thức về phần mềm mạnh hơn năng lượng điện tử, bọn họ lại đi ngược lại.

Kiến thức phần mềm là sao anh ? e thấy n chỉ gồm C/C++ cùng CTDLGT thôi mà. Linux là OS, build Software cũng k bên trên linux cũng k khó lắm.


Duong_Act:

Sau kia đi xuống các phần cứng thấp dần như modem, wifi, arduino. Chương trình cũng xuống những tầng thấp dần : tiện ích > Driver > Kernel. Đây có lẽ rằng là phía Software mà bạn có nhu cầu làm.

E không hiểu khu vực này, a mang đến e xin cái links để tìm hiểu vấn đề này với. Phầm mềm > Driver > Kernel. Xây dựng nhúng cũng có App ạ ? e tưởng lập trình nhúng là lập trình cho những VDK, VXL chứ nhỉ, à mấy cái ấy thì app j ạ ? Driver và Kernel thì e gồm đọc vài ba bài, tuy vậy chỉ biết lập trình sẵn Driver để giao tiếp các vật dụng ngoại vi với phần cứng của mình, Kernel thì nó là Nhân gì gì ấy, a nói mang đến e nghe mấy đặc điểm này với.


Ví dụ tín đồ ta kêu là rứa chắc C/C++, thì tức là bạn nên nắm hết sức rõ các kiến thức như bé trỏ, struct, đệ quy, có thể là xây dựng hướng đối tượng nữa … Đặc biệt là nhỏ trỏ nha, học kĩ nhỏ trỏ, bé trỏ cung cấp 1, cấp 2, con trỏ hàm,… học tập IT giỏi kĩ thuật nói chung, yên cầu bạn cần tự học siêu nhiều. Các bạn cứ lặng tâm, khi chúng ta vào chuyên ngành, các bạn sẽ được làm đồ án. Dịp đó bắt đầu là lúc các bạn thực sự đề nghị tự học, chớ nhờ fan khác làm cho dùm hoặc copy của người khác.Việc bạn thao tác với bit byte, thì đó là lúc bạn lập trình với vi điều khiển đó. Thường được sử dụng các toán tử như: , >> (dịch phải),