原创 函數可重入性

什麼是可重入性 重入一般可以理解爲一個函數在同時多次調用,例如操作系統在進程調度過程中,或者單片機、處理器等的中斷的時候會發生重入的現象。 可重入的函數必須滿足以下三個條件: (1)可以在執行的過程中可以被打斷; (2)被打斷之後

原创 【Linux基礎系列之】中斷系統(1)-框架

  本文分爲兩篇,第一篇主要描述中斷控制器和中斷處理流程;第二篇主要講述中斷的下半部分處理機制包括softirq,tasklet,workqueue; Linux中斷系統(1)-中斷框架 Linux中斷系統(2)-中斷下半部

原创 ARM基礎學習-寄存器

大學的時候學習過一段時間彙編,現在出來工作發現還需要撿起這些東西重新去學習,接下這一段時間先集中整理ARM的基礎知識,然後擴展到ARMv8學習64位框架,然後學習MMU,學習它的中斷處理方式;這篇文章以基礎爲主學習ARM寄存器;

原创 c語言面試題重點整理·簡單編程類

下面是常用到的一些面試題,不對的地方求糾正: (1)排序 插入法 (2)排序冒泡法   (3)希爾排序 (4)二分查找法 int BinSearch1(int r[ ], int n, int k) //數組r[1] ~ r[n]存放

原创 coredump產生

coredump 上一節分析了產生NE後生成tombstone的流程,有時候通過分析tombstone並不能解決問題,這時候我們需要coredump來分析問題,core文件會包含了程序運行時的內存,寄存器狀態,堆棧指針,內存管理信

原创 ION框架學習(二)

  第一章介紹:ION的框架和buffer的分配;   第二章介紹:如何使用ION buffer; 前面一章介紹了ION的整體框架及ION_device,ION_client,ION_heap創建和關係;這章將介紹如使使用操作ION;

原创 高通Camera 驅動調試要點(二)

  這篇文章主要介紹數據流這邊Camera ISP這塊所遇到的問題,主要介紹bus overflow和sof freeze; (一)bus overflow   攝像頭傳感器時鐘通道(即 MIPI DDR 時鐘)的工作頻率與激活的

原创 【Linux基礎系列之】中斷系統(2)-下半部

前面一篇文章分析了中斷系統的框架,這篇文章主要講中斷的下半部份的機制; (一)概述 linux將其分成了兩個部分,一個叫做中斷handler(top half),是全程關閉中斷的,另外一部分是deferable task(botto

原创 【Linux基礎系列之】gpio系統

  上一章介紹了pinctrl系統管理所有的物理pin腳,gpio也是pin腳的一種,所以需要某個gpio的時候就需要通過pinctrl把某個pin腳設置爲gpio功能就即可;在pinctrl系統提供了操作pin腳的統一API接口,同時也

原创 高通Camera 驅動調試要點(一)

本文主要介紹QCOM camera調試的重要參數; (1)Lane_assign 和lane_mask   現在攝像頭基本都是mipi接口類型,因爲前後攝都對應到平臺這邊不同的mipi接口,相應的數據lane需要一一對應;   la

原创 ION框架學習(一)

第一章介紹:ION的框架和buffer的分配; 第二章介紹:如何使用ION buffer;   ION是google在Android4.0 爲了解決內存碎片管理而引入的通用內存管理器,用來支持不同的內存分配機制,如CARVOUT(PME

原创 上下拉電阻介紹

上拉電阻定義:   電源到元件間的叫上拉電阻,作用是平時使該腳爲高電平地到元件間的叫下拉電阻,作用是平時使該腳爲低電平;   上拉是對器件注入電流,下拉是輸出電流;弱強只是上拉電阻的阻值不同,沒有什麼嚴格區分;對於非集電極(或漏極)開路輸

原创 c/c++代碼性能效率

一、儘量減少值傳遞,多用引用來傳遞參數 boolCompare(string s1, string s2) boolCompare(string *s1, string *s2) boolCompare(string &s1, st

原创 異常debug之GNU工具使用

先看看前面寫的例子test.c: 1 #include <stdio.h> 2 3 void func4() 4 { 5 char *p = NULL; 6 *p = 0x5;//出錯地方;

原创 open drain和push pull

  GPIO常常可以設置爲輸出和輸入;在配置GPIO管腳的時候,常會見到兩種模式:開漏(open-drain,漏極開路)和推輓(push-pull);   這裏先熟悉下什麼是mos管:MOS管,即絕緣性場效應管。MOS英文全稱爲Metal