tiny4412_andriod_驱动开发
文章平均质量分 66
从我的安卓入门开始往下走
鸭鸭打瞌睡
这个作者很懒,什么都没留下…
展开
-
android调用底层原理
android中app调用c过程什么是JNI?是一种协议,并提供一套编程框架,让java和本地语言(C/C++)之间能够相互调用。JNI简单来说就是java程序可以调用C/C++写的动态链接库为什么需要JNIJava由于是平台无关语言,通过不同操作系统下具有相同功能的JVM实现一次编译,可以到处运行。也正是因为JVM,使得Java程序运行的效率相对于C/C++等本地语言较低,而且不能像C/C++一样直接操作底层硬件。什么是NDKNative Development Kit 本地开发工具集。原创 2022-01-03 22:33:24 · 1834 阅读 · 0 评论 -
I2C总线及其设备驱动分析基于tiny4412
i²c的分析总线的结构i2c 从soc里连接处两条线SDA串行数据线和SCL串行时钟线 从器件都有唯一的设备地址,和soc构成了主从关系我们分为5种信号开始信号 一个S电频(SCL高电频时,SDA从高电平向低电平跳),加上7位设备地址,加上第九位读写(SDA=0读,SDA=1写)读信号写信号结束信号 发一个P电频 SCL为高时,SDA从低向高跳变ACK信号 每个八位的数据信号后面...原创 2020-05-08 13:08:55 · 241 阅读 · 0 评论 -
android灯光系统_编写HAL_lights_c_P
当有通知或者电量低的时候,灯光会闪烁,要把自己LED驱动结合到安卓系统里app访问c函数的流程JNI文件使用HAL原创 2020-03-21 01:52:19 · 543 阅读 · 0 评论 -
韦东山 第四期安卓linux下 ubuntu安卓开发环境搭建,tiny4412 安卓5.0 环境搭建
因为自己搜索大量论坛 发现 只根据韦老大的手册 会有些问题 所以写下此文章环境使用Ubuntu 14.04.6 LTS 由于是使用openJDK(java环境)时候可以自动用代码下载默认jdk 刚好对应着安卓5.0.2的开发环境安卓 android-5.0.2交叉编译工具链 arm-linux-gcc-4.5.1-v6-vfplinux内核 linux-3.0.86-20170221...原创 2020-02-17 20:25:36 · 1800 阅读 · 1 评论 -
安卓连接 c++ 之JNI 学习
大家的赞和关注是我写博客的动力当想调用在 安卓驱动中 调用 c++控制 硬件时 要使用 JNI先写一个 java程序 JINDemo.java 这里面 要调用 c的函数 hellopublic class JNIDemo{ static{ System.loadLibrary("native"); //使用c函数作为一个库 } public native void he...原创 2020-02-24 00:59:12 · 312 阅读 · 0 评论 -
Tiny4412 在Android studio 调用 *.so文件
java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/项目包名-2/base.apk", zip file "/data/app/项目包名-2/split_lib_dependencies_apk.apk", zip file "/data/app/项目包名-2...原创 2020-02-29 00:29:08 · 271 阅读 · 0 评论 -
tiny 4412 在android中访问c 库
由于arm板的硬件调用 要通过c程序 所以把c的硬件调用代码写成一个库给java调用添加链接描述配制好能让c库被调用的环境应用界面 让里面的按键能被调用<?xml version="1.0" encoding="utf-8"?><androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http...原创 2020-02-29 01:19:30 · 251 阅读 · 0 评论 -
4412 链接c库 后编写c代码 访问 led灯
之前 已经让android studio能访问c库 这时候编写c的硬件驱动代码 让app实现对LED的控制写出 LEDS_4412.c 文件 拿去内核里编译(按照 之前的方法编译好内核)#include <linux/kernel.h>#include <linux/module.h>#include <linux/miscdevice.h>#in...原创 2020-02-29 23:45:53 · 274 阅读 · 0 评论 -
建立好framework 后 改写JNI文件添加 hal
硬件控制 由HAL实现 而JNI来调用 hal 实现更好的保密性和 代码修改性android里面对硬件的操作我们一般分为两个文件,一个是JNI文件(向上提供(注册)本地函数,向下加载HAL文件并调用HAL文件的函数),一个是HAL文件(负责访问驱动程序执行具体的硬件操作),这两个文件都是C/C++语言写的,所以JNI来加载HAL的实质就是怎么使用dl_open来加载动态库,android里...原创 2020-03-05 16:14:49 · 230 阅读 · 0 评论 -
tiny4412 andriod灯光系统_led_class驱动
写出leds_4412.c1.分配led_classdev2设置:led_devs[i].cdev.max_brightness = LED_FULL;led_devs[i].cdev.brightness_set = brightness_set_4412;led_devs[i].cdev.flags = LED_CORE_SUSPENDRESUME;led_devs[i].cdev...原创 2020-03-08 17:29:52 · 260 阅读 · 0 评论 -
andriod硬件访问硬件服务框架--流程(思维导图)
安卓多个应用程序的时候 同时访问硬件 会造成冲突 所以就是用 server框架写server的框架 有些复杂 就用流程图 表示出来大概开发应用程序的时候 就是这个流程图 后面 有详细开发按按理-----led server框架开发...原创 2020-03-02 01:51:27 · 1947 阅读 · 2 评论