自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ramoops/pstore

pstore/ramoops overviewhttp://tjtech.me/analyze-pstore-ramoops-in-android-kernel.html

2021-12-15 14:11:26 309

原创 浅谈SEAndroid安全机制及应用方法

浅谈SEAndroid安全机制及应用方法内容提纲:➢SEAndroid/SELinux简介➢SEAndroid/SELinux框架➢SELinux Policy介绍➢安全策略文件(TE文件)➢SELinux安全问题分析​ ➢SELinux设备文件权限解决办法​ ➢SELinux服务权限解决办法​ ➢SELinux可执行权限解决办法➢补充​ ➢客体类型添加一.SEAn...

2020-04-05 16:09:01 906

原创 Android系统中的Camera系统

Android系统中的Camera系统一、Android中camera简介1.Camera1.1camera初识摄像头模组,全称CameraCompact Module ,以下简称CCM,是影像捕捉至关重要的电子器件。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vcXEN9B3-1582610015231)(E:\Users\ZhangZhilu\D...

2020-02-25 13:55:23 2412

原创 Android binder解析及示例

Android binder解析及示例一、ServerManager1.ServerManager目录:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Nu6NnMUl-1581424098779)(E:\Users\ZhangZhilu\Desktop\Android底层开发\第二部分\servicemanager.PNG)]2.ServerManager执...

2020-02-11 20:28:54 516 1

原创 Android灯光系统(硬件访问服务框架)

Android灯光系统(硬件访问服务框架)Java类:LightsService.javaLightsService.java通过调用,LightsService JNI来实现com.android.server包中的LightsService类。这个类不是平台API,被Android系统JAVA框架中的其他一些部分调用。/* * Copyright (C) 2008 The Androi...

2020-02-09 13:14:32 1698

原创 Android硬件访问服务 (硬核最终篇)

Android服务访问流程 (硬核最终篇)一、调用关系及流程简要SystemService.java:(调库、启动服务)1.System.loadLibbrary(“android_servers”);libandroid_servers.so依赖jni文件夹下所有的com_android_server_xxx Service.cpp文件和onload.cpp文件。System.loa...

2020-02-08 19:39:23 778 1

原创 Android硬件服务访问流程

Android硬件服务访问流程[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-phXht2Rc-1581134814880)(E:\Users\ZhangZhilu\Desktop\Android底层开发\第二部分\Android服务访问流程.png)]SystemService.java:(调库、启动服务)1.System.loadLibbrary(“andr...

2020-02-08 12:07:08 431

原创 JNI简介及语法介绍

JNI简介及语法介绍一、JNI简介​ Android的应用层由java语言编写,Framework框架层则是由Java代码与C/C++语言实现,之所以由两种不同的语言组合开发框架层,是因为java代码是与硬件环境彻底“隔离”的跨平台语言,java代码无法直接操作硬件。​ Android系统基于Linux操作系统,在Linux操作系统中C/C++通过Linux提供的系统调用接口可以...

2020-02-07 11:54:46 1840

原创 Android的启动流程

Android的启动流程1.硬件BOOT、加载Linux内核并挂载Rootfs2.init进程启动及Native服务启动3.SystemServer及Android服务启动4.Home桌面启动回顾:【1】Uboot的启动流程 Uboot的启动分为两个阶段。 第一阶段:设置异常向量表,设置ARM核为svc模式,关cache和关mmu, 关看门狗,初始化时钟,串口,内存,初始化栈空间...

2020-02-07 10:59:04 150

原创 Android.mk语法

Android.mk语法Makefile语法规则:target:depend on commandsAndroid.m语法规则: 作用: - A static library. 静态库 ar -cr ---->libtest.a - A shared library. 动态库 gcc -shared -fPIC test.c -o libtes...

2020-02-07 09:07:33 247

原创 Android系统目录定制

Android系统目录定制1.在fspad-733-6.0/androidM/device/目录下创建公司文件夹cd fspad-733-6.0/androidM/device/mkdir farsight2.在公司文件夹下创建产品文件夹cd farsightmkdir farsight-7333.在产品文件夹下拷贝创建一个vendorsetup.sh并修改add_lunch_...

2020-02-06 18:29:10 211

原创 Android五层框架驱动编写(完整篇)

Android五层框架驱动编写一、框架介绍1.应用程序层(java)应用程序。2.应用程序框架层(java)与系统运行库被称为“C库层”相对应,应用程序框架层往往被冠以“JAVA库”的称号。这是因为框架层所提供的组件一般都是以JAVA语言编写而成,他一方面为上层应用程序提供了API接口;另一方面也囊括了不少系统级服务进程的实现,是与Android应用程序开发者关系最直接的一层。3.系...

2020-02-06 14:32:44 3037

原创 java基础

java基础一、介绍(一)内容介绍、开发环境安装一:总述以及基础要求语言层面开发要首先掌握好;掌握二进制、八进制、十六进制,懂的软件的安装;二:简要自我介绍、讲课方法以少为多,用啥讲啥三:学习方法三个要素:a)一个好老师远胜一本死教材;节约大家大量的学习时间b)不停的努力是根本,不断的学习和实践,多看优秀的人写的代码,自己动手多参与实际项目写大量代码;c)举一反三。要积极自...

2020-01-30 15:13:44 219

原创 Android硬件访问服务

Android硬件访问服务一. 流程概要二. 开发流程1.编写ILedService.aidl生成ILedService.java文件(1).编写AIDL文件:ILedService.aidlpackage android.os;/** {@hide} */interface ILedService{ int ledCtrl(int which, int status);...

2019-12-31 12:22:39 303 1

原创 java代码通过JNI调用c函数

java代码通过JNI调用c函数一. 总览在Java代码中通过JNI调用C函数的步骤如下:第一步:编写java代码 :在Java类中声明本地方法第二步:编译java代码 :javac HelloJNI.java 生成 HelloJNI.class第三步:生成C语言头文件 :使用javah命令,生成饱含JNI本地函数原型的头文件第四步:编写C代...

2019-12-30 14:38:05 819

转载 Linux--根文件系统的挂载过程分析

前言:本篇文章以S3C6410公版的Linux BSP和U-Boot来进行分析,文中所有提及的名词和数据都是以该环境为例,所有的代码流程也是以该环境为例来进行分析。哈哈。如果有不正确或者不完善的地方,欢迎前来拍砖留言或者发邮件到[email protected]进行讨论,先行谢过。简单的来说,根文件系统包括虚拟根文件系统和真实根文件系统。在Kernel启动的初始阶段,首先去创建虚拟的根文件系统...

2019-10-14 19:47:38 180

转载 socket接口读写PHY寄存器

socket接口获取网卡状态,读写PHY寄存器下面代码描述了在用户层访问smi/mdio总线, 读写phy芯片寄存器的通用代码。Linux内核2.6以上通用。将下面代码编译后,将可执行文件a.out 重命名为mdiomsi是简单网络管理协议(SNMP)的一部分,指定了在SNMP的MIB中用于定义管理目标的规则。MDIO(Ganagement Data Input/Output),对G比特以...

2019-10-11 09:57:07 1028

原创 dropbear相关问题

List itemdropbear相关问题dropbear生成1.下载开发包组[root@CentOS7 ~]#yum groupinstall Development tools -y2.下载dropbear-2017.75.tar.bz2https://matt.ucc.asn.au/dropbear/dropbear.html3.将其dropbear进行解压,查看安装自...

2019-10-11 09:56:00 2105

转载 图片播放器小项目(详解)

https://blog.csdn.net/oqqHuTu12345678/article/details/78862613

2019-08-29 15:45:53 169

转载 17.飞鸽传书小项目

飞鸽传书通信模板1通信结构体enum{LOGIN=0x1, //登录CHAT, //聊天QUIT, //退出SERVER_ALIVE, //测试服务器是否正常NEW_USER, //服务器告诉客户端新用户登录/已存在的新用户};typedef struct{int type;//消息类型int id; //id 值–用户登录后服务器会分配给用户一个 ID 值char na...

2019-07-02 11:03:16 559

转载 16.UDP编程

#-------------------------------------------------## Project created by QtCreator 2018-12-09T16:01:34##-------------------------------------------------QT += core gui networkgreaterThan(...

2019-07-02 09:52:57 107

转载 15.TCP编程

服务器#include "tcpserverwig.h"#include <QApplication>int main(int argc, char *argv[]){ QApplication a(argc, argv); TcpServerWig w; w.show(); return a.exec();}#ifndef TCPSE...

2019-07-02 09:48:45 103

转载 14.网络编程一些概念

TCP/IP分层:应用层:应用程序及应用协议的集合传输层:端口的寻址,寻址任务(进程) TCP/UDP网络层:提供了端对端(寻址机器)的寻址:IP物理层:提供了上层访问硬件设备的功能:驱动程序几个概念:socket:一系列网络编程接口IP:网络通信中唯一标定一台机器,NAT转换端口号:选择原则:>5000TCP/UDP协议:TCP:有连接,可靠的协议:数据无丢失、无失序、...

2019-06-29 11:30:03 287

转载 13.线程基础

QT线程优势:gui线程+子线程使用多线程有什么好处?1.提高应用程序的响应速度。这对于开发图形界面程序尤其重要,当一个操作耗时很长时(比如大批量I/O或大量矩阵变换等CPU密集操作),整个系统都会等待这个操作,程序就不能响应键盘、鼠标、菜单等操作,而使用多线程技术可将耗时长的操作置于一个新的线程,从而不会影响到主GUI线程,从而避免上述问题。2.使多CPU系统更加有效:当线程数不大于...

2019-06-29 11:28:49 127

转载 12.文件操作例子

SDF

2019-06-29 11:28:13 175

转载 11.文件操作

1.相关类处理QFile、QTextStream、QFileInfoQFile:文件基本操作QTextStream:文本流–会自动处理编码转换,解决一些乱码问题QFileInfo:操作文件信息2.QFile:2.1 继承关系QObject–QIODevice–QFileDevice–QFileQIODevice:QT对输入输出设备抽象,提供了操作设备的一系列接口。接口:QFil...

2019-06-28 17:57:48 115

转载 10.主窗体

主窗体构成:1.标题栏(跟随系统)–只能通过方法修改2.菜单栏(QMenuBar)菜单项(QMenu)动作(QAction)3.工具栏(QToolBar)动作(QAction)4.中央窗体(主窗体)–QWidget:可以在上面组合任意界面5.状态栏(QStatusBar)动作设计:增加短快捷键:新建(&N)标题栏修改方法:void setWindowTitle(co...

2019-06-28 17:55:34 312

转载 9.事件处理

一、事件处理1.理论:事件由窗口系统或系统自身产生,用以响应各种行为或情况。如当按下鼠标或释放鼠标时,会产生鼠标事件,按下键盘时,出现按键事件…(详见QEvent帮助文档介绍)QT基于事件、信号与槽来保证界面的正常工作,信号与槽完成对象之间的通信,而系统底层产生的所有事件,比如上面提到的键盘按下、松开,鼠标左键、滚轮等,都会由QT采集并做封装,放到QT的事件队列中。而QT的主循环(即m...

2019-06-28 17:54:29 112

转载 8.堆栈窗体

一、堆栈窗体–QStackedWidget1.方法Public FunctionsQStackedWidget(QWidget * parent = 0)int addWidget(QWidget * widget) 增加窗体,增加完后默认会分配一个index值,从0开始 int currentIndex() const 得到当前显示窗体的index值Public Slot...

2019-06-28 17:53:49 243

转载 7.双路进度条实现

#include "myprogress.h"#include <QApplication>int main(int argc, char *argv[]){ QApplication a(argc, argv); MyProgress w; w.show(); return a.exec();}

2019-06-28 17:53:07 274

转载 6.QT布局使用

一、布局管理器1.实例:窗体最小分辨率为400*400,窗体上放置两个文本输入框, QTextEdit横向均分两个文本输入框。使用代码来实现上述功能。使用UI编辑器布局来改进界面不足。2.布局管理器手工布局(适用于测试某个小功能):简单快捷,但不能做到自适应窗口,需要自己计算窗口位置和大小布局管理器布局(适用于项目开发):1.子部件的定位2.窗口的合理默认空间3.窗口的合理最小...

2019-06-28 17:51:34 171

转载 5.常用GUI部件

一、了解QT常用的部件类QPushButton:按钮QRadioButton:单选框QCheckBox:多选框QListWidget:列表部件QTableWidget:表格组件QGroupBox: 组框QStackedWidget:堆栈窗体QWidget:基础窗口部件QComboBox:组合框QLineEdit:单行文本框QTextEdit:多行文本框QTimeEdit:时...

2019-06-28 17:50:53 433

转载 4.辅助类使用

1.QByteArray思考:char buf[6] = “hello”;如果要把buf改成"hello world",该怎样做。Qt通过QByteArray为我们提供了一个字节数组容器(它是可变长的)。主要用来存储原始的字节数据。QByteArray仍可以表示字符串,类似与char buf[],但是QT中多用QString来表示字符串。一般结合其它类使用,比如QIODevice类的QB...

2019-06-28 17:49:48 211

转载 3.信号与槽的对应关系

一、QT打印调试方法1.类C语言使用方法int val = 5;qDebug(“val = %d”, a); //方法1,类似于C的printf函数2.类C++使用方法int val = 5;qDebug()<<"val = "<<val; //方法2,类似于C++的cout函数3.方便输出QT类二、信号与槽1.简介:信号与槽是QT在C++基础上新增...

2019-06-28 17:48:34 1256

转载 2.界面开发入门

一、界面编程1.分析程序结构2.使用类方法改变对象属性尝试改变窗口大小属性,思考怎样根据需求查找需要的接口?a.搜索相应的方法b.搜帮助文档,首先定位到文档中相应的属性:Properties,再去查找相应的方法。3.窗口增加一个按钮,设置按钮显示文字为"点击",并改变按钮字体颜色。QPushButton::QPushButton(QWidget * parent = 0)凡是在构造...

2019-06-28 17:47:09 222

转载 1.建立第一个QT界面项目

一、项目建立1.建立C项目: 非QT项目-》纯C语言项目2.建立C++项目: 非QT项目-》纯C++语言项目3.建立GUI项目: 应用程序-》Qt Widgets Application-》基类先选择QWidget,创建界面选项去掉,类名需要根据窗口功能来修改,首字母大写。注意:1.固定自己的工作目录2.注意项目路径选择不能包含中文4.区分工作目录和构建目录工作目录:即建立项目的...

2019-06-28 17:46:34 786

转载 8.uCOS3在STM32F4开发板上的移植

8.uCOS3在STM32F4开发板上的移植第一部分、章节目录4.8.1.开发板硬件确认4.8.2.开始移植工作4.8.3.串口输出信息的移植4.8.4.串口输出问题解决4.8.5.从串口看中断处理的代码模式4.8.6.uCOS3中创建任务演示4.8.7.添加一个按键响应处理任务4.8.8.两任务通过信号量交互第二部分、章节介绍4.8.1.开发板硬件确认本节首先确认普中PZ...

2019-05-24 16:32:19 218

转载 7.uCOS3源码解析

7.uCOS3源码解析第一部分、章节目录4.7.1.宏观上看uCOS34.7.2.uCOS3源码分析14.7.3.uCOS3源码分析2-uCCPU部分4.7.4.uCOS3源码分析3-uCLIB部分4.7.5.uCOS3源码分析4-uCOSiii部分4.7.6.uCOS3核心源码分析1-杂碎部分4.7.7.uCOS3核心源码分析2-优先级表4.7.8.uCOS3核心源码分析3-T...

2019-05-24 16:31:43 934

转载 6.uCOS2在ARM3.0开发板上移植实战

6.uCOS2在ARM3.0开发板上移植实战第一部分、章节目录4.6.1.开启ucos2的移植之旅4.6.2.ucos2移植实战14.6.3.ucos2移植实战2-初步整理bsp部分4.6.4.ucos2移植实战3-下载试运行4.6.5.ucos2移植实战4-OS调度启动排错4.6.6.ucos2移植实战54.6.7.ucos2移植实战64.6.8.在ucos2中创建任务4.6...

2019-05-24 16:31:04 160

转载 5.uCOS2的events事件源码分析

5.uCOS2的events事件源码分析第一部分、章节目录4.5.1.互斥锁和信号量4.5.2.ucos2的mutex互斥锁源码分析14.5.3.ucos2的mutex互斥锁源码分析24.5.4.ucos2的优先级翻转问题14.5.5.OSMutexPend函数详解14.5.6.OSMutexPend函数详解24.5.7.OSMutexPost函数详解4.5.8.ucos2的se...

2019-05-24 16:30:18 257

空空如也

空空如也

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

TA关注的人

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