Devlinux

Devlinux DevLinux – Đơn vị tiên phong đào tạo Embedded Linux & AI theo hướng thực chiến tại Việt Nam.

Chúng tôi không bán khóa học, chúng tôi xây dựng lộ trình giúp bạn trở thành kỹ sư có thể làm việc thực tế.

LẬP TRÌNH BARE-METAL LÀ GÌ?Bare-metal là gì, hiểu đơn giản: bình thường khi bạn viết app trên điện thoại/máy tính, có Wi...
21/08/2026

LẬP TRÌNH BARE-METAL LÀ GÌ?

Bare-metal là gì, hiểu đơn giản: bình thường khi bạn viết app trên điện thoại/máy tính, có Windows/Android/iOS đứng giữa lo hết việc quản lý bộ nhớ, chia thời gian CPU cho nhiều app... Bare-metal thì không có "người quản lý" đó. Code của bạn nói chuyện trực tiếp với con chip, giống như bạn tự lái xe hoàn toàn bằng tay — không có trợ lý ảo, không cruise control, mọi động tác đều do bạn kiểm soát.

✨ VÀI VÍ DỤ DỄ HÌNH DUNG

Đèn LED nhấp nháy: Trên máy tính, bạn gọi hàm "vẽ hình" và OS lo phần còn lại. Trên bare-metal MCU, bạn phải tự ghi số 1 hoặc 0 vào đúng "ô nhớ" điều khiển chân LED — giống như bật/tắt công tắc điện thủ công thay vì dùng app điều khiển từ xa
Không ai "dọn dẹp" giúp bạn: Trên điện thoại, đóng app thì hệ thống tự thu hồi bộ nhớ. Bare-metal thì không — nếu bạn cấp phát bộ nhớ mà quên giải phóng, nó sẽ ở đó mãi (giống như mượn ly nước rồi không trả, ly sẽ hết dần cho tới khi hết ly để mượn)
Ngôn ngữ Rust giúp tránh lỗi này từ gốc: Rust có cơ chế kiểm tra ngay lúc viết code (gọi là "ownership") — giống như một người bạn luôn nhắc bạn "ly này ai đang mượn, nhớ trả trước khi mượn ly khác" — nên nhiều lỗi rò bộ nhớ bị chặn trước khi code chạy, thay vì để lỗi xảy ra rồi mới sửa
Ví dụ về khởi động: Khi bạn cắm điện cho một thiết bị bare-metal (như đồng hồ đo nhiệt độ), nó không "mở màn hình chờ" như điện thoại — nó chạy đúng một đoạn code cố định ngay lập tức, giống bật quẹt lửa: bật là cháy luôn, không cần "load app"

💡 VÌ SAO VẪN DÙNG BARE-METAL

Với thiết bị đơn giản (cảm biến nhiệt độ, khóa cửa điện tử, đèn LED thông minh) chỉ làm một việc lặp đi lặp lại, việc "thuê" cả hệ điều hành để làm việc đó giống như thuê hẳn một quản lý nhà hàng chỉ để pha một ly trà đá — tốn tài nguyên (bộ nhớ, pin) không cần thiết. Bare-metal giữ mọi thứ tối giản, khởi động gần như ngay lập tức, và không có gì "vô hình" chạy ngầm gây trễ giờ khó đoán.

🔗 Nguồn: derekmolloy.ie "The State of Rust for Embedded Development in Mid-2026"; embeddedbits.org "Embedded Operating Systems in 2026"


EDGE AI TRÊN MCU HAY SoC? CNhiều năm nay, "muốn chạy Computer Vision hay Edge AI thì phải có SoC" gần như là chân lý bất...
19/08/2026

EDGE AI TRÊN MCU HAY SoC? C

Nhiều năm nay, "muốn chạy Computer Vision hay Edge AI thì phải có SoC" gần như là chân lý bất thành văn trong giới embedded. Nhưng 2026 đang lật ngược điều đó. Với NPU (Neural Processing Unit) tích hợp thẳng vào MCU, ranh giới giữa hai loại chip này đang mờ đi nhanh chóng — và việc chọn sai kiến trúc có thể khiến sản phẩm bạn tốn kém hoặc chậm cả năm phát triển.

✨ KHÁC BIỆT CỐT LÕI: DETERMINISM VS THROUGHPUT

MCU chạy RTOS hoặc bare-metal trực tiếp từ flash nội bộ, boot trong vài microsecond và đảm bảo phản hồi chính xác từng microsecond — cực quan trọng cho các tác vụ safety-critical như motor control hay airbag. SoC thì chạy Embedded Linux, cần bootloader 5 tầng (BootROM → SPL → TF-A → U-Boot → Kernel) để khởi tạo RAM ngoài, mất tới 10 giây để boot xong.
Nói cách khác: SoC mạnh về throughput (video 4K, web server, multitasking), MCU mạnh về determinism (đúng việc, đúng lúc, không trễ một micro giây nào).

✨ BƯỚC NGOẶT 2026 - NPU ĐÃ "CHUI" VÀO MCU

Tại CES 2026, Ambiq ra mắt SoC dạng MCU tích hợp NPU Arm Ethos-U85, đạt hơn 200 GOPS AI performance ở điện áp thấp tới 300mV
MCU hiện đại giờ chạy inference AI dưới millisecond với 0.5-4 TOPS, tiêu thụ dưới 10mW.
Một cảm biến âm thanh chạy pin coin cell có thể phát hiện wake-word liên tục 5 năm.

⚡ CHI PHÍ ẨN: BOM VÀ PCB

SoC không chỉ đắt về giá chip - nó kéo theo DDR ngoài, PMIC, eMMC, và PCB 6-8 layer với impedance matching nghiêm ngặt. MCU tích hợp gần hết bên trong, PCB chỉ cần 2-4 layer. Đây là lý do nhiều startup "chọn nhầm" SoC cho sản phẩm đơn giản rồi đội chi phí BOM lên gấp nhiều lần.
Giải pháp trung gian đang thắng thế: kiến trúc heterogeneous multicore như NXP i.MX 95 (Cortex-A55 chạy Linux + Cortex-M7/M33 real-time + NPU 2.0 TOPS trên cùng 1 die) hay STM32MP2. Hai lõi giao tiếp qua RPMsg/OpenAMP - Linux xử lý network và GUI, MCU core xử lý motor loop chính xác, không ai làm gián đoạn ai.

💡 VÌ SAO ĐIỀU NÀY QUAN TRỌNG

Với dev đang build sản phẩm IoT/edge AI: đừng mặc định "AI = cần SoC" nữa. Nếu ứng dụng chỉ cần voice wake-word, phát hiện chuyển động, hay phân loại cảm biến đơn giản, một MCU AI-enabled hiện đại rẻ hơn, tiết kiệm pin hơn, và ít rủi ro supply chain hơn nhiều so với kéo theo cả một hệ Linux.
Ngược lại, nếu cần multi-camera vision, mô hình lớn, hay giao diện đa phương tiện phức tạp, SoC (hoặc kiến trúc heterogeneous) vẫn là lựa chọn đúng.

🔗 Nguồn: Kynix Blog, NeuralCoreTech, Promwad Embedded AI Hardware 2026

👉 Team bạn đang build sản phẩm edge AI nào - MCU nhỏ gọn hay SoC full Linux? Chia sẻ use case xem có nên switch sang heterogeneous không nhé!

18/08/2026

🚨 ĐỪNG VỘI CHỌN KHÓA HỌC EMBEDDED KHI BẠN CHƯA BIẾT NÓ CÓ THỰC SỰ PHÙ HỢP!

Muốn theo Embedded nhưng chưa hình dung rõ mình sẽ học như thế nào?

Đức Anh - Học viên DevLinux khoá K25 cũng từng có những băn khoăn như vậy. Dù đã tự tìm hiểu Embedded qua tài liệu và video trên mạng, bạn vẫn chưa hình dung rõ một lộ trình học bài bản sẽ ra sao.

Thay vì vội vàng đăng ký một khóa học dài hạn, Đức Anh lựa chọn trải nghiệm 4 buổi học thử Embedded miễn phí tại DevLinux trước khi quyết định.

Điều gì khiến trải nghiệm này trở nên khác biệt?
✨ Học để hiểu mình đang làm gì: Không chỉ tiếp cận lý thuyết, học viên được giải thích kiến thức đó được sử dụng như thế nào trong quá trình làm Embedded thực tế.
✨ Trải nghiệm trực tiếp phương pháp giảng dạy: Tự mình đánh giá cách giảng viên truyền đạt, nội dung chương trình và quan trọng nhất – mình có thực sự theo được hay không.
✨ Có Mentor định hướng lộ trình: Biết mình đang thiếu kiến thức gì, nên bắt đầu từ đâu và cần chuẩn bị những kỹ năng nào nếu muốn theo đuổi Embedded lâu dài.

Đừng vội đầu tư thời gian và chi phí khi bạn vẫn còn nhiều băn khoăn. Trải nghiệm trước để biết đâu mới là lựa chọn phù hợp với mình.

🎬 Cùng nghe Đức Anh chia sẻ về trải nghiệm học thử Embedded tại DevLinux.

👉 Đăng ký 4 buổi học thử Embedded hoàn toàn miễn phí để tự mình trải nghiệm trước khi quyết định.

TỪ MỘT PIXEL ĐI TỪ APP XUỐNG MÀN HÌNH HIỂN THỊ Ngày xưa hay ngồi debug mấy lỗi FPS tụt trên màn hình Android để lấy chứn...
18/08/2026

TỪ MỘT PIXEL ĐI TỪ APP XUỐNG MÀN HÌNH HIỂN THỊ

Ngày xưa hay ngồi debug mấy lỗi FPS tụt trên màn hình Android để lấy chứng chỉ AA/CP trong Automotive là phải ngồi vọc cái đống này. Nay tự nhiên thấy cái ảnh nên share lại cho a/e
1️⃣ BUFFERQUEUE - MỖI RENDERER MỘT HỘP THƯ

Đầu tiên là mấy cái renderer ở tầng Application - status bar, system bar, background, icons/widgets. Mấy cái này vẽ xong không đẩy thẳng lên màn hình, mà bỏ vào một cái BufferQueue riêng của nó. Kiểu như mỗi thằng có một cái hộp thư, vẽ xong bỏ vào hộp, rồi thôi, hết trách nhiệm.
2️⃣ SURFACEFLINGER - LẤY TRONG HỘP RA

SurfaceFlinger. Cái tên này chắc ai code Android cũng nghe qua ít nhất một lần nhưng nói thật là mình cũng từng tưởng nó chỉ là "cái gì đó vẽ màn hình" thôi, không rõ lắm. Thực ra nó là thằng duy nhất được quyền gom hết buffer từ tất cả app (kể cả system UI), rồi ghép lại thành một frame hoàn chỉnh.
Nó cũng nhận thông tin từ Activity Manager với Window Manager để biết cái nào đè lên cái nào, cái nào đang animation. Ghép layer này gọi là composite, và nó dùng GPU để làm.
3️⃣ HWCOMPOSER - GIẢM TẢI CHO ÔNG GPU

Có một thằng tên HWComposer đứng giữa, quyết định layer nào cho GPU compose, layer nào đẩy thẳng qua phần cứng gọi là hardware overlay.
Overlay thì gần như miễn phí về điện năng vì display controller tự xử lý, nhưng nó có giới hạn số lớp - đa số chip chỉ handle được 2-4 layer overlay thôi. Nên nếu app đơn giản, chỉ 1-2 layer, có khi máy chạy overlay và GPU gần như rảnh. Nhưng cứ thêm status bar, thêm popup, thêm vài lớp nữa là vượt giới hạn, lúc đó HWComposer đành giao hết cho GPU compose.
Đây cũng là một lý do vì sao mở nhiều notification/widget cùng lúc pin tụt nhanh hơn - không phải app nặng, mà layer nhiều quá nên phải đi đường tốn điện hơn.
4️⃣ GRALLOC & ION - BỘ NHỚ DÙNG CHUNG

Còn buffer bộ nhớ thì sao? Cái đó Gralloc lo, thông qua ION - một cơ chế cấp phát vùng nhớ dùng chung để CPU, GPU, display cùng đọc/ghi mà không phải copy qua copy lại.
Nghe đơn giản vậy thôi chứ nếu không có cái này, cứ mỗi frame 1080p 60fps mà copy qua copy lại thì không máy nào chịu nổi.
5️⃣ KERNEL

Có libdrm nói chuyện với DRM/KMS để điều khiển display controller thật sự - cái quyết định pixel nào ra chân tín hiệu nào. Có /dev/fb (frame buffer) là đường cũ hơn, một số máy vẫn dùng song song.
Rồi GPU driver sinh ra cái gọi là DMA Buffer, cho phép GPU với display cùng trỏ vào một vùng RAM vật lý, khỏi cần copy. Đây chính là chỗ giúp cái pipeline này chạy nổi 60fps trên phần cứng nhúng vốn không mạnh gì mấy so với desktop.
💡 DEBUG NHƯ THẾ NÀO?

Thường thì mình hay lôi Android Studio Profiler ra để ngó nghiêng, show systrace hoặc dumpsys SurfaceFlinger ra để ngâm cứu.
Không dám nói đọc xong là hiểu hết graphics stack, nhưng ít nhất lần tới debug performance là biết nên nhìn vào đâu trước, thay vì cứ ngồi đoán mò.

🔥 RECAP OPEN TALK – TOÀN CẢNH NGÀNH IoT & CON ĐƯỜNG SỰ NGHIỆPNgày 14/08 vừa qua, DevLinux đã có một buổi Open Talk thật ...
17/08/2026

🔥 RECAP OPEN TALK – TOÀN CẢNH NGÀNH IoT & CON ĐƯỜNG SỰ NGHIỆP

Ngày 14/08 vừa qua, DevLinux đã có một buổi Open Talk thật nhiều năng lượng cùng các bạn quan tâm đến Embedded & IoT. 🚀

Buổi Talk đã mang đến rất nhiều chia sẻ và những trao đổi thú vị giữa diễn giả và người tham dự về con đường và định hướng nghề nghiệp.

❤️ Cảm ơn tất cả mọi người đã dành thời gian tham gia và cùng DevLinux tạo nên một buổi tối thật đáng nhớ!

Hy vọng Open Talk lần này đã giúp các bạn có thêm một góc nhìn rõ hơn về ngành IoT và con đường phát triển sự nghiệp trong lĩnh vực công nghệ.

🎁Con số may mắn trong Mini Game của DevLinux là: 94

DevLinux sẽ rà soát thông tin và gửi danh sách trúng thưởng đến các bạn trong thời gian sớm nhất nhé! 🥳

🚀 Hẹn gặp lại mọi người trong những hoạt động tiếp theo của DevLinux!

TÓM TẮT QUÁ TRÌNH KHỞI ĐỘNG ANDROID AOSP (ANDROID 11)Nhấn Power, vài giây sau launcher hiện lên. Nhìn thì đơn giản, nhưn...
15/08/2026

TÓM TẮT QUÁ TRÌNH KHỞI ĐỘNG ANDROID AOSP (ANDROID 11)

Nhấn Power, vài giây sau launcher hiện lên. Nhìn thì đơn giản, nhưng đây là một chuỗi handoff quyền thực thi, mỗi tầng chỉ tin đúng tầng ngay dưới nó. Đi từng bước.

1. Boot ROM
Code cứng ghi trong chip, immutable, không patch được qua software thông thường. Nhiệm vụ duy nhất: tìm và load bootloader vào memory.

2. Bootloader
Khởi tạo phần cứng ở mức tối thiểu (clock, memory controller...), sau đó đọc boot config để biết bước tiếp theo.

3. Read Boot Config
Bootloader load Linux kernel vào RAM, kèm theo việc truyền kernel parameters (cmdline) — quy định cách kernel sẽ chạy: root device nào, log level, các flag debug...

4. Choose a boot device
Kernel cần xác định root filesystem nằm ở đâu: SD card, USB, hoặc Flash/eMMC on-board. Sai ở bước này dẫn tới boot loop hoặc kernel panic.

5. Linux Kernel
Android build trên Linux kernel chuẩn (có patch riêng của AOSP). Đây là lớp quản lý phần cứng, driver, scheduler, memory management.

6. Android Init Process
Tiến trình đầu tiên với PID 1. Chia hai giai đoạn:

• First stage init: setup SELinux trước — policy bảo mật phải có mặt trước khi bất kỳ process nào khác được chạy.

• Second stage init (chạy hai lượt): mount filesystem thật, khởi tạo property service, parse các file .rc để start các service cấp thấp.

7. Zygote Process
Process mẹ, đã preload sẵn Android framework và core libraries vào memory. Mỗi khi cần tạo app process mới, hệ thống fork() từ Zygote thay vì load lại toàn bộ runtime — giảm thời gian khởi động app đáng kể. Từ đây Zygote fork ra System Server, và sau đó xử lý Application Init cho các app runtime khác.

8. System Server
Thành phần lõi chứa phần lớn service hệ thống, khởi động theo thứ tự ưu tiên:

• Bootstrap services (nền tảng bắt buộc)

• Core services

• Other services: ActivityManager, PowerManager, GPU Service, Battery Service, Sensor Service, Bluetooth Service, CarService, và các service tùy theo OEM.

9. Launcher
Chỉ khởi động sau khi System Server đã dựng đủ hạ tầng cần thiết. Đây là điểm user bắt đầu có thể tương tác với thiết bị.

Về bản chất, đây là một chain-of-trust: ROM → bootloader → kernel → init → zygote, mỗi khâu verify khâu trước khi tiếp tục (cơ chế nền cho Verified Boot). Một khâu fail thì toàn bộ chuỗi dừng, không có cơ chế "bỏ qua rồi tiếp tục".

TÀI LIỆU TỰ HỌC EMBEDDED LINUX + NETWORKINGNếu đang học Embedded Linux và muốn đi sâu hơn về Linux System + Networking, ...
13/08/2026

TÀI LIỆU TỰ HỌC EMBEDDED LINUX + NETWORKING

Nếu đang học Embedded Linux và muốn đi sâu hơn về Linux System + Networking, đây là 5 cuốn mình khá recommend:
📖 Linux Device Drivers Development 2
📖 Linux Device Drivers Development
📖 Linux for Networking Professionals
📖 The Linux Programming Interface
📖 Understanding Linux Network Internals

1️⃣Like và chia sẻ bài viết ở chế độ công khai.
2️⃣Điền email nhận tài liệu ở đây: https://forms.gle/7cUFY2LcpHqxHvQ79

10/08/2026

🔥 SỐC❗❗❗ MUỐN TRỞ THÀNH KỸ SƯ EMBEDDED/IoT THÌ ĐỪNG BỎ LỠ SỰ KIỆN NÀY!
👇CHI TIẾT DƯỚI COMMENT

🚀 HÀNH TRÌNH TỪ SỐ 0 TRỞ THÀNH EMBEDDED ENGINEERKhông phải ai cũng bắt đầu ở cùng một vị trí.Nhưng ai cũng có thể trở th...
08/08/2026

🚀 HÀNH TRÌNH TỪ SỐ 0 TRỞ THÀNH EMBEDDED ENGINEER
Không phải ai cũng bắt đầu ở cùng một vị trí.
Nhưng ai cũng có thể trở thành Embedded Engineer nếu đi đúng lộ trình.

Tại DevLinux, chúng mình không chỉ dạy từng công nghệ riêng lẻ. Chúng mình xây dựng một hành trình học tập giúp bạn làm chủ kiến thức, rèn luyện kỹ năng, tích lũy kinh nghiệm qua các project thực tế và sẵn sàng cho công việc đầu tiên

👉 Bạn đang ở giai đoạn nào? Cùng khám phá lộ trình LEARN → BUILD → LAUNCH.

👉 Hãy để DevLinux đồng hành cùng bạn trên con đường ngắn nhất và hiệu quả nhất giúp bạn trở thành KỸ SƯ EMBEDDED chuyên nghiệp!
---------------------------
DEVLINUX – CODE YOUR EMBEDDED FUTURE
▪ Hotline: 0387 088 461
▪ Website: https://devlinux.vn
▪ Youtube: https://www.youtube.com/
▪ Nhóm trao đổi Cộng đồng lập trình Nhúng và Vi Mạch (devlinux.vn): https://www.facebook.com/groups/481584733205269
▪ Địa chỉ: Vinhomes Smart City, Phường Tây Mỗ,, Thành phố Hà Nội

07/08/2026

[PROJECT HỌC VIÊN] Phát Hiện Tiếng Kính Vỡ Chỉ Trong Tích Tắc!

Sử dụng ESP32 kết hợp microphone để thu âm thanh môi trường. Thiết bị phân tích tín hiệu âm thanh và nhận diện tiếng kính vỡ.

Khi phát hiện, ESP32 sẽ kích hoạt còi báo động, đèn cảnh báo hoặc gửi thông báo qua Wi-Fi đến điện thoại.

Thông số mô hình AI:
Vi điều khiển: ESP32
Kiểu mô hình: Trích xuất đặc trưng MFE (Mel Frequency Energy)
RAM sử dụng: 50.2 kB
FLASH sử dụng: 55.4 kB

Suy luận trực tiếp trên ESP32 (TinyML, không cần Internet)

Ẩn bớt

Address

Vinhomes Smart City, Phường Tây Mỗ Và Đại Mỗ, Quận Nam Từ Liêm
Hanoi
100000

Alerts

Be the first to know and let us send you an email when Devlinux posts news and promotions. Your email address will not be used for any other purpose, and you can unsubscribe at any time.

Contact The School

Send a message to Devlinux:

Shortcuts

Share