原创 Linux ARM 下C嵌套匯編

在C中嵌套匯編的作用: 1) 彙編執行的代碼效率更高; 2) 某些操作使用匯編編寫代碼更方便,如對協處理器的操作; 那麼如何在C中嵌套匯編呢? 基本語法: asm volatile (“code” : output : i

原创 Linux 內核I2C總線架構

總線是將設備與驅動聯繫在一起的紐帶。 如果一個設備與驅動彼此綁在了一起,通過sys目錄下的文件信息能看出其綁定的驅動/設備對象。 如: ~# ls /sys/bus/i2c/drivers/ad-7441/ -l lrwxrw

原创 linux 內核 編譯過程

要想分析內核的啓動過程,首先得知道內核從哪個函數入口的。那這個入口是誰呢?根據分析uboot啓動流程的經驗,你會想到lds文件。內核裏這麼多lds文件,要先分析哪個呢? 在linux下,uboot引導的是uImage,不妨從uIm

原创 WearOS複雜數據的刷新

錶盤可以通過setDefaultSystemComplicationProvider(int watchFaceComplicationId, int systemProvider, int type) 來設置要顯示的系統複雜數據。 一.

原创 使用GridView顯示網絡圖片

目的: 顯示多行兩列的網格圖片列表,圖片資源來源於服務器。 思路: 1. 佈局組件兒,使用ABSListview的子類,常用的是有Listview GridView,因爲要顯示多列,所以使用GridView。本例中用的是5行

原创 使用GridView顯示網絡圖片

目的: 顯示多行兩列的網格圖片列表,圖片資源來源於服務器。 思路: 1. 佈局組件兒,使用ABSListview的子類,常用的是有Listview GridView,因爲要顯示多列,所以使用GridView。 2. 圖片來

原创 WearOS Offload模式下的錶盤開發

  WearOS手錶offload模式下的錶盤渲染,是通過BG繪製的。 一.錶盤進入offload的條件是手錶處於微光模式且錶盤是Decomposable的。 爲了滿足上述條件,需要錶盤開發中做如下配置:   a.manifest中爲D

原创 fork()與vfock()

轉自:http://blog.csdn.net/jianchi88/article/details/6985326 fork()與vfock()都是創建一個進程,那他們有什麼區別呢?總結有以下三點區別: 1.  fork  ():子進程拷

原创 stmmac probe 過程

本文以海思3535的stmmac驅動註冊過程爲例,介紹網絡驅動探測、網絡設備探測過程。 1.由於我們使用的是以太網,直接用alloc_etherdev()函數返回一個struct net_device的地址ndev。 在

原创 內核-虛擬文件系統

files_struct 概述 虛擬文件系統(VFS)是linux內核和具體I/O設備之間的封裝的一層共通訪問接口,通過這層接口,linux內核可以以同一的方式訪問各種I/O設備。虛擬文件系統本身是linux內核的一部分,是純軟

原创 [轉載] FileInputStream 與 BufferedInputStream 效率對比

【問題】 FileInputStream & FileOutputStream 和 BufferedInputStream & BufferedOutputStream 都能完成文件的讀寫。它們在原理上、時間效率上有什麼不同,實際應用時應

原创 exit、_exit,return的區別

原文:http://blog.csdn.net/firefly_2002/article/details/7960595 1. exit用於結束正在運行的整個程序,它將參數返回給OS,把控制權交給操作系統;而return 是退出當前函數,

原创 android app設置亮屏的幾種方式以及功耗對比

在Android app開發中,爲了讓某個頁面持續顯示一定時間,需要設置亮屏代碼。 常用的方法有四種,分別如下: 方法1:通過PowerManager獲取wakelock。 方法2:在view中設置view.setKeepScreenOn

原创 module_init/subsys_initcall/postcore_initcall 執行順序。

在看i2c_init的時候,發現 postcore_initcall(i2c_init);在modul_init之前肯定會執行的。 查看他與module_init的區別. 在init.h中定義: ifndef MODULE

原创 Android獲取時間

常用類 date、Calendar 獲取1970年之前的秒值會是負數。 例如 toDate("0001年01月01日 08:00:00"); public void toDate(String time) {