Linux Porting Level 2
- 11 bài giảng
- 1 - 2 giờ mỗi bài học
- Trợ giảng giải đáp mọi thắc mắc 24/7
- Học mọi lúc mọi nơi trên mọi thiết bij
Giới thiệu
Tình hình tuyển dụng
Các công ty tuyển dụng hiện chia thành 2 nhóm:
-Nhóm công ty làm về Outsource (điển hình là FPT):
+ Bootloader: Tối ưu thời gian khởi động, thêm cmd điều khiển, phân vùng Flash...
+ Linux Kernel: Viết driver: I2C/SPI/USBT/CAN/GPIO...
+ Rootfs: Phát triển các ứng dụng tầng usr space.
- Nhóm công ty làm về product (VNPT, FPT, Lumi, Dasan, Vinfast...)
Hiện này Deviot đào tạo và giới thiệu ứng viên tiềm năng vào FPT
Vậy Embedded Linux là gì ?
Nói cho đơn giản thì đó là những hệ thống chạy trên nền tảng hệ điều hành Linux, các hệ thống này hiện diện rất nhiều trong cuộc sống của chúng ta cụ thể chính là các thiết bị điện thoại Android (lõi của android là linux kernel), các thiết bị wifi (router, moderm), màn hình giải trí trên xe ô tô, android TV vv.. Nhìn chung, công việc về Embedded Linux rất nhiều chỉ là ta chưa đáp ứng được nhu cầu của doanh nghiệp và tiếp cận nó đúng cách.
- Trước khi đi vào các mảng công việc cụ thể, các bạn cần phải biết tới 4 thành phần quan trọng của một Linux OS, bao gồm:
Bootloader: Bộ nạp khởi động, có chức năng load OS và các thành phần khác lên trên hệ thống.
Linux Kernel: Nhân của Linux OS, chứa các trình điều khiển thiết bị (device drivers).
Rootfs: Userspace, là không gian để cho developers chúng ta làm việc, phát triển applications.
Toolchain: Là một công cụ để giúp cho việc phát triển phần mềm, debug nhứ compiler (gcc/g++), debugger (gdb), linker (ld) và các libs cần thiết.
- Linux Embedded có thể chia ra thành 3 mảng kiến thức lớn sau:
Linux Programming: Viết các ứng dụng trên môi trường Linux.
- Lập trình tốt ngôn ngữ C/C++ trên môi trường Linux (FileIO, Process, Thread, Signal vv...).
- Có kiến thức cơ bản về hệ điều hành.
Linux Porting: Phần này sẽ thiên về tối ưu, customize hệ thống.
- Cần có kiến thức về Makefile, shell scripts.
- Hiểu biết về các build system như build-root, yocto.
- Hiểu biết về quá trình khởi động của hệ điều hành.
- Biết cách sửa đổi bootloader, kernel, thêm hay loại bỏ các package ở rootfs.
Linux Device Drivers: Viết các trình điều khiển thiết bị.
- Thường dành cho những bạn đã có kiến thức cơ bản về hai phần trên.
- Học viết một số các drivers cơ bản như I2C/SPI/UART/USB/Watchdog vv...
Bạn sẽ học được gì?
- Hiểu và làm được Embedded Linux
Yêu cầu đầu vào
- Đã học khóa Linux Program level 1
Nội dung khoá học
- 1. Bài 1: Starting with Kernel
- 2. Bài 2: Character Device File
- 3. Bai 3: Integerbased gpio N sysfs
- 4. Bài 4: Practice and Create Sysfs
- 5. Bài 5: Device Tree
- 6. Bài 6: Practice Device Tree
- 7. Bài 7: Pin control Subsystem And Device Tree
- 8. Bài 8: Practice Pincontrol, DeviceTree and PWM
- 9. Bài 9: U boot
- 10. Bài 10: Practice Uboot
- 11. Bài 11: Debug Code Using Gdb, Valgrind, Strace
Đánh giá
Đánh giá từ các học viên sau khi hoàn thành khoá học