原创 Linux 啓動流程之自解壓(四)

Linux 啓動流程之自解壓(四) 5 程序自解壓 5.1 restart restart: adr r0, LC0 //LC0爲運行地址,0x17c ldmia r0, {r1, r2, r3, r6, r10, r11,

原创 Linux USB基礎之描述符(一)

Linux USB基礎之描述符(一) 1 USB描述符 1.1 設備描述符:struct usb_device_descriptor 設備代表一個USB設備,它由一個或多個配置組成。設備描述符用於說明設備的總體信息,並指明其所含的

原创 從零開始學USB(十九、USB接口HID類設備(一)_HID描述符)

USB設備中有一大類就是HID設備,即Human Interface Devices,人機接口設備。這類設備包括鼠標、鍵盤等,主要用於人與計算機進行交互。它是USB協議最早支持的一種設備類。HID設備可以作爲低速、 全速、高速

原创 Linux 啓動流程之自解壓(二)

Linux 啓動流程之自解壓(二) 2 Head.s .start段程序入口start Start是zImage在啓動時,最開始執行的代碼。也就是說.start段被鏈接到代碼的最開頭處。 .section ".start", #a

原创 Linux DeviceTree學習(二)

Linux DeviceTree學習(二) 3 Device Tree基本語法 3.1 基本數據格式 設備樹是節點和屬性的簡單樹型結構。屬性是鍵-值對,節點可以包含屬性和子節點。例如,以下是.dts格式的簡單樹: /dts-v1/

原创 Linux DeviceTree學習(四)

Linux DeviceTree學習(四) 5 設備樹移植 5.1 創建設備樹文件 以下內容是最簡單的設備樹文件: /dts-v1/; / { #address-cells = <0x1>; #size-cells = <0

原创 Linux Platform總線學習

Platform 平臺驅動學習 1 Platform總線、設備、驅動介紹 1.1 什麼是Platform總線 Platform是一種虛擬、抽象的總線,其將設備與驅動綁定在一起,系統每在註冊設備時會尋找與之匹配的的驅動,同理系統每在

原创 Linux DeviceTree學習(一)

Linux DeviceTree學習(一) 1 ARM Device Tree起源 在 Linux 2.6 中,ARM 架構的板極硬件細節過多地被硬編碼在arch/arm/plat-xxx 和 arch/arm/mach-xxx,

原创 Linux initcall執行順序分析

Linux initcall執行順序分析 1 Linux關於initcall的定義 /include/linux/init.h #define pure_initcall(fn) __define_initcall(fn,

原创 Linux USB基礎之虛擬串口枚舉流程(三)

Linux USB基礎之虛擬串口枚舉流程(三) 1 USB檢測與枚舉過程 1.1 USB插拔檢測 USB集線器的每個下游端口的D+和D-上,分別接了一個15K的下拉電阻到低。當集線器的端口懸空(即沒有設備插入)時,輸入端就被此兩個

原创 Linux USB基礎之端點(二)

Linux USB基礎之端點(二) 1 USB端點分類 USB 通訊的最基本形式是通過端點。一個USB端點只能向一個方向傳輸數據(從主機到設備(稱爲輸出端點)或者從設備到主機(稱爲輸入端點))。端點可被看作一個單向的管道。 USB

原创 Linux 啓動流程之自解壓(三)

Linux 啓動流程之自解壓(三) 4 打開cache /* * Set up a page table only if it won't overwrite ourself. * That means r4 < p

原创 GNU __attribute__淺析

GNU __attribute__淺析 1 介紹 __attribute__是GCC的特性,其實是個編譯器指令,告訴編譯器聲明的特性,或者讓編譯器進行更多的錯誤檢查和高級優化。attribute 可以設置函數屬性(Function

原创 Linux /proc與/sys目錄分析

proc與sys目錄分析 基於Apollo,gingerbread,公版(LeOs之後還會加一些接口的,不予分析) 具體標準接口,可見linux代碼documents/proc.txt在這裏不做贅述,僅僅對我們解系統問題時用的信息

原创 嵌入式Linux測試工具

嵌入式Linux測試工具 1 Nbench—性能測試工具 nbench的結果主要分爲MEM、INT和FP,其中MEM指數主要體現處理器總線、CACHE和存儲器性能,INT當然是整數處理性能,FP則體現雙精度浮點性能(大多數嵌入式處