自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MTK WLAN支持多种NVRAM方案

MTK 平台支持多NVRAM 方案

2021-12-29 10:06:17 381

原创 android rc文件的启动

记录hostapd 启动方式,多种方式可以启动一个binhostapd.android.rc# init.rc fragment for hostapd on Android# Copyright (c) 2002-2016, Jouni Malinen <j@w1.fi>## This software may be distributed under the terms of the BSD license.# See README for more details.#o

2021-08-19 11:37:27 790 1

原创 AOSP添加新硬件设备开发-HAL层

Android 系统为硬件抽象层中的模块接口定义编写规范,我们必须按照这个规范来编写自己的硬件模块接口,否则就会导致无法正常访问硬件。抽象层命名Android 系统的硬件抽象层以模块的形式来管理各个硬件访问接口。每一个硬件模块都对应有一个动态链接库文件,动态链接库文件的命名要符合一定的规范。抽象层模块使用结构体hw_module_t来描述设备 硬件设备使用结构体hw_device_t描述。那么该如何命名呢?硬件抽象层模块的命名定义在aosp/hardware/libhardware/ha

2021-07-16 21:31:03 1370

原创 Windows bat 循环脚本案例

测试开关1000次// 从1开始步进加1,循环1000次for /l %%i in (1,1,1000) dodo 之后多条语句使用()扩起来choice /t 5 /d y /n > null //延迟5s完整的:@echo "bluetooth test"@for /l %%i in (1,1,1000) do @(@echo "%%i"adb shell input tap 400 800@choice /t 5 /d y /n > ...

2021-05-21 09:34:14 1976

原创 Android Vibrator 实现灭屏震动功能

背景vibrator 是手机上的一个硬件功能,也是常用的提示功能,在开发过程中,遇到一个需求,需要实现灭屏震动提示,搜集网上博客,没有找到想要的案例,所以自己花了点时间研究了,记录下实现android 对硬件的权限使用控制的越来越严格,android R 之前的灭屏震动不知道有没有特别设置,本文只讨论Android R上的应用。正文1,在AndroidManifest.xml中添加使用到的控制权限,为什么需要?阅读源码可以看到调用vibrate方法的时候会对权限检查,如果没有申请,那么将会导

2021-05-17 20:07:18 1165 3

原创 抓取logcat的一个无聊脚本

抓取logcat的一个无聊脚本,配置全局环境,在执行脚本的路径下生成以时间为名字的文件。#!/bin/bashindex=0#获得所有参数array_name=($@)e_str="-e"log_path=$(pwd)#获得当前时间time=$(date "+%Y%m%d%H%M%S")echo $#echo $log_pathecho $timeif [ $# != 0 ];then for arg in $@ do.

2021-04-12 15:52:11 205

原创 AOSP添加新硬件设备开发-HIDL层

目录一 ,准备二,添加hal文件三,实现hal文件四,添加service五,启动rc文件六,生成Android.bp文件七,SELinux权限八,编译android设备添加一个外围设备,不像嵌入式那么简单,系统越复杂加入的方式越杂,但是万物都有规矩可寻,有方法可走。这篇文章就说说HAL和用户之间的接口HIDL。Google:https://source.android.google.cn/devices/architecture/hidlgoogle 官方这样解释

2021-02-22 20:52:52 1845

原创 谈谈Android 安全策略SElinux

不积跬步无以至千里,补全自己的短板,完善体系,虽然是站在巨人的肩膀上,写这篇文章也算是对这个知识点的总结。一,背景SElinux出现之前,Linux上的安全模型叫DAC(Discretionary Access Control 自主访问控制),它的核心思想就是:进程拥有的权限与执行它的用户权限相同,比如,以root用户启动camera, 那么camera就拥有root的用户权限,我们知道root的权限是很大的,可以说为所欲为。所以DAC方式管理太过宽松,只要应用获得了root权限,可以在后台做很

2020-09-29 21:43:43 4005

原创 智能配网方案 Airkiss 技术原理介绍及应用

写在前面站在巨人的肩膀上,可以看得更远一、什么是Air Kiss可以说AirKiss 是微信硬件平台提供的一种WIFI硬件设备快速配置连接网络的技术,是一种创新性的信息传递技术。通过该技术可以便捷的向一台具有WIFI功能的设备传递配网信息,比如wifi的ssid,密码。在嵌入式设备或没有交互功能的智能设备,需要连接网络时,使用手机将设备需要配网的ap信息发送到空中,待配网设备捕获所发送的信息,通过解析获取需要的ssid和pwd. 示意图如下所示二、应用场景随着移动互联网与物联网.

2020-05-11 10:50:47 5953 1

原创 通过stupid-ftpd在android / arm 上建立ftp服务器

最近接触到嵌入式系统,需要将驱动文件放到嵌入式设备内,所以想到搭建一个ftp服务器,通过ftp将文件放到设备内,通过搜索查找,使用stupid-ftpd比较合适,占用空间小,自己手边有个Android的机顶盒,就在机顶盒上实验首先资源下载, stupid-ftpd是开源的,链接:https://sourceforge.net/projects/stupid-ftpd/files/stu...

2020-05-06 16:17:14 727 1

原创 LD3320语音识别模块+JQ8900-TF语音模块实现简单的语音交互控制

玩这个真的要感谢头条的强大推荐,清明节回家的大巴车上,无聊的刷着头条,很智能的给我推荐了一款语音识别模块,一直很想自己试着玩一把的我,按奈不住,点开视频看到了介绍,接着我就淘宝一下,加入了购物车,事后感觉我被套路了,是不是商家自己制作的视频推广发到头条,不管怎样,模块已经在手上了,那就利用起来吧,然后网上又搜了一款语音播放模块,自己设计不了硬件,买现成的模块玩玩拼凑吧材料: L...

2020-04-20 00:02:55 8860 13

原创 深入理解C指针 笔记三

指针和数组什么是数组? 数组是能用索引访问的同质元素连续集合传递一维数组,将一维数组作为参数传递给函数实际是通过值来传递数组的地址,还需要传递数组的长度,否则函数看来,只有数组地址不知道其长度void displayArray(int arr[], int size){} --->数组表示法void displayArray(int *arr, int size){} ---&...

2020-03-30 22:22:24 129

原创 深入理解C指针 笔记二

指针和函数 程序栈 是支持函数执行的内存区域,通常和堆共享,在这块内存区域的下部是程序栈,上部是堆。程序栈存放栈帧,栈帧存放函数参数和局部变量,堆管理动态内存返回指针:使用malloc在函数内部分配内存并返回其地址,调用者负责释放返回的内存传递一个对象给函数并让函数修改它,这样分配和释放对象的内存都是调用者负责传递指针的指针:将指针传递给函数时,传递的是...

2020-03-30 22:20:31 195

原创 深入理解C指针 笔记一

认识指针什么是指针?指针就是一个存放内存地址的变量怎样声明指针类型?指针通常根据所指向的数据类型来声明,对象可以是任何c数据类型,如整数、字符、字符串或结构体,指针本身不包含所引用数据的类型信息,他只包含地址指向函数的指针?void (*foo)() --> 指向没有参数和返回值的函数,指针名字foovoid指针特别之处?void指针是通用指针,用来存放任何...

2020-03-30 22:15:55 140

原创 Android 尝试写一份Linux 字符设备驱动

从事android工作几年时间,功底不是很深,一直围绕这android系统定制移植开发,慢慢的从应用层接触到framework层,在接触到hal,目前从事的工作wifi驱动相关工作。但是没有系统的学习过驱动知识,现在跟着阳光玻璃杯学习一份驱动的简单实现。 这个简单的驱动程序是一个字符设备驱动,实现写一个字符串进去,然后再把他读出来。驱动创建/dev/hello节点,/s...

2019-10-21 10:54:17 362

原创 Linux下C 实现批量处理文件名称修改

本程序根据其他同学的方法总结修改而来,主要方便自己修改文件话不多说,直接贴代码,需要同学自取#include <stdio.h>#include <dirent.h>#include <stdlib.h>#include <string.h>#include <sys/types.h>#include <sys/...

2019-07-03 16:20:30 537

原创 wifi 移植,将驱动放入内核编译ko文件,编译失败解决方法

接到项目需要将驱动编译成ko文件, 将驱动代码放到kernel路径下,执行make modules 后编译报错error: variable '__this_module' has initializer but incomplete typeerror: unknown field 'name' specified in initializererror: excess eleme...

2019-05-08 17:43:13 1734

原创 Android 设备终端执行cp等操作时报Read-only file system问题

1,在可以执行adb的情况下,使用 adb remount , 在执行adb shell 进到设备终端2,在没有adb可以执行,比如说直接串口连接调试情况,直接进到设备终端,如果我们想操作/system路径下的文件,会报Read-only file system,执行失败,此时我们可以使用mount命令,重新挂载文件,指令如下mount -o remount /system此后便可以...

2019-04-19 17:38:08 2460 1

转载 构建 Android WebView 的缓存机制 & 资源预加载方案

本文转自 Carson_Hohttps://blog.csdn.net/carson_ho/article/details/71402764前言由于H5具备 开发周期短、灵活性好 的特点,所以现在 Android App大多嵌入了 Android Webview 组件进行 Hybrid开发 但我知道你一定在烦恼 Android Webview 的性能问题,特别突出的是:加载速度慢 &am...

2018-09-12 11:21:43 415

转载 从Handler.post(Runnable r)再一次梳理Android的消息机制(以及handler的内存泄露)

 本文转自 http://blog.csdn.net/ly502541243/article/details/52062179Handler每个初学Android开发的都绕不开Handler这个“坎”,为什么说是个坎呢,首先这是Android架构的精髓之一,其次大部分人都是知其然却不知其所以然。今天看到Handler.post这个方法之后决定再去翻翻源代码梳理一下Handler的实现机...

2018-09-12 11:13:09 152

转载 手把手教你写一个完整的自定义View

本文转自Carson_Ho https://blog.csdn.net/carson_ho/article/details/62037696前言   自定义View是Android开发者必须了解的基础 今天,我将手把手教你写一个自定义View,并理清自定义View所有应该的注意点  阅读本文前,请先阅读我写的一系列自定义View文章 自定义View基础 - 最易懂的自定义V...

2018-09-12 10:57:11 223

转载 跟我一起写Makefile(整理版)

跟我一起写Makefile陈皓(博客地址:http://blog.csdn.net/haoel/article/details/2886)整理的PDF文件:http://download.csdn.net/download/xiaoshuai537/102620891. makefile很重要什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Win...

2018-09-12 10:16:19 906

原创 ubuntu 14.04安装visual studio code 提示libnss3版本低解决

sudo vi /etc/apt/sources.list添加deb http://cz.archive.ubuntu.com/ubuntu trusty-updates main保存退出执行 sudo apt-get update;         sudo apt-get install -此句可能不需要做然后在点击安装code_1.27.1-1536226049_amd64....

2018-09-10 17:25:30 5063 4

原创 C 学习记录-指针函数和函数指针, 烧脑的指针

指针函数和函数指针, 相信很多同学跟我一样,刚开始总会把他俩弄反, 理解不了他俩的用法开始我们先从定义开始说下1, 指针函数 指带指针的函数, 本质上他也是一个函数, 只是他的返回值是某一类型的指针,不是像基本数据类型定义的函数,返回的是基本数据类型值. 类型: 类型标识符 *函数名(参数列表) int *func( int x, int y); ----&gt...

2018-04-27 16:34:43 175

原创 记录用 ndk 编写一个android的可执行程序

环境:ubuntu或其他Linux系统,  ndk 环境Android 系统的底层是Linux,所以我们写一个可执行程序放进手机里是可以执行的创建一个目录 mkdir jni, 进入到该目录下创建如下几个文件,举例:.├── Android.mk├── app.c├── Application.mk├── test.c└── test.hAndroid.mk:LOCAL_PATH := $(cal...

2018-04-26 15:48:02 641

原创 C 学习记录-结构体与多线程/互斥锁

一,结构体结构也是一种数据类型,他是由基本数据类型构成的、并用一个标志符来命名的各种变量的组合;struct 结构名{    类型 变量名;    类型 变量名;    ...}结构变量; 结构名是结构的标志符,不是变量名;struct string      {           char name[8];           int age;           char sex[2];  ...

2018-04-26 15:06:57 1948

原创 Android JNI控制CPU工作频率

一,知识预讲首先 需要先adb shell进入手机cd /sys/devices/system/cpu 到cpu 目录下使用ls查看当前目录下的文件,有:cpuinfo_cur_freq:当前cpu正在运行的工作频率cpuinfo_max_freq:该文件指定了处理器能够运行的最高工作频率 (单位: 千赫兹)cpuinfo_min_freq :该文件指定了处理器能够运行的最低工作频率 (单位: 千...

2018-04-26 14:44:57 931

原创 C51矩阵键盘

对于键盘按键之前也是似懂非懂,手里有一块浩豚电子的51板子,现在跟着使用说明看一遍学习。矩阵键盘,称为行列键盘,在单片机上使用4条I/O口作为行线,4条I/O口作为列线,此文章中我使用P1口作为键盘的使用端口。P2口接共阴极8段数码管,为按键按下后显示对应的数字。键盘扫描采用反转扫描法,p1.0~p1.3 先设为高电平,p1.4~p1.7设为低电平,当有按键按下时P1口作为I/O口,例

2017-12-03 21:01:29 3968 1

空空如也

空空如也

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

TA关注的人

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