Lập trình nhúng

Giải mã sức hút của ngành lập trình nhúng

Cập nhật1303
0
0 0 0 0

Lập trình nhúng là một trong những ngành đang có độ hot cao hiện nay. Rất ít trường đào tạo lập trình nhúng trong khi nhu cầu nguồn nhân lực lại thiếu hụt.


Giải mã sức hút của lập trình nhúng1. Phân khúc thị trường hệ thống nhúng

Hệ thống nhúng vốn rất đa dạng và phong phú, tuy nhiên có rất ít người biết được tầm quan trọng và sự hiện hữu của chúng trong thế giới quanh ta. Từ những hệ thống phức tạp như hàng không vũ trụ, phòng thủ quân sự, máy móc tự động trong công nghiệp, đến những phương tiện di chuyển thông thường như máy bay, xe điện, xe hơi, các trang thiết bị y tế trong bệnh viện, cho tới những thiết bị truyền hình và điện thoại di động chúng ta sử dụng hằng ngày, đâu đâu cũng có sự hiện diện của hệ thống nhúng.

Trong hơn 9 tỷ bộ vi xử lý được sản xuất hằng năm, chỉ có khoảng 150 triệu bộ (1,5%) được sử dụng cho máy vi tính cá nhân, phần còn lại (98,5%) là dành cho hệ thống nhúng (2).

Theo một thống kê khác của BCC Research Group (4) thì đến năm 2009, tổng doanh số của thị trường hệ thống nhúng trên toàn cầu sẽ đạt khoảng 88 tỷ đô-la Mỹ, với phần cứng chiếm 78 tỷ đô-la Mỹ và phần mềm chiếm 3,5 tỷ đô-la Mỹ, phần còn lại là các bo mạch nhúng. Tốc độ tăng trưởng trung bình hằng năm (AAGR) của phần mềm nhúng hiện đang đạt mức 16%.

2. Ứng dụng của lập trình nhúng

Trong các ngành máy tính, điện tử, viễn thông ngân hàng …. Hệ thống nhúng được sử dụng rộng rãi

Hệ thống nhúng được tích hợp cả phần mềm và phần cứng, tích hợp được 1 thiết bị lập trình như vi xử lý.

Hệ thống nhúng và PC, thiết bị cầm tay PDA có sự khác biệt là do sự thiết kế để chuyên biệt hóa chức năng cụ thể nhằm tăng chất lượng cho hệ thống giảm thiểu giá thành.
Giải mã sức hút của lập trình nhúng3. Học lập trình nhúng có thể làm nghề gì

Lập trình nhúng có thể chia thành 2 hướng  đi như sau:

Embedded software

Bạn sẽ trở thành một lập trình viên đúng nghĩa, phát triển phần mềm cho các sản phẩm nhúng như phần mềm ứng dụng (web, desktop hay mobile app), firmware, OS (hệ điều hành), driver,...

Công việc của bạn là viết code, test code, viết requirement, document cho sản phẩm.

Ưu điểm:

  • Embedded software phát triển nhanh: số lượng thiết bị đòi hỏi embedded software gia tăng

  • Embedded software mở ra nhiều cơ hội và giá trị mà chúng ta không nghĩ đến trước đó

  • Embedded software khiến mọi thứ thành hiện thực trong thế giới thật với thời gian thật 

  • Việt Nam đang thiếu nguồn nhân lực Embedded software

Embedded hardware

Bạn sẽ là một người chuyên thiết kế board mạch hay còn gọi là thiết kế PCB, test board mạch. Công việc này đòi hỏi bạn phải rất giỏi về phần cứng và điện tử.

4. Những kiến thức cần có để trở thành một lập trình viên về ngành lập trình nhúng

Những kiến thức cơ bản bắt buộc

Học lập trình C: bạn cần học C đến mức chuyên gia, đây là ngôn ngữ quan trọng bật nhất trong lập trình nhúng.

Tiếng anh: ít nhất bạn phải đọc được tài liệu chuyên ngành kĩ thuật, nhất là datasheet.

Kiến thức về điện tử: các kiến thức về logic, vi điều khiển, vi xử lý, ADC, TIMER, INTERRUPT, vv.

Các loại giao tiếp (protocol): UART, I2C, SPI, RS232, JTAG,… (nâng cao: SATA, PCIE, USB, CAN, MOST).

Hệ điều hành: kiến trúc hệ điều hành, kiến trúc máy tính, nhất là hệ điều hành linux.

Cấu trúc dữ liệu và giải thuật: là chuyên gia phần cứng, bạn cũng phải code, đã code thì phải có giải thuật!

Memory: NOR, NAND, SRAM, DRAM, vv.

Hệ điều hành thời gian thực (Real time OS).

Những kiến thức chuyên ngành

Embedded software

  • Lập trình ứng dụng (application): C++, Java.

  • Lập trình device driver (dùng ngôn ngữ C).

  • Lập trình Android, lập trình web (basic).

  • Scrip: Perl, Python, đặt biệt là Shell script trên linux.

  • Cấu trúc dữ liệu và giải thuật cực tốt.

  • Xây dựng môi trường (build environments): Makefile, Cmake.

Embedded hardware

  • Thiết kế PCB: Allegro hay Antium.

  • Design schematic: bạn cần có kiến thức điện tử thật tốt để làm việc này.

  • Test board: sau khi đã thiết kế xong, bạn cần phải biết test board.

  • Review, đánh giá và lựa chọn linh kiện cho dự án sao cho tối ưu.

  • Sử dụng các loại dụng cụ máy đo.

  • Kĩ năng hàn mạch, sửa mạch (nếu bạn là Freelancer).

Hy vọng qua bài viết bạn đọc đã hiểu hơn về ngành lập trình nhúng và lựa chọn quyết định đúng đắn khi nghiên cứu về ngành này.


Tìm hiểu thêm về Lập trình nhúng:
Lập trình nhúng và những điều cần biết (Phần 1)
Lập trình nhúng và những điều cần biết (Phần 2)


Xem thêm các bài viết hay tại: Cổng thông tin toàn diện về phần mềm
 

NguồnBan Truyền thông ITPlus Academy
Lượt xem17/06/2021
0 0 0 0
Chia sẻ bài viết

Tin Nổi bật

Tin xem nhiều

Trang chủ Liên hệ Tìm kiếm Tài khoản Danh mục
Hệ thống đang xử lý
Thông tin liên hệ của quý khách đã được gửi đến cho chúng tôi. Chúng tôi sẽ nhanh chóng tiếp nhận và phản hồi thông tin cho quý khách trong thời gian thích hợp nhất. Đóng