Skip to content

Welcome to Vu Tang's Docs Site

index

Quote by Paulo Coelho, the author of "The Alchemist"

Personal technical notes on embedded Linux, Linux kernel, programming and FPGA, written in both Vietnamese and English.

Start reading About me LinkedIn

65 notes · 7 topics · since 2019 · last updated 2026-10-19 · built with Mkdocs

Latest articles

Rust trong nhân Linux: ngôn ngữ mới, luật chơi cũ2026-10-19 · Linux Kernel

Sau ba năm "thử nghiệm", cuối 2025 Rust chính thức thành ngôn ngữ thứ hai của nhân Linux. Rust là gì, nó vào kernel bằng con đường nào, và vì sao hành trình ấy khiến vài…

NBCON: console không chặn trong Linux printk2026-10-18 · Linux Kernel

Cơ chế console cũ của printk() gây trễ hệ thống, mất log khi sự cố và từng chặn PREEMPTRT vào mainline. Bài này phân tích sáu giới hạn đó và cách NBCON giải quyết.

Xu hướng 6G và hiện trạng chuẩn hóa (10/2026)2026-10-17 · Networking

6G đã chuyển từ tầm nhìn sang kỹ thuật: 3GPP sẽ hoàn tất release 6G đầu tiên (Rel-21) vào 3/2029, ITU-R mở nhận đề xuất IMT-2030 từ 2/2027, và mạng thương mại sớm dự…

All articles

Topics

  • Notes


    Mkdocs, Markdown, shell script, Python and handy bookmarks.

    Start reading

  • Articles


    Short research articles, one small topic per article.

    Start reading

  • Book & Materials


    Reading notes on C, Linux, kernel and algorithm books.

    Start reading

  • Linux Embedded


    Petalinux, Yocto, U-Boot, Docker, PTP, DPDK and board projects.

    Start reading

  • Linux Kernel


    Device drivers (I2C, SPI, GPIO, UART, ALSA) and kernel debugging.

    Start reading

  • Programming


    C, data structures, design patterns, perf and multi-threading.

    Start reading

  • FPGA


    Static timing analysis in Vivado and Xilinx IP cores.

    Start reading

Document Tree

Notes
  • Bookmarks: Collection of useful Linux websites, blogs and tutorial series.
  • Mkdocs Tool: User guide for Mkdocs and how to publish it with Github Page.
  • Markdown Language: Markdown syntax used to write this documentation.
  • Shell Script: Shell script syntax notes (e.g. arrays) with a tutorial reference.
  • Python: Quick Python syntax notes such as print formatting and lists.
  • Virtual Machine: WIP – no content yet.
  • What's next: To-do list of topics to study and write about next.
Book & Materials

Notes when reading books or some materials.

  • C Programing: List of C programming books, including Head First C.
  • Linux Programing: Linux books such as Linux in a Nutshell and The Linux Programming Interface.
  • Linux Device Driver: Entry for the book Linux Device Drivers, 3rd edition.
  • Linux Kernel: Entry for the book Understanding the Linux Kernel.
  • Linux Embedded: Free Electrons slides on Embedded Linux kernel and driver development.
  • Data Structure & Algorithms: Algorithms books by Robert Sedgewick (Algorithms 4th, Algorithms in C).
  • Others: Other books, currently The Art of Computer Programming.
Linux Embedded
  • Overview: Overview of what an embedded Linux system engineer has to do.
  • HW Platforms: List of hardware platforms used, such as Xilinx Zynq7000 and Zynq UltraScale+.
  • Common Tools
    • Makefile: Definition & syntax of Makefile and the make build tool.
    • Version Control Concept: Introduction to version control and popular client-server and distributed systems.
    • Git: Handy Git commands, e.g. merging repositories and linking a local repo to a remote.
  • Xilinx Petalinux
    • Overview: Overview of Xilinx Petalinux tooling for porting Linux to Zynq7000.
    • Petalinux 2017: Technical notes and tips from working with Petalinux 2017.4.
    • List of Petalinux Images: Table describing the image files Petalinux produces.
  • Yocto
    • Overview: Key Yocto terms and definitions (build directory, package, ...).
  • Bootloader
  • ES Devices
    • EEPROM: Introduction to serial EEPROM devices and their characteristics.
  • Docker: WIP – no content yet.
  • Linux PTP: Network synchronization with IEEE 1588 PTP and ITU-T G.8260 on Linux.
  • DPDK: WIP – no content yet.
  • Network Block Device: Introduction to and usage of Network Block Device for remote block storage.
  • Tips: Practical tips such as SSH options for remote control.
  • Projects: projects are implemented in several platforms.
    • Zynq: Projects on Zynq boards such as Zedboard and Picozed.
    • IMX8: WIP – no content yet.
    • Raspberrypi 3B: Raspberry Pi 3 Model B links and notes on porting Linux.
  • Linux General
    • Unsorted: Unsorted Linux notes such as update-rc.d and SUSv3.
    • Commands: Handy Linux commands, e.g. xclip for copying to the clipboard.
Linux Kernel
  • Linux Device Driver
    • Overview: Overview of general concepts of Linux Device Driver.
    • Kernel Module: Kernel module basics and printing logs with printk and dev_* functions.
    • Platform Device: WIP – no content yet.
    • I2C Subsystem: I2C bus and the Linux I2C platform driver model.
    • SPI Device: Developing SPI device drivers in the Linux kernel.
    • SPI Device Advance: Advanced SPI topics: extending chip-select signals and SPI GPIO (outline only).
    • GPIO: The Linux GPIO subsystem from the driver perspective.
    • UART: Serial (UART) programming in userspace with reference materials.
    • JESD: WIP – no content yet.
    • Audio: Audio in Linux: ALSA architecture and concepts.
    • PCIe: WIP – no content yet.
  • Linux Kernel General
Programming
  • C: History and standards of the C language.
  • Data Structure & Algorithms
    • Index: Table of contents of data structure and algorithm notes.
    • Linked List: Doubly linked list implementation, using an example from CS144.
    • Queue: Queue implemented with arrays and lists (outline only).
  • SQL: MySQL notes, currently only installation heading.
  • Linux Programming Interfaces: Points to the book The Linux Programming Interface.
  • Design Patterns: Software design patterns, e.g. the Reactor event-handling pattern.
  • Multi-threads: Link to Oracle's multi-threaded programming guide.
  • Perf: Using perf to monitor and record system performance events.
FPGA
  • Static Timing Analysis: Basic definitions of static timing analysis and STA in Xilinx Vivado.
  • Xilinx IPCore: Xilinx IP core usage, e.g. configuring Clocking Wizard dynamically over AXI4-Lite.

Statistics

65notes
45with content
20work in progress
3,389lines written

New notes by year

05151201942020120215202202023020240202542026

Lines written by year

01,9561,9562019202202031202185920220202302024020253412026

Commit activity · 136 commits

JanFebMarAprMayJunJulAugSepOctNovDec2019January 2019: 47 commits47February 2019: 3 commits3March 2019: 24 commits24April 2019: 8 commits8May 2019: 6 commits6June 2019: 0 commitsJuly 2019: 0 commitsAugust 2019: 2 commits2September 2019: 0 commitsOctober 2019: 0 commitsNovember 2019: 0 commitsDecember 2019: 0 commits2020January 2020: 0 commitsFebruary 2020: 8 commits8March 2020: 2 commits2April 2020: 0 commitsMay 2020: 0 commitsJune 2020: 0 commitsJuly 2020: 0 commitsAugust 2020: 0 commitsSeptember 2020: 0 commitsOctober 2020: 0 commitsNovember 2020: 0 commitsDecember 2020: 0 commits2021January 2021: 0 commitsFebruary 2021: 0 commitsMarch 2021: 0 commitsApril 2021: 0 commitsMay 2021: 0 commitsJune 2021: 0 commitsJuly 2021: 0 commitsAugust 2021: 1 commit1September 2021: 0 commitsOctober 2021: 0 commitsNovember 2021: 0 commitsDecember 2021: 0 commits2022January 2022: 0 commitsFebruary 2022: 0 commitsMarch 2022: 0 commitsApril 2022: 0 commitsMay 2022: 0 commitsJune 2022: 0 commitsJuly 2022: 0 commitsAugust 2022: 0 commitsSeptember 2022: 0 commitsOctober 2022: 0 commitsNovember 2022: 6 commits6December 2022: 4 commits42023January 2023: 0 commitsFebruary 2023: 0 commitsMarch 2023: 0 commitsApril 2023: 0 commitsMay 2023: 0 commitsJune 2023: 0 commitsJuly 2023: 0 commitsAugust 2023: 0 commitsSeptember 2023: 0 commitsOctober 2023: 0 commitsNovember 2023: 0 commitsDecember 2023: 0 commits2024January 2024: 0 commitsFebruary 2024: 0 commitsMarch 2024: 0 commitsApril 2024: 0 commitsMay 2024: 0 commitsJune 2024: 0 commitsJuly 2024: 0 commitsAugust 2024: 0 commitsSeptember 2024: 0 commitsOctober 2024: 0 commitsNovember 2024: 0 commitsDecember 2024: 0 commits2025January 2025: 0 commitsFebruary 2025: 0 commitsMarch 2025: 0 commitsApril 2025: 0 commitsMay 2025: 0 commitsJune 2025: 0 commitsJuly 2025: 0 commitsAugust 2025: 0 commitsSeptember 2025: 0 commitsOctober 2025: 0 commitsNovember 2025: 0 commitsDecember 2025: 0 commits2026January 2026: 0 commitsFebruary 2026: 0 commitsMarch 2026: 0 commitsApril 2026: 0 commitsMay 2026: 0 commitsJune 2026: 0 commitsJuly 2026: 0 commitsAugust 2026: 0 commitsSeptember 2026: 0 commitsOctober 2026: 25 commits25LessMore

Lines by topic

Notes
231
Articles
341
Book & Materials
33
Linux Embedded
683
Linux Kernel
1,492
Programming
131
FPGA
478

Document Rules

  • Suitable picture size is: 300x200.
    Use GIMP for scaling figure (Folow instructions in Photos/ResizingPhotos from help.ubuntu.com).

  • This document is writen in both Vietnamese and English.