01/10/2018, 10:34

Học mãi không hiểu phải làm sao :(

Chuyện là 3 tháng nay em có vọc về Embedded và cụ thể là em muốn làm Embedded Linux.
Cơ mà thấy nhiều tài liệu quá, đọc hoài, đọc mãi mà cứ mỗi lần đọc là thấy loạn hết đầu không hiểu phải bắt đầu từ đâu nữa vì lúc nào cũng có 2 hướng đi về cách học.
1 là học lập trình vi điều khiển giao tiếp Led, button, LCD, bla…bla… em thấy mấy cái này chẳng có tí gì liên quan Linux cả. Chẳng hiểu sao nhiều nơi nói cần hiểu về Kernel Linux, Shell Script. Em học cái phần này mà thấy đau đầu, mệt mỏi quá khi thấy dường như mình đi lệch hướng mà sao cả trong chương trình học của trường cũng có phần này.
2 là thấy anh anh Đạt nói là không cần lo phần cứng, mua beaglebone về và thực hành, cái này thì e thấy có có đụng tới linux nè, MakeFile, CMake , Bash Shell, e đã học được cơ bản, nhưng lại thấy chẳng làm được gì nhiều với mấy cái cơ bản này.
Em cảm thấy 2 hướng ấy nó cứ sao sao, nó không liên quan tới nhau, lập trình nhúng thực chất có những vị trí lập trình nào vậy ? Có những công việc gì vậy ? Và làm sao để đầu tư đúng hướng để 4 năm nữa có thể ra trường và làm việc với Embedded Linux ạ ?
Quả thức 2 tháng đầu mới vọc vạch chưa rõ thì đỡ, nhưng sang tháng thứ 3 này, nhất là 2 tuần gần đây, em đọc và học nhúng này cứ cảm thấy mình đầu tư 2 thứ chẳng liên quan tới nhau gì, cái dùng win, cái linux, thấy nổ óc quá đến cả đi ngủ em cũng nghĩ tới MakeFile, nhưng vẫn thắc mắc không hiểu sao lập trình nhúng là lập trình các vdk lại k dùng linux mà dùng win … Hôm nay mệt quá em xin phép post bài này mong a/c cho xin vài lời dạy bảo ạ.

Văn Dương viết 12:47 ngày 01/10/2018

Lập trình nhúng với Linux là cái gì ?
Là lập trình cho 1 thiết bị điện tử mà trung tâm xử lý của nó là một VI XỬ LÝ thường là chip ARM và được cài trên nó 1 phiên bản OS họ Linux.
Chức năng chính của cái bo đó nghiêng về xử lý dữ liệu (wifi, ethernet, xử lý hình ảnh…)
Công việc chính là viết cái phần mềm hoặc driver cho chạy trên cái bo đó.
Vì viết ứng dụng cho hệ điều hành Linux nên tất nhiên phải biết những thứ tạo nên ứng dụng cho Linux.
Không cần biết nhiều về phần cứng vì thiết kế phần cứng đã có đội khác nó làm. Còn phần điều khiển phần cứng thì thông qua api của OS, Driver, thư viện, framework nó che đi hết rồi.

Nhúng với vi điều khiển là cái gì ?
Là lập trình cho thiết bị điện tử mà trung tâm xử lý của nó là một VI ĐIỀU KHIỂN. Nó ít khi được cài một OS, cùng lắm là RTOS, uClinux.
Chức năng chính của cái thiết bị đó là điều khiển các thiết bị khác. (Điều khiển robot, điều khiển động cơ, xi lanh…)
Công việc chính là tạo ra cái gọi là firmware để nạp vào bộ nhớ của con VĐK cho nó chạy.
Vì nó có vô vàn ứng dụng muôn hình vạn trạng nên thằng lập trình thường phải là thằng thiết kế luôn phần cứng. Nên nó phải biết điện tử. Sau khi có phần cứng, không có OS, driver, cùng lắm là có framework, lib nên muốn code được thì phải hiểu phần cứng, phải hiểu điện tử.

nghia viết 12:36 ngày 01/10/2018

Thấy quảng cáo này khá hay!

facebook.com

Mountain Dew Vietnam

Đã đam mê Phải đam mê cho tới #MountainDew #ForTheFearless

nghia viết 12:38 ngày 01/10/2018

à anh ơi em không hiểu lắm anh có thể tư vấn cho em tí đc ko?
Embeded chia ra 2 hướng embeded software và embeded hardware.
ví dụ viết thư viện hiện LCD text là bên lập trình soft hay hard. Em không phân biệt đc!

Văn Dương viết 12:43 ngày 01/10/2018

Thiết bị nhúng chia làm 2 phần.
Hardware- là cái bo mạch điện tử.
Software- là chương trình trên cái bo đó.

Đội làm ra bo thì là embedded hardware.
Đội viết chương trình thì là embedded software.

=> Viết chương trình xuất ra lcd vẫn là software.

Cái embedded hardware là mờ nhạt vì lẫn vào các loại hardware khác nên ít có định nghĩa. Chủ yếu nghe thấy software vì nó khác biệt nhiều với loại lập trình khác.

nghia viết 12:44 ngày 01/10/2018

Chào anh!
vậy là có nghĩa là: thầy hard sẽ đưa sơ đồ cho mình rồi thằng soft viết hả anh!

Tự động Hóa viết 12:36 ngày 01/10/2018

để làm ra cái bo mạch điện tử thì có cần lập trình không anh?

Tự động Hóa viết 12:38 ngày 01/10/2018

cho em hỏi em muốn:
+lập trình trên vi điều khiển
+thích làm những project như búng tay đèn sáng quạt chạy,ma trận led,…
+thích chế tạo robot nhện,drone,cách tay robot…
thì những cái này thuộc embedded hardware hay embedded software ạ.

Văn Dương viết 12:41 ngày 01/10/2018

Cả 2 em nhé…

Văn Dương viết 12:37 ngày 01/10/2018

Làm ra bo mạch thì em chỉ cần biết về các linh kiện điện tử. Chức năng, cách kết nối của từng linh kiện để xây dựng lên bản vẽ nguyên lý (gọi là schematic).
Sau đó vẽ bản mạch in dựa vào mạch nguyên lý.
Kết thúc thì em có thể tự làm bo bằng tay hoặc đặt gia công từ file đã vẽ.

Tự động Hóa viết 12:41 ngày 01/10/2018

anh có thể kể giúp em một vài sản phẩm khác của embedded hardware và e- software khi đi làm được không?
em học tự động hoá em muốn học cả 2 cái nhúng này khi đi làm không biết có khả thi không.

Bài liên quan
0