原创 Android DT/DTO鏡像簡介

下圖引自:https://source.android.com/devices/architecture/dto/partitions 本文中所述工具和源碼詳見Google代碼倉: git clone https://andro

原创 Linux設備驅動程序中的併發控制

併發(Concurrency):多個執行單元同時、並行被執行,而併發的執行單元對共享資源(硬件資源和軟件資源(全局變量、靜態變量等))的訪問則很容易導致競態(Race Conditions)。 在Linux內核中,主要競態發生於如

原创 Jlinkv9調試itop4412環境準備

Jlinkv9調試itop4412環境準備 可以參考:https://blog.csdn.net/xzg10202/article/details/77884289#commentBox 使用萬用表量了一下淘寶上買回來的jlin

原创 TQ2440 Nand Flash

    nandflash在對大容量的數據存儲中發揮着重要的作用。相對於norflash,它具有一些優勢,但它的一個劣勢是很容易產生壞塊,因此在使用nandflash時,往往要利用校驗算法發現壞塊並標註出來,以便以後不再使用該壞塊。   

原创 網頁方式訂閱Kernel mail list

網頁方式訂閱kernek mail list網址:http://www.linux-kernel.cn/community/ 1. 填寫你要訂閱的信息的接收郵箱地址,我是註冊使用Google的gmail或者也可以hotmail,如果國

原创 樹莓派3上編譯運行UEFI

安裝依賴軟件: sudo apt-get install iasl uuid-dev acpica-tools 首先下載相關代碼倉: git clone https://git.linaro.org/uefi/uefi-tools

原创 樹莓派3B通過arm-trust-firmware啓動內核小系統

1、下載arm官方的arm-trust-firmware源碼 git clone https://github.com/ARM-software/arm-trusted-firmware.git 2、編譯生成rapi3b的at

原创 原子操作

原子操作可以保證對一個整型數據的修改是排他性的。 Linux內核提供了一系列函數來實現內核中的原子操作,這些函數分成兩類 位原子操作 整型變量原子操作 不管是哪種原子操作都依賴於底層CPU的原子操作,因此所有這些函數都與CPU

原创 iTOP4412裸機開發——LED

開發板有兩個可控制的LED燈:分別接到引腳:KP_COL0和VDD50_EN 由原理圖可知這兩個引腳分別輸出高電平之後LED就會亮。 KP_COL0就是GPL2_0 VDD50_EN就是GPK1_1 配置GPX_CON對應位爲輸出功

原创 sed命令50例

bash編程——sed 50例 sed是GNU/Linux中有用的文本處理工具。sed的完整英文名稱是Stream Editor。使用sed命令可以很容易地完成許多簡單和複雜的文本處理任務。可以使用帶有sed命令的正則表達式來搜索

原创 python處理risk_app告警Log小程序

import os import sys def parse_log(fd): i = 0 line = fd.readline() while line: line = line.strip('\n\r ') if li

原创 中斷屏蔽

在單CPU範圍內避免競態的一種簡單而有效的方法是在進入臨界區之前屏蔽系統的中斷。但在一般的驅動編程中不值得推薦,驅動通常要考慮誇平臺特點而不假定自己在單核上運行。 cpu一般都具備屏蔽中斷和打開中斷的功能,此項功能保證正在執行的

原创 關於內核空間或用戶空間拷貝數據注意事項

在內核空間與用戶空間界面處,內核檢查用戶空間緩衝區的合法性顯得尤其必要,Linux內核的許多安全漏洞都是因爲遺忘了這一檢查造成的,非法侵入者可以僞造一片內核空間的緩衝區地址傳入系統調用接口,讓內核對這個”指向內核空間的緩衝區”填充

原创 JLink v8克隆版破解嚮導

更新固件方法: 1. 安裝Atmel固件下載軟件“Install AT91-ISP v1.13.exe ”。 下載地址:http://download.csdn.net/detail/cj675816156/9017179 2.燒寫原廠

原创 iTOP4412裸機開發——按鍵(輪巡方式)

開發環境: itop-4412平民版,ubuntu 14.04 64位,交叉編譯工具版本:gcc version 4.4.1 (Sourcery G++ Lite 2009q3-67) start.S: .global main .wor