CHÉM GIÓ, BÀN LUẬN VỀ KỸ THUẬT
Lập trình nhúng là gì?
25 Tháng Tư 2021
Lập trình nhúng đang là một trong những ngành hot nhất hiện nay. Rất nhiều doanh nghiệp, tập đoàn lớn trên thế giới và trong nước đang tập trung phát triển vào lĩnh vực này và từ đó kéo theo một nhu cầu nhân lực khổng lồ với mức lương hấp dẫn. Vậy lập trình nhúng là gì? Làm thế nào để trở thành một kỹ sư lập trình nhúng.
Lập trình nhúng là gì
Định nghĩa
Xuất hiện theo sự ra đời của hệ thống nhúng thì lập trình nhúng là thuật ngữ chỉ công việc tạo ra các giải pháp phần mềm để xử lý và điều khiển hệ thống nhúng (Embedded Software) nhằm thực thi nhiệm vụ chuyên biệt của hệ thống nhúng
Các phần mềm nhúng cho các hệ thống nhúng được ứng dụng rộng rãi trong đời sống hiện nay như:
- Các hệ thống dẫn đường trong không lưu, hệ thống định vị toàn cầu, vệ tinh.
- Các thiết bị gia dụng: tủ lạnh, lò vi sóng, lò nướng,…
- Các thiết bị kết nối mạng: router, hub, gateway,…
- Các thiết bị văn phòng: máy photocopy, máy fax, máy in, máy scan,…
- Các thiết bị y tế: máy thẩm thấu, máy điều hòa nhịp tim,…
- Các máy trả lời tự động
Dây chuyền sản xuất tự động trong công nghiệp, robots.
Tương lại của lập trình nhúng
Câu hỏi được đặt ra là học lập trình nhúng thì sau này làm gì?
Có 2 hướng đi dành cho người học nhúng sau này:
- Embedded software: tức là trở thành một Embedded Software Developer (lập trình viên nhúng), công việc là phát triển các sản phẩm phần mềm cho các sản phẩm nhúng, có thể là application (web, desktop hay mobile app), firmware, OS (hệ điều hành), driver, vv. Công việc này thường được thực hiện bởi một nhóm, bạn là viết requirement, viết code, có người test code, cập nhật document cho sản phẩm.
- Embedded hardware: công việc 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 cần có kiến thức về phần cứng điện tử. Mỗi project mà bạn tham gia trong công ty sẽ có một process nhất định mà buộc bạn phải làm quen trước khi nhận task và hoàn thành nó.
Hai hướng đi vừa rồi thực ra lại liên hệ rất mật thiết với nhau. Trong quá trình làm việc, giả xử bạn là Embedded Software Developer, bạn được giao task. Cũng trong thời gian đó, người phụ trách làm Hardware cũng được giao những task tương ứng để công việc được hoạt động có gắn kết với nhau. Bạn tuy làm phần mềm nhưng có cần những kiến thức phần cứng để lập trình cho phù hợp.
Nhu cầu trong thời kỳ công nghệ thông tin cho ngành nhúng ngày càng tăng cao, thực tế thì nguồn nhân lực ở Việt Nam vẫn chưa đủ để đáp ứng được sự phát triển của ngành. Nhận định đây là một ngành thuộc nhóm ngành công nghệ rất có triển vọng hiện nay.
Kỹ năng cơ bản cần biết khi theo nghiệp lập trình nhúng
- Học ngôn ngữ lập trình C: hầu hết các phần mềm nhúng hiện nay được thực thi bằng ngôn ngữ C. Nếu bạt bắt đầu vô học nhúng thì lời khuyên chắc chắn là C.
- Tiếng anh: bạn sẽ thường xuyên tiếp xúc với tài liệu chuyên ngành kĩ thuật, nhất là datasheet. Thứ 2, khi bạn muốn tìm kiếm thông tin, rất nhiều thứ ở diễn đàn Việt Nam không có, bạn phải lên những trang của nước ngoài.
- Kiến thức về vi điều khiển và các ngoại vi: Về bộ nhớ: Flash, EEPROM, SRAM, DRAM, vv. Các kiến thức về logic, vi điều khiển, vi xử lý, ADC, TIMER, INTERRUPT, vv, các chuẩn giao tiếp (protocol): UART, I2C, SPI, RS232, JTAG,… nâng cao hơn như LIN, CAN, USB, Ethernet.
- Hệ điều hành thời gian thực (Real time OS).
- Thuật toán: việc thực hiện những công việc điều khiển phức tạp yêu cầu bận cần có kiến thức giải thuật nhất định.
- Có thêm kiến thức về các thiết bị phần cứng điện tử: là một điểm cộng rất lớn, hỗ trợ đắc lực cho quá trình lập trình.
Tạm kết
Bài viết này mình đã chia sẻ sơ về lập trình nhúng. Chúc bạn đọc vui vẻ