原创 linux 鎖機制 - spinlock
瞭解linux spinlock 1.spinlock 在linux kernel的實現中,經常會遇到這樣的場景:共享數據被中斷上下文和進程上下文訪問,該如何保護呢?如果只有進程上下文的訪問,那麼可以考慮使用semapho
原创 Linux音頻子系統(3) - ALSA ASoC
瞭解ASoC 參考 1.概述 ASoC是Alsa System on Chip的縮寫,用於實現那些集成聲音控制器的CPU,它的設計目標如下: 解耦codec, codec的驅動不依賴具體的平臺。 簡單易用的I2S/PCM
原创 Linux 內核調試(2) - Kdump
瞭解kdump 1.Introduction Kdump is a standard Linux mechanism to dump machine memory content on kernel crash. Kdum
原创 linux block framework(4) - kernel devices.txt
Documentation/admin-guide/devices.txt LINUX ALLOCATED DEVICES (4.x+ version) 3 4 This list is the Linux De
原创 linux 內存管理(13) - memblock
瞭解memblock機制。 1.概述 在引導內核的過程中,需要使用內存, 而這個時候內核的內存管理並沒有被創建, 因此也就需要一種精簡的內存管理系統先接受這個工作, 而在初始化完成後, 再將舊的接口廢棄, 轉而使用強大的b
原创 linux 內存管理(10)- phys_to_virt/virt_to_phys
瞭解phys_to_virt/virt_to_phys 1.概述 對於提供了MMU的處理器而言,Linux提供了複雜的存儲管理系統,使得進程所能訪問的內存達到4GB。進程的4GB內存空間被人爲的分爲兩個部分:用戶空間與內核
原创 linux 內存管理(9) -頁表實現
瞭解linux 頁表實現 1.MMU/TLB/Cache概述 MMU:完成的工作就是虛擬地址到物理地址的轉換,可以讓系統中的多個程序跑在自己獨立的虛擬地址空間中,相互不會影響。程序可以對底層的物理內存一無所知,物理地址可以
原创 Linux音頻子系統(7) - PCM
瞭解PCM 1.PCM PCM(Pulse-code modulation)脈衝編碼調製,是將模擬信號轉化爲數字信號的一種方法。聲音的轉化的過程爲,先對連續的模擬信號按照固定頻率週期性採樣,將採樣到的數據按照一定的精度進行
原创 linux 內核調試(1) - coredump
學習kernel 調試方法 1.內核轉儲 內核轉儲(coredump)保存了進程某一時刻的運行狀態,它在進程發生問題時產生,此時只要有程序的可執行文件和 coredump 即可對其進行調試,瞭解產生 coredump 那一
原创 linux 內存管理(17) - 理解堆棧
理解堆棧 1.概念 一個由C/C++編譯的程序佔用的內存分爲以下幾個部分 棧區:由編譯器自動分配釋放,存放函數的參數值,局部變量的值等。 堆區:由程序員分配和釋放,若程序員不釋放,程序結束時可能由OS回收。 全局區(靜態
原创 linux 內存管理(11) - TLB flush
瞭解 TLB flush 1.TLB flush API 1.1.void flush_tlb_all(void); 這個接口用來invalidate TLB cache中的所有的條目,執行完畢了該接口之後,由於TLB c
原创 linux block framework(1) - 塊設備概念
瞭解linux block 基本概念 1.概念 塊設備是I/O設備中的一類,當應用層對該設備讀寫時,是按扇區大小來讀寫數據的,若讀寫的數據小於扇區的大小,就會需要緩存區, 可以隨機讀寫設備的任意位置處的數據,例如 普通文件
原创 linux block framework(3) - ramdisk driver
案例ramdisk 源碼 #include <linux/module.h> #include <linux/kernel.h> #include <linux/init.h> #include <linux/fs.h> #
原创 如何創建基於arm 的Ubuntu rootfs
參考: https://blog.csdn.net/u010632165/article/details/78424000 https://www.jianshu.com/p/7453d52f0324 https://blog.
原创 Linux音頻子系統(5) - ASoC platform
瞭解ASoC架構 platform 1.概述 在Platform部分,主要是平臺相關的DMA操作和音頻管理。流程是先將音頻數據從內存通過DMA方式傳輸到CPU側的dai接口,然後通過CPU的dai接口(通過I2S總線)將數