原创 GPU/DRM 簡介

原文地址:https://www.kernel.org/doc/htmldocs/drm/index.html DRM - Direct Rendering Manager DRM是一個內核級的設備驅動,既可以編譯到內核中也可以作爲標準

原创 Intel 64 and IA-32 cache control

1. Cache control registers and bits 1.1 CD flag, bit30 of CR0 1.2 NW flag, bit29 of CR0 1.3 PCD and PWT in paging-struc

原创 APK簽名原理

網上已有多篇分析簽名的類似文章,但是都有一個共同的問題,就是概念混亂,混亂的一塌糊塗。 在瞭解APK簽名原理之前,首先澄清幾個概念: 消息摘要 -Message Digest 簡稱摘要,請看英文翻譯,是摘要,不是簽名,網上幾乎所有APK

原创 Intel 64 and IA32 WC buffers

WC buffers - Write Combining buffers 寫WC內存類型的系統內存,並不會被cached到cache lines中。這些寫被保存在write combining buffer(又稱爲WC buffers)中

原创 pdflush 幾個參數的含義

參考3.4內核文檔 pdflush是Linux 內核的數據同步機制,系統通常會有多個pdflush內核線程存在,當前沒有研究內核線程的數目是由什麼決定的。 系統內臟頁積累到一定程度,或者系統需要釋放髒頁佔用的內存時,需要把髒頁中的數據寫回

原创 Intel 64 and IA32 內存類型 - memory type

內存類型 - memory type 內存類型又稱爲cache類型,用來定義系統內存區域的cache類型,當前Intel 64和IA32支持如下內存類型: Strong Unacheable(UC)  內存不可以cached,所有的讀和

原创 Camera 的3A

就是AE AF AWB Auto Exposure Auto Focus Auto White Balance 點贊 收藏 分享 文章舉報 kickxxx 發佈了183 篇原創

原创 Ubuntu broken pipe 無法啓動, 解決辦法

Ubuntu啓動時顯示 could not write Byte:Broken pipe, 無法進入ubuntu系統 解決辦法 1. 在啓動階段,按ctrl + Alt + F1,進入控制檯模式 2. sudo apt-get remo

原创 FIQ和IRQ區別

FIQ和IRQ區別 FIQ和IRQ是兩種不同類型的中斷,ARM爲了支持這兩種不同的中斷,提供了對應的叫做FIQ和IRQ處理器模式(ARM有7種處理模式)。 一般的中斷控制器裏我們可以配置與控制器相連的某個中斷輸入是FIQ還是IRQ,所以

原创 內存分配器memblock

背景 在Linux內核開發過程中, 多少都會存在一個patch, 引入了遠超預期的麻煩. 內核2.6.34開發過程中, 這個獎項非CONFIG_NO_BOOTMEM莫屬 bootmem本身是個簡單的,低級的內存分配器. 在引導程序的初期用

原创 QNX system architecture 6 - Process manager

進程管理器能夠創建多個POSIX進程,每個進程可以包含多個POSIX線程。 在QNX Neutrino RTOS,procnto系統進程包含microkernel, 進程管理模塊,內存管理模塊和路徑管理模塊。因此進程管理模塊並不是微內核的

原创 EMMC Response

所有的響應都是通過CMD線發送給host的,response第一位爲0,第二位表示傳輸方向Device='0',最後一位始終爲1 00xxxxx..xxxxx1 共有五類響應 R1, R1B, R2, R3, R4, R5 R1 Bit

原创 printk 輸出函數調用棧的方法

有時在linux kernel調試時, 想知道當前函數的調用者是誰, 一直沒查到內這個功能, 今天終於發現了這個好東西. void * __init memblock_virt_alloc_try_nid_nopanic(       

原创 spi nor flash使用匯總

Overview SPI flash, 分爲spi flash, DUAL spi flash, QUAD spi flash, 3-wire spi, 4-wire spi, 6-wire spi. 在clock一定的情況下, 理論上線

原创 QNX system architecture 1 - QNX neutrino RTOS設計理念

開發QNX的主要目的是提供一個支持開放系統POSIX API,並且系統穩定,易於擴展爲各種應用系統:小到資源有限的嵌入式系統,大到高端的分佈式計算環境。QNX支持多個處理器家族,包括X86 ARM和powerPC 對於實時性要求高的應用系