原创 編譯Android 7.0遇到的問題

硬件平臺:rk3128 Android版本:7.0 kernel版本:3.10.104 ubuntu版本:ubuntu 16.04 一、 問題描述:編譯kernel時錯誤:/bin/sh: 1: lzop: not found 解決方法

原创 Android HAL調用流程

此文目前爲半半半成品,待完善。 本文以light爲例,分析android調用底層驅動的流程,今天先從LightsService開始,應用的調用部分後面再補充。 平臺:rk3128 android版本:android 5.1 內核版本:

原创 ubuntu 16.04 samba服務器快速配置

1、安裝samba sudo apt-get install samba samba-common 2、備份配置文件 sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak 3、建立共享

原创 Linux下i2c設備的註冊過程

在linux內核下,我們通過i2c_add_driver註冊i2c設備,註冊成功之後會調用我們寫好的probe函數,下面就來梳理一下i2c設備從註冊到調用probe的過程。 註冊i2c設備,傳入的參數是i2c_driver結構體指針。

原创 android 6.0編譯問題總結

硬件平臺:rk3128 android版本:android 6.0 編譯環境:ubuntu 16.04 由於我的環境是android 7.0的編譯環境,今天編譯android 6.0時遇到一些問題,故記錄在此。 1、JDK切換 and

原创 【轉】MIPI Generic和DCS指令的區別

在讀/寫指令時,Generic指令 是不區分 Index 和 parameter 的,而 DCS 會默認把 data0 作爲Index 然後計算 parameter 數目。 原文:http://blog.csdn.net/qwaszx5

原创 Ubuntu 16.04 android 5.1編譯錯誤

硬件平臺:RK3288 android版本:5.1 1、編譯遇到如下錯誤: libnativehelper/JniInvocation.cpp:45: error: unsupported reloc 43 libnativehelp

原创 Linux內核空間內存申請函數kmalloc、kzalloc、vmalloc的區別

我們都知道在用戶空間動態申請內存用的函數是 malloc(),這個函數在各種操作系統上的使用是一致的,對應的用戶空間內存釋放函數是 free()。注意:動態申請的內存使用完後必須要釋放,否則會造成內存泄漏,如果內存泄漏發生在內核空間,則

原创 Linux設備模型(3)_Uevent

原文:http://www.wowotech.net/device_model/uevent.html1. Uevent的功能Uevent是Kobject的一部分,用於在Kobject狀態發生改變時,例如增加、移除等,通知用戶空間程序。用

原创 linux內核中的likely()和unlikely()宏的作用

在看linux內核代碼的時候,經常會看到likely(x)和unlikely(x)宏的使用。那這兩個宏有什麼作用呢?這兩個宏在內核中的定義如下:# define likely(x)  __builtin_expect(!!(x), 1)

原创 內核regmap機制

內核版本:3.10.92 內核3.1引入了一套新的API機制:regmap,主要爲I2C,SPI,IRQ等操作提供統一接口,提高代碼可重用性,減少重複邏輯。 以I2C爲例: 要讓設備跟I2C通信,以前的辦法是調用i2c_transfer接

原创 GIT使用備忘

一、GIT服務器地址IP:192.168.12.21用戶名:git密碼:123456 二、如何上傳一個新的GIT倉庫以RK3128爲例:服務端:1、使用git用戶登錄GIT服務器,在根目錄下新建目錄:mkdir  rk312x_andro

原创 [RK3128][Android 6.0] OTA編譯錯誤

使用make otapackage命令編譯ota包時出現以下錯誤: Package target files: out/target/product/rk312x/obj/PACKAGING/target_files_intermedia

原创 【轉】豐田栽了的原因,嵌入式軟件工程師都該看看

無意間看到了四年前的文章,值得一看。 原博:http://blog.csdn.net/sy_lixiang/article/details/21174817  【第一部分】背景簡介 前幾年鬧得沸沸揚揚的豐田剎不住事件最近又有新進展。十月

原创 Linux 執行腳本時&和&&

&表示在後臺執行腳本,比如 ./ppp & 。&&表示前一條指令執行成功後再運行下一條指令,如果前一條指令執行失敗,則後面的指令不執行。