原创 ARM裸機程序研究 - 編譯和鏈接
1. Linux下的二進制可執行文件。 如果世界很簡單,那麼二進制可執行文件也應該很簡單,只包括CPU要執行的指令就可以了。可惜,世界並不簡單……。Linux下的二進制可執行文件(以下簡稱可執行文件),也並不是只包括了指令,還
原创 chown
改變文件的擁有者:chown 本文所屬圖書 > Linux系統命令及Shell腳本實踐指南 全書共計18章,從知識結構上分爲三部分。第一部分爲前8章,全面介紹了Linux的基礎知識和常用命令;第二部分爲第9章和第10章,主要
原创 android中的背光驅動層次分析
2013-06-17 16:28 287人閱讀 評論(0) 收藏 舉報 目錄(?)[+] Android的SettingAndroid的背光JNI層Android的背光HAL層Linux的背光內核層Linux的背光驅動層總結
原创 工作隊列(workqueue) create_workqueue/schedule_work/queue_work
項目需要,在驅動模塊裏用內核計時器timer_list實現了一個狀態機。 鬱悶的是,運行時總報錯“Scheduling while atomic”,網上搜了一下: "Scheduling while atomic" indicates t
原创 Android開發者網址導航
Android開發者網址導航 字數330 閱讀8653 評論13 喜歡160 隨着Android開發越來越龐大,Android的開源項目、開發資源越來越多,作爲需要不斷學習的程序猿,每天瀏覽的技術文章也是不少,但目前爲止沒有
原创 git pull更新錯誤解決辦法
Your local changes to the following files would be overwritten by mergeerror: Your local changes to the following files
原创 arm中斷體系結構
http://blog.chinaunix.net/uid-28458801-id-3780127.html CPU一上電就處於 ARM 狀態。 如果對於arm的CPU的工作模式和狀態有疑惑: ** ARM處理器的寄存器
原创 Linux的原子操作與同步機制
併發問題 現代操作系統支持多任務的併發,併發在提高計算資源利用率的同時也帶來了資源競爭的問題。例如C語言語句“count++;”在未經編譯器優化時生成的彙編代碼爲。 當操作系統內存在多個進程同時執行這段代碼時,就可能帶來併發問題
原创 mmu內存管理單元
ARM MMU頁表框架 先上一張arm mmu的頁表結構的通用框圖(以下的論述都由該圖來逐漸展開): 以上是arm的頁表框圖的典型結構:即是二級頁表結構: 其中第一級頁表(L1)是由虛擬地址的高12bit(bits[31:20
原创 ARM9------ 存儲控制器
初入領悟: 1、 bank、L-bank的概念 2、 s3c2440內部管理SDRAM寄存器配置 Frist part:原理分析 S3c2440爲32位微處理器,其可訪問空間爲4G;但其中提供1G外設訪問空間,這1G空間有8
原创 git add詳解
版權聲明:本文爲博主原創文章,未經博主允許不得轉載。 一、前言git add命令主要用於把我們要提交的文件的信息添加到索引庫中。當我們使用git commit時,git將依據索引庫中的內容來進行文件的提交。二、基本git add
原创 HAL層開發框架介紹
Android HAL層即硬件抽象層是Google響應廠家“希望不公開源碼”的要求推出的概念1,源代碼和目標位置源代碼: /hardware/libhardware目錄,該目錄的目錄結構如下:/hardware/libhardware/
原创 背光驅動內核層及驅動層分析
一些重要的結構體: struct mt65xx_led_data { structled_classdev cdev; structcust_mt65xx_led cust; stru
原创 spin_lock & mutex_lock的區別? .
本文由該問題引入到內核鎖的討論,歸納如下 爲什麼需要內核鎖? 多核處理器下,會存在多個進程處於內核態的情況,而在內核態下,進程是可以訪問所有內核數據的,因此要對共享數據進行保護,即互斥處理 有哪些內核鎖機制? (1)原子
原创 linux設備樹dts移植詳解
【轉】摘 要:設備樹的引入減少了內核爲支持新硬件而需要的改變,提高代碼重用,加速了Linux支持包的開發,使得單個內核鏡像能支持多個系統。作爲U-Boot 和Linux 內核之間的動態接口,本文闡述了設備樹的數據存儲格式以及源碼描述語法,