自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 收藏
  • 关注

原创 使用Windows Linux 子系统安装 Tensorflow,并使用GPU环境

配置平台,根据平台选择,安装方式提供了三种:1、下载deb文件配置本地环境安装;2、通过网络加载deb文件安装;3、通过配置文件安装;上官网下载对应版本:https://developer.nvidia.com/rdp/cudnn-archive,下压缩包。使用 nvidia-smi 命令查看GPU信息,查看支持的CUDA版本,这里最高支持11.7。将对应的文件包解压后,将文件拷贝到对音乐目录。至此gpu NN开发环境就构建好了。设置默认不启动base环境。,现在对应版本,点击。安装Anaconda。

2024-07-17 00:59:07 884

原创 Android 单一音量控制

Android 单一音量控制

2024-04-17 17:19:42 652

原创 串行通信协议 SPI

SPI(Serial Peripheral Interface)是一种串行通信协议,常用于连接微控制器、存储器、传感器和其他外围设备。SPI通常由一个主设备(通常是微控制器)和一个或多个从设备组成。

2024-03-20 21:01:28 520

原创 Ubuntu 搭建gitlab服务器,及使用repo管理

Ubuntu 搭建gitlab服务器,及使用repo管理

2024-03-18 18:38:15 1777

原创 机器学习、深度学习、神经网络之间的关系

机器学习、深度学习、神经网络之间的关系

2024-03-11 20:13:48 1350

原创 Android 音频系统

Android 音频系统 Element Description

2024-03-11 10:22:43 1077

原创 Tensorflow实现手写数字识别

Tensorflow实现手写数字识别

2024-03-08 00:28:10 732

原创 卷积神经网络

卷积神经网络(Convolutional Neural Network,CNN)是一类专门用于处理具有类似网格结构的数据的深度学习模型。它在计算机视觉领域取得了巨大成功,广泛应用于图像识别、物体检测、语义分割等任务。

2024-03-08 00:21:31 1133

原创 Linux 驱动 中断(二)

在 Linux 内核中,中断下半部(也称为中断下半场)是指在中断服务程序(Top Half)执行完毕后,在上下文之外延迟执行的一些操作。中断下半部通常用于处理那些不适合在中断上下文中立即执行的任务,以保持中断服务程序的快速响应。工作队列是一种内核机制,用于在延迟上下文中异步执行较为耗时的任务。Tasklet 通常在中断服务程序的上下文中调度,并在延迟上下文中执行。软中断是在内核中断上下文之外的一种执行机制。是 Linux 内核中用于调度 Tasklet 来执行任务的函数,在中断处理触发后合适的位置执行;

2024-03-04 18:26:57 506

原创 串行通信协议 I2S

​I2S 是指“Inter-IC Sound”(集成电路间音频传输)。它是飞利浦公司为数字音频设备之间的音频数据传输而制定的一种用于连接数字音频设备的串行总线接口标准。

2024-03-04 17:02:48 380

原创 展频(Spread Spectrum)

"展频" (Spread Spectrum) 是一种通信技术,它通过扩展信号在频谱上的占用宽度来增强信号的抗干扰能力和安全性。这种技术主要用于无线通信,例如在蜂窝网络、Wi-Fi和卫星通信中。展频技术的关键优势包括抵抗窄带干扰、减少被检测和拦截的风险以及提高信号质量。

2024-03-01 16:10:55 1759

原创 Android 系统启动流程

Android 系统启动流程

2024-03-01 15:53:56 475

原创 Linux 驱动 中断(一)

中断是指计算机运行过程中,出现某些意外情况需主机干预时,机器能自动停止正在运行的程序并转入处理新情况的程序,处理完毕后又返回原被暂停的程序继续运行。

2024-03-01 15:20:17 608

原创 串行通信协议 UART

UART(Universal Asynchronous Receiver/Transmitter)是一种常见的串行通信协议,用于在计算机系统和外部设备之间进行数据传输。UART不同于I2C和SPI等同步串行通信协议,它是一种异步通信协议,意味着数据的传输不需要共享时钟信号。

2024-02-29 11:10:19 470

原创 串行通信协议 IIC

I2C(Inter-Integrated Circuit),即串行通信协议,是一种用于短距离数字数据通信的串行通信协议。它由飞利浦公司(现在的恩智浦半导体)开发,并在许多嵌入式系统和电子设备中得到广泛应用。

2024-02-28 17:59:46 494

原创 Android 工程集成openCV

1、到openCV官网下载SDK:https://opencv.org/releases,获取opencv-4.8.0-android-sdk.zip文件,并解压。3、如果使用Java言语工程,会报错,新版本CV SDK默认是使用kotlin语言的,将build.gradle中。File -> New -> Import Module -> 选择解压后的sdk子目录 -> Finish。4、配置API版本,可根据构建的工程来配置,找到app下的build.gradle查看修改即可,并同步下工程。

2023-12-15 17:01:11 647

原创 Android AIDL

AIDL是Android Interface Definition Language的缩写,是 Android 框架中用于进行进程间通信(IPC)的重要机制之一。使用 AIDL,应用程序可以将对象以跨进程调用的方式传递给另一个应用程序或系统服务。通过定义接口和实现类,在客户端和服务端之间建立 IPC 通道从而实现进程间通信。

2023-09-01 18:00:04 188

原创 Android HIDL应用

Android HIDL(Hardware Interface Definition Language)是一种用于描述硬件接口的语言和工具集。它被广泛用于 Android HAL(Hardware Abstraction Layer)中,使得 Android 系统和底层硬件之间的通信更加高效和可靠。

2023-09-01 17:53:06 438

原创 JNI 使用

JNI(Java Native Interface)是Java语言提供的一种机制,用于在Java应用程序中调用本地代码(Native Code)或者让本地代码调用Java代码。它为Java和其他编程语言(如C、C++)之间的交互提供了一种标准的接口。

2023-09-01 17:41:58 524

原创 使用MediaCodec将PCM音频编码为AMR-WB格式

使用MediaCodec将PCM音频编码为AMR-WB格式

2023-04-19 09:23:06 850 2

原创 Android Switch驱动的耳机检测

这个 switch_gpio.c 文件中,就是实现了一个由 GPIO 变化来触发的 switch 动作,当设备匹配上时,会注册一个 GPIO 中断,在中断处理函数中,可以看到它会先获取gpio的值,然后设置switch的状态。在这个函数中,会创建两个文件,一个是保存状态的文件,一个是保存名称的文件,其中状态就开关量的表现,在这个文件中还有一个改变状态的方法。在 Android 中添加了一个 switch 驱动,用于监测一些开关的变化,例如:HDMI、耳机的插拔检测之类的。为什么命名为 h2w?

2022-11-03 16:02:40 1622

原创 Android Audio 音频路由

一、在 AudioPolicyService 中,选择音频路由时会从当前音频流的类型获取音频的路由策略:/frameworks/av/services/audiopolicy/managerdefault/AudioPolicyManager.cpp/frameworks/av/services/audiopolicy/enginedefault/src/Engine.cpp音频策略枚举: 二、获取到音频路由策略类型后,通过调用 getDeviceForStrategy() 选择最终的输出

2022-06-21 00:29:14 2967

原创 Android 源码在线阅读

一个很棒的Android源码在线阅读网站

2022-06-20 23:03:38 657

原创 Android 调试命令 dumpsys

dumpsys是一种在 Android 设备上运行的工具,可提供有关系统服务的信息。您可以使用Android 调试桥 (ADB)从命令行调用dumpsys,获取在连接的设备上运行的所有系统服务的诊断输出。此输出通常比您想要的更详细,因此您可以使用下文所述的命令行选项仅获取您感兴趣的系统服务的输出。使用 dumpsys 的一般语法如下: dumpsys [-t timeout] [--help | -l | --skip services | service [arguments]...

2022-04-14 16:11:03 863

原创 Android 默认音量

1、frameworks/base/media/java/android/media/AudioSystem.java public static int getDefaultStreamVolume(int streamType) { return DEFAULT_STREAM_VOLUME[streamType]; } public static int[] DEFAULT_STREAM_VOLUME = new int[] { 4, //

2022-04-14 15:59:50 513

原创 关于android系统时间 NTP

1、配置Android的NTP服务器地址目录:frameworks/base/core/res/res/values/config.xml1725 <!-- Remote server that can provide NTP responses. -->1726 <string translatable="false" name="config_ntpServer">cn.ntp.org.cn</string>cn.ntp.org.cn ...

2021-12-07 14:32:21 2573

原创 关于Android模块编译

1、m:编译整个安卓系统makes from the top of the tree2、mm:编译当前目录下的模块,当前目录下需要有Android.mk这个makefile文件,否则就往上找最近的Android.mk文件。builds all of the moudles in the current directorymma:当前目录新增或删除文件后,可以用mma重新编译。3、mmm:编译指定路径下的模块,指定的路径下面需要有Android.mk这个makefile文件..

2021-12-07 14:27:52 3943

原创 关于platform签名和key

1、公钥和私钥的概念在现代密码体制中加密和解密是采用不同的密钥(公开密钥),也就是公开密钥算法(也叫非对称算法、双钥算法)”,每个通信方均需要两个密钥,即公钥和私钥,这两把密钥可以互为加解密。公钥是公开的,不需要保密,而私钥是由个人自己持有,并且必须妥善保管和注意保密。2、证书的概念数字证书则是由证书认证机构(CA)对证书申请者真实之身份验证后,用CA的根证书对申请人的一些基本信息以及申请人的公钥进行签名(相当于加盖发证书机 构的公章)后形成的一个数字文件。CA完成签发证书后,会将证书发布在CA

2021-12-07 13:41:25 1830

原创 常用命令 git

--文件目录操作命令 1 mkdir * 创建一个空目录 *指目录名 2 pwd 显示当前目录的路径。 3 cat * 查看*文件内容 4 git rm * 删除**文件 --git初始化操作 1 git init 把当前的...

2021-12-07 09:26:00 133

原创 常用命令 ctags的使用

ctags 命令的基本使用,及 ctags 在 vim 中 taglist 的应用

2021-12-07 09:24:06 2097

原创 常用命令 repo

Rope 使用方法:repo <COMMAND> [ARGS]最常用的repo命令是: abandon Permanently abandon a development branch branch View current topic branches branches View current topic branch...

2021-12-06 18:57:31 229

原创 常用命令 adb

通网络链接设备 adb connect <ip addr> 默认端口号为5555 断开网络链接 adb disconnect <ip addr> 显示当前设备 adb devices 推送一个本地文件或文件夹到链接设备 adb push <local> <remote> 从链接设备...

2021-12-06 18:03:03 212

原创 recovery调试 将log直接输出到串口

默认recovery的日志会输出到recovery.log,为方便调试,可以改为打印到串口。把redirect_stdio函数的参数,有”/tmp/recovery.log”修改为”/dev/console”即可。redirect_stdio(”/dev/console”); 不同的平台可能有所不一样,取决于串口驱动程序。可以先这样验证,echo “111111111” > /dev/console,检验下是否能够把打印正常输出到串口。...

2021-12-06 17:55:34 757

原创 根据SE Linux 策略警告,添加策略

例:type=1400 audit(1388534400.286:4): avc: denied {open } for pid=1362comm="surfaceflinger" path="/dev/mali" dev="tmpfs" ino=4278scontext=u:r: surfaceflinger :s0 tcontext=u:objec t_r: device :s0tclass= chr_file根据提示添加策略到对应的.te文件中allow surfacefl

2021-12-06 15:31:57 644

原创 Android 前置摄像头强制关闭镜像预览

frameworks/av/services/camera/libcameraservice/api1/CameraClient.cppAndroid 中对于摄像头处理分为前置摄像头和后置摄像头1、Camera.CameraInfo.CAMERA_FACING_FRONT :前置摄像头2、Camera.CameraInfo.CAMERA_FACING_BACK:后置摄像头base/core/java/android/hardware/Camera.java...

2021-12-06 15:25:53 3320

原创 Android 禁用键盘和鼠标活动阻止待机

frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.java当屏幕关闭时,我们会忽略一些通常被认为是唤醒键的键。我们在这里把它们过滤掉。有Motion事件,比如鼠标按键事件,用来唤醒设备...

2021-12-06 15:21:05 605

原创 修改Android系统默认语言

修改Android系统默认语言

2021-12-04 20:59:55 2221

原创 Linux驱动 字符设备驱动程序(二)

实现字符设备启动程序的基本框架申请设备号,使用alloc_chrdev_region动态分配一个或多个设备号; 创建设备类,使用class_create函数创建自己的设备类,在 sys/class 可见; 注册设备,通过cdev_init和cdev_add注册设备,并实现file_operations,与之建立关联; 创建设备,使用device_create将注册的设备建立关联,设备会在 /dev 目录创建。#include <linux/init.h>#include <

2021-10-16 23:27:33 168

原创 Linux 驱动 字符设备驱动程序(一)

字符设备是指在I/O传输过程中以字符为单位进行传输的设备,例如键盘,打印机等。在UNIX系统中,字符设备以特别文件方式在文件目录树中占据位置并拥有相应的结点。--百度百科字符设备的访问是通过文件系统内的设备名称进行的。那些名称称为特殊文件、设备文件,或者简单称之为文件系统树的节点。设备号设备号分为主设备号和次设备号,主设备号标识设备对应的驱动程序,此设备号用于正确的确定设备文件所指的设备。在文件描述中c便表示字符设备,同样的还有块设备,b表示,后面两组数字便是主设备号和次设备号。设备

2021-10-16 23:26:52 162

原创 Linux驱动 构造和运行模块(二)

应用程序与核心模块区别大多应用程序是从头到尾执行单个任务,而模块确只是预先注册自己以便服务于将来的某个请求。用户空间/内核空间模块运行在所谓的内核空间,而应用程序运行在所谓的用户空间;内核运行在最高级别也称为超级用户态,应用程序运行在最低级别也称用户态。内核中的并发linux系统中通常正在运行多个并发进程,并且可能有多个进程使用我们的驱动程序...

2021-10-12 13:37:46 90

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除