怎样实现硬件访问服务(下)

简介: 怎样实现硬件访问服务

本文原文链接:https://xuesong.blog.csdn.net/article/details/80933999?spm=1001.2014.3001.5502



注册进去:

1675858293412.jpg

1675858306296.jpg

1675858314109.jpg


4、LedService.java:调用本地方法来操作硬件

package com.android.server;
import android.os.ILedsService;
//类 LedService ,它继承的父类是ILedService.Stub类
public class LedService extends ILedService.Stub{
    private static final String Tag = "LedService";
    //call native c function to access hardware
    public int ledCtrl(int which, int status) 
    {
        return native_ledCtrl(which,status);
    }
    public LedService(){
        native_ledOpen();
    }
    public int native native_ledCtrl(int which, int status);
}

1675858335249.jpg


SystemServer.java中

Slog.i(Tag, “Led Service”);
ServiceManager.addService(“led”, new LedService);//new LedService 创建实例化对象


5、IledService.java(接口文件):给app使用

aidl(Android Interface Definition Language)文件
interface ILedService(){
    int ledCtrl(int which, int status);
}


需要修改:Android.mk

添加一行:

core/java/android/os/ILedService.aidl\


执行mmm . 命令

生成:IledService.java 文件


6、app使用

=====================


JNI复习:

1675858384288.jpg

硬件访问服务:

SystemServer:

1675858393485.jpg

因为操作都不一样:

1675858404676.jpg

相关文章
|
25天前
|
传感器 人工智能 物联网
C 语言在计算机科学中尤其在硬件交互方面占据重要地位。本文探讨了 C 语言与硬件交互的主要方法,包括直接访问硬件寄存器、中断处理、I/O 端口操作、内存映射 I/O 和设备驱动程序开发
C 语言在计算机科学中尤其在硬件交互方面占据重要地位。本文探讨了 C 语言与硬件交互的主要方法,包括直接访问硬件寄存器、中断处理、I/O 端口操作、内存映射 I/O 和设备驱动程序开发,以及面临的挑战和未来趋势,旨在帮助读者深入了解并掌握这些关键技术。
42 6
|
7月前
|
Linux
Linux设备驱动之多个同类设备共用一套驱动
Linux设备驱动之多个同类设备共用一套驱动
189 0
|
7月前
|
存储 芯片
一种LED驱动专用控制电路方案
一、基本的概述 TM1651 是一种带键盘扫描接口的LED(发光二极管显示器)驱动控制专用电路,内部集成有MCU 数字接口、数据锁存器、LED 高压驱动、键盘扫描等电路。本产品性能优良,质量可靠。采用SOP16/DIP16的封装形式。 二、特性说明 采用功率CMOS 工艺 显示模式(7字段×4 位),支持共阳数码管输出 键扫描(7×1bit),增强型抗干扰按键识别电路 辉度调节电路(占空比 8 级可调) 串行接口(CLK,DIO) 振荡方式:内置RC 振荡(450KHz±5%) 内置上电复位电路 内置自动消隐电路 封装形式:DIP16/SOP16 三、具体的应用
|
存储 测试技术 网络安全
冲破内核限制:使用DPDK提高网络应用程序的性能(下)
冲破内核限制:使用DPDK提高网络应用程序的性能
|
缓存 Linux API
冲破内核限制:使用DPDK提高网络应用程序的性能(上)
冲破内核限制:使用DPDK提高网络应用程序的性能
|
存储
计算机操作系统学习笔记(1)——硬件结构
计算机操作系统学习笔记(1)——硬件结构
111 0
|
缓存 开发工具 数据安全/隐私保护
【软考学习17】数据传输控制方式、虚设备和微内核操作系统
【软考学习17】数据传输控制方式、虚设备和微内核操作系统
180 0
|
传感器 块存储
(4)(4.6) 强制性硬件配置
(4)(4.6) 强制性硬件配置
108 0
|
存储 Java
第一次笔记:计算机硬件的工作原理 主存储器 运算器 控制器 计算机的工作过程 计算机系统的层次结构 三种级别的语言
第一次笔记:计算机硬件的工作原理 主存储器 运算器 控制器 计算机的工作过程 计算机系统的层次结构 三种级别的语言
260 0
第一次笔记:计算机硬件的工作原理 主存储器 运算器 控制器 计算机的工作过程 计算机系统的层次结构 三种级别的语言