原创 韋東山 第四期安卓linux下 ubuntu安卓開發環境搭建,tiny4412 安卓5.0 環境搭建

因爲自己搜索大量論壇 發現 只根據韋老大的手冊 會有些問題 所以寫下此文章 環境使用 Ubuntu 14.04.6 LTS 由於是使用openJDK(java環境)時候可以自動用代碼下載默認jdk 剛好對應着安卓5.0.2的開發

原创 建立好framework 後 改寫JNI文件添加 hal

硬件控制 由HAL實現 而JNI來調用 hal 實現更好的保密性和 代碼修改性 android裏面對硬件的操作我們一般分爲兩個文件,一個是JNI文件(向上提供(註冊)本地函數,向下加載HAL文件並調用HAL文件的函數),一個

原创 驅動程序分層分離_總線設備驅動模型

總線 一個總線是處理器和一個或多個設備之間的通道. 爲設備模型的目的, 所有的設備都通過一個總線連接, 甚至它是一個內部虛擬的"平臺"總線。 圖爲 總線驅動設備模型 在Device裏面配置設備 在 Driver裏面 修改驅動代碼

原创 linux驅動程序和應用程序交互實現_基於2440

在學習安卓時候對驅動還是有疑惑 ,用jz2440重寫驅動 板子:jz2440 系統:ubutu16 最後所有代碼在底部 先配置板子uboot能與主機互相聯通 如果配置是 開發版 192.168.31.10 電腦 192.168.3

原创 linux驅動中斷框架

從零開始觸發中斷到cpu執行 1. 按下中斷,cpu找到異常向量入口 在彙編文件找到異常向量入口: arch\arm\kernel\entry-armv.S .section .vectors, "ax", %progbit

原创 開發板上調試字符設備驅動使用異步通知

之前的直接查詢(耗資源),中斷(read一直等待),poll(指定超時)都是軟件主動read 現在用signal驅動提醒應用 1應用:註冊信號處理函數 2驅動發送信號給app 3app要告訴驅動程序他的pid號 4驅動裏面調用ki

原创 字符設備驅動小結,塊設備驅動引入

之前學完的字符驅動設備進行一個小結 引入塊設備驅動 磁盤 flash 對於塊設備,先把所有要讀,和要寫的放入隊列,一次進行讀和寫,加快速度 先看看,app修改文件後,調用硬盤的框架 怎麼寫塊設備驅動?? 1.分配gendi

原创 GEC6818,s5p6818 第一個裸機程序(燒寫爲重)led和蜂鳴器 tftp和nfs傳輸

開發環境 粵嵌的GEC6818 ubuntu:16 gcc version 4.5.1 (ctng-1.8.1-FA) 在測試中發現在 start.S (用來啓動關看門夠狗,設置寄存器建立鏈接,再跳轉到main.c)之前還有一步

原创 (二)arm-a上華爲iot雲,移植虛擬機的文件到開發板,全網首發

上一篇文章已經在虛擬機上可以用華爲的sdk連接到iot雲端 我已經造好輪子,也不收費,希望大家多交流,每次下載點東西,一個兩個都要金幣的,很難受 我造好的輪子 現在我們把文件移植到開發板上 進行文件的編譯 先更改編譯器 由於ar

原创 (三)arm-a上華爲iot雲,iot對設備的數據發放,接受(基於led)

之前傳輸的數據都是測試數據,那我們這次試着調試led 用自己的文件經行led的控制 最後可以用驅動+app的形式經行硬件的控制,我比較懶,先直接改文件吧 看看我們有什麼硬件可以玩的 驅動已經註冊好led的class類了,那就玩l

原创 buildroot三分鐘入門,修改文件,對內核進行編譯

之前編寫驅動都是自己單獨編譯內核,看完粵嵌GEC6818的文檔傻眼了,用的是buildroot,好像和別人的buildroot還不一樣 一般來說應該是先進入build root make help make linux-menuc

原创 設備樹和總線驅動模型和傳統驅動的比較

和之前的驅動進行對比 寫一個字符設備驅動我們有 傳統方式:在leddrv.c 裏面寫死 總線設備驅動模型 :.a.在代碼leddrv.c裏面進行分配,註冊,入口,出口 b.在leddev.c裏指定引腳 設備樹:使用設備樹指定引腳

原创 設備樹的查看與傳統驅動比較,簡單分析,初次編寫,環境搭建

設備樹在開發板上的查看 進入 sys/devices/platform 我們先用led 經行 查看 進入of_node (開放的固件) 裏面有 compatible(屬性) name pin(引腳) 進行查看 和設備樹上面

原创 觸摸屏驅動編寫

觸摸屏要使用到輸入子系統 分析之前的輸入子系統 輸入子系統詳解 用linux裏面的 input.c 用兩邊的probe 匹配系統裏的軟件控制和驅動 寫出框架 我們要寫的就是 input_dev 開始代碼編寫和分析 分配一個i

原创 LCD驅動的硬件編寫

根據上一篇文章 分析框架列出大致編寫過程 框架分析 2設置 查看 fb_info怎麼定義 進入 fb.h查看定義 2.1從中列出固定參數 設置fix結構體裏的參數 a. char id[16]; /* identifi