原创 selinux在 android 上的實現

1.  在init.c main函數裏面初始化 int main(int argc, char **argv){ .......... union selinux_callback cb; cb.func_log = log_callba

原创 Linux 死鎖檢測模塊 Lockdep 簡介——轉自魅族內核團隊,對死鎖檢測認識上升到新高度

Linux 死鎖檢測模塊 Lockdep 簡介       原文地址 http://kernel.meizu.com/linux-dead-lock-detect-lockdep.html 25 July 2016 死鎖概念 死鎖是指多個

原创 輕鬆幾步實現在STM32上運行FreeRTOS任務

之前文章做過一次調查,盡然有大部分人都沒有接觸過RTOS,希望本文能帶領那部分朋友入門。 1寫在前面 以前想要在STM32上跑FreeRTOS操作系統,還需要自己一步一步的移植FreeRTOS代碼。 現在使用STM32CubeMX工具,就

原创 Android 9.0 Auto及m4 core倒車邏輯--基於imx8qm

新板子car版本android系統收不到m4發送的資源釋放消息,屏不亮,先分析一下邏輯關係。 上圖就是car版本AP核和M41核之間的倒車邏輯。   階段1 系統啓動完畢 mek_8q.mk 63: $(IMX_DEVICE_PATH)

原创 request_firmware函數的使用

request_firmware函數主要是用來在kermnel 裏給外圍設備更新固件的時候,獲得固件文件的。 調用此函數後,編譯進系統的固件文件,就被調用內存。 當調用request_firmware 函數時,它會自動在幾個固定的文件夾下

原创 Linux內核中的軟中斷、tasklet和工作隊列詳解

本文基於Linux2.6.32內核版本。 引言 軟中斷、tasklet和工作隊列並不是Linux內核中一直存在的機制,而是由更早版本的內核中的“下半部”(bottom half)演變而來。下半部的機制實際上包括五種,但2.6版本的內核中,

原创 LVDS接口分類,時序,輸出格式

原文鏈接:https://blog.csdn.net/dagefeijiqumeiguo/article/details/50543596   1.1.1           LVDS接口分類

原创 hash函數應用(整理)

評估hash函數優劣的基準主要有以下兩個指標: (1) 散列分佈性 即桶的使用率backet_usage = (已使用桶數) / (總的桶數),這個比例越高,說明分佈性良好,是好的hash設計。 (2) 平均桶長 即avg_backet_

原创 Android系統網絡架構

引言:這篇文章以WiFi舉例,介紹了Android系統網絡架構。其內容包含:網絡鏈路的連接和註冊、網絡有效性檢測和網絡優選、Android系統網絡防火牆和幾種場景下的網絡策略等,文章的最後也列舉了幾種常見的無法上網原因供大家參考。 一.

原创 一次spinlock死鎖故障的定位(太經典,收藏!)

  本文講述一次spinlock死鎖故障的定位過程,目的不在於問題本身,而在於展現一個內核bug的分析過程,提供一種分析思路,供大家參考。一、問題現象 內核出現panic,kdump蒐集到了vmcore。vmcore中直接導致panic的

原创 串口下查看單個應用消耗內存的方法

以com.skyworth.sky_app_home爲例: 1.    先用top查看該應用的PID   查到該應用的PID是2372; 2.    進入到目錄:/proc/2372,然後cat status,得到該進程的詳細狀態,包括內

原创 Android網絡安全:Netfilter與iptables

Android 4.4.4 1、Netfilter與iptables關係 Netfilter:     http://www.netfilter.org/:     Netfilter is a framework provided by

原创 【Linux】grep 匹配多個關鍵字

grep 命令非常常用,經常用於匹配文本字符。 一般情況下,grep 命令只能匹配一個關鍵字,怎麼實現匹配多個關鍵字呢? 下面看幾種情況: 1、 grep ‘字符串’ 這是最普通的使用方式: 匹配文件中包含 MANPATH 的那一行: c

原创 c語言設置cpu affinity (設置程序需要使用的cpu內核) cpu mask

最近打算寫個小程序, 需要控制使用的是哪個 cpu 內核,所以做了一些調查, 整理一下分享給大家。  主要參考:  http://www.gnu.org/software/libc/manual/html_node/CPU-Affinit

原创 linux下指定進程運行的CPU

如果你覺得比內核的進程調度器更瞭解你的進程,不想過多的佔用CPU0,更高的緩存命中,那麼可以設置進程運行在某個或某些CPU上。    redis是單進程模型,爲了充分利用多核服務器性能,可以指定不同的redis實例運行在不同CPU上,這樣