自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

勤能补拙,孰能生巧

you can you up.

  • 博客(96)
  • 收藏
  • 关注

原创 每日一看,BUG滚蛋

_ooOoo_ o8888888o 88" . "88 (| -_- |) O\ = /O ____/`---'\____ .' \\| |// ...

2017-09-07 10:44:10 363 1

原创 Linux编译系统之主Makefile(二)

内核Makefile分析Makefile:找到第一个目标文件和链接文件。第一个目标文件(一路跟踪启动过程)链接文件:它表示内核应该放在哪里,里面的代码是如何排布的。Linux内核Makefile文件分类顶层Makefile:是所有Makefile文件的核心,从总体上控制着内核的编译,链接config:配置文件,在配置内核时生成所有Makefile文件(包含顶层目录及子目录)都是根据config来决定使用哪些文件arch/$(ARCH)/Makefile:对应体系结构的Makefile,它

2021-10-19 22:36:45 423

原创 linux-编译系统介绍之kbuild(一)

Linux编译系统1.概述从Linux内核2.6开始,Linux内核的编译采用Kbuild系统,这同过去的编译系统有很大的不同,尤其对于Linux内核模块的编译。在新的系统下,Linux编译系统会两次扫描Linux的Makefile:首先编译系统会读取Linux内核顶层的 Makefile,然后根据读到的内容第二次读取Kbuild的Makefile来编译Linux内核。Makefile由五个部分组成:Makefile:根目录Makefile,它读取.config文件,并负责创建vmlinux(内核

2021-10-19 22:24:01 3165

原创 Linux 内核链表(使用)

介绍需要头文件:<linux/list.h>当使用链表接口时, 你应当一直记住列表函数不做加锁. 本文将介绍内核链表简单添、删、改、查操作。并附使用示例1.链表初始化初始化在list.h中struct list_head { struct list_head *next, *prev; }; 自己申请链表struct my_list{ struct l...

2020-03-22 21:17:49 821

原创 Linux内核同步和异步使用(速览)

介绍kernel有很多的同步和异步机制,做简单整理,力求能够熟练使用。1.同步机制并发:多个执行单元同时被执行竞态:并发的执行单元对共享资源(硬件资源和软件上的全局变量等)的访问导致竞争状态。并发与竞态。假设有2个进程试图同时向一个设备的相同位置写入数据,就会造成数据混乱。处理并发常用的技术:加锁或者互斥,即确保在任何时间只有一个执行单元可以操作共享资源。在Linux内核中主要通过...

2020-03-22 12:03:11 525

原创 Linux 服用I/O详解

1.IO复用简介I/O 多路复用技术是为了解决进程或线程阻塞到某个 I/O 系统调用而出现的技术,使进程不阻塞于某个特定的 I/O 系统调用。select(),poll(),epoll()都是I/O多路复用的机制。I/O多路复用通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪,就是这个文件描述符进行读写操作之前),能够通知程序进行相应的读写操作。但select(),...

2020-03-22 11:47:15 341

原创 内核kernel以及根文件系统rootfs是如何映射到对应的nand flash的地址的?

我用的是ramdisk.image.gz,烧写在flash的0x10140000处我不太明白内核在启动过程中式如何将这个文件映射成/目录及各子目录的?如果ramdisk.image.gz在flash中的位置发生了变化,应该如何修改内核啊?【解答】没理解错的话,ramdisk.image.gz应该是你的内核的压缩镜像。你的问题,要分2方面和你解释:1.将这个文件映射成/目录及各子目录的不...

2019-12-03 10:14:51 385

原创 简单适合自己最重要

自己搭过博客,也试着写了好几篇文章,可是后面环境变化,会去再次配置环境。这样重复的折腾有些心累。想着要么寄宿别人的环境(CSDN)等,但是会有各种广告,干扰视线。要么去自己买个服务器,长期使用,只是博客有点奢侈。懒人还是选择CSDN了,加油! 反复,重复,也会进步哦。当然突破还是得狠狠逼自己一下留下最真得自己,我能行。...

2019-12-03 09:57:41 114

原创 0 Makefile基础

1.简介1.1 makefile说明编译时,编译器需要的是语法的正确,函数与变量的声明的正确。链接时,主要是链接函数和全局变量。链接器并不管函数所在的源文件,只管函数的中间目标文件(Object File),在大多数时候,由于源文件太多,编译生成的中间目标文件太多,而在链接时需要明显地指出中间目标文件名,这对于编译很不方便。所以,我们要给中间目标文件打个包,在 Windows 下这种...

2019-07-12 22:59:39 151

原创 Android 四大组件-Activity

基于Android 4.4,分析Activity启动流程. 跟着邓凡平和GitYuan走一遍4.4流程。一、概述startActivity流程在4.4增加了ActivitySupervisor,涉及stack,task`以及UI内容Activity生命周期更为丰富。Activity启动发起后,通过Binder最终交由system进程中的AMS来完成,则启动流程如下图: ...

2018-12-16 15:16:23 156

转载 2.结构型模式

这些设计模式关注类和对象的组合。继承概念被用来组合接口和定义组合对象获得新功能的方式。适配器模式(Adapter Pattern)桥接模式(Bridge Pattern)过滤器模式(Filter,Criteria Pattern)组合模式(Composite Pattern)装饰器模式(Decorator Pattern)外观模式(Facade Pattern)享元模

2018-12-16 15:15:46 104

原创 02-FFMPEG同步

1.PTS和DTS音频和视频流都是一些关于以多快速度和多少时间来播放它们的信息在里面。音频有采样,视频有帧率,如果简单通过帧数和帧率计算,很有可能不同步的情况。作为补充有DTS和PTS机制。谅解这两参数,需要了解电影的存放方式。B、P、I帧。B前后双向预测,P帧向前预测,I帧完整的一副图像。这也就也是了我们可能在调用avcodec_decode_video以后会得不到一帧图像。对于电影,帧...

2018-12-16 15:15:11 435

翻译 2.use a media session

media session伴随着它管理的播放器。应该在Activity或Service的oncreate()中创建和初始化一个media session和相关的播放器。注意:media session意味MediaSessionComapt的一个实例。同理Media Controller...

2018-07-13 22:49:15 167

翻译 1.audio_video

1.支持的媒体格式将会描述Android平台支持的媒体编解码, 视频容器和网络协议。1.1视频解码推荐设备的实现必须支持动态的视频分辨率和帧率切换,在同一流中通过标准的APIsVP8,VP9,H.264,H.265实时解码达到解码设备最佳分辨率。对支持Dolby版本的编码实现遵循下面准则:提供Dolby版本能力抓取器在屏幕合适的位置显示Dolby的内容设置向后兼容的基...

2018-07-13 22:39:31 331

转载 Bootstrap3(二)

1.Bootstrap 表格Bootstrap 提供了一个清晰的创建表格的布局。下表列出了 Bootstrap 支持的一些表格元素: 标签 描述 &lt;table&gt; 为表格添加基础样式。 &lt;thead&gt; 表格标题行的容器元素(&lt;tr&gt;),用来标识表格列 &lt;tbody&gt; 表格主体中的表格行的容器元素...

2018-07-13 13:48:36 402

转载 Bootstrap3(一)

1.Bootstrap 简介Bootstrap 是一个用于快速开发 Web 应用程序和网站的前端框架。Bootstrap 是基于 HTML、CSS、JAVASCRIPT 的。移动设备优先自 Bootstrap 3 起,框架包含了贯穿于整个库的移动设备优先的样式。浏览器支持所有的主流浏览器都支持 Bootstrap。容易上手只要您具备 HTML 和 CSS 的基础知识,您就可以开始学习...

2018-07-13 11:05:23 1783

转载 browser(二)

1.History 对象History 对象包含用户(在浏览器窗口中)访问过的 URL。History 对象是 window 对象的一部分,可通过 window.history 属性对其进行访问。1.1 History 对象属性 属性 说明 length 返回历史列表中的网址数1.2 History 对象方法 方法 说明 b...

2018-07-12 18:18:18 308

转载 Browser(一)

1.Window对象Window 对象表示浏览器中打开的窗口。如果文档包含框架(&lt;frame&gt; 或 &lt;iframe&gt; 标签),浏览器会为 HTML 文档创建一个 window 对象,并为每个框架创建一个额外的 window 对象。注意没有应用于 window 对象的公开标准,不过所有浏览器都支持该对象。1.1Window 对象属性 属性 描述...

2018-07-12 17:57:54 769

转载 DOM(四)

1.HTML DOM Document 对象在 HTML DOM (Document Object Model) 中 , 每一个元素都是 节点:文档是一个文档节点。所有的HTML元素都是元素节点。所有 HTML 属性都是属性节点。文本插入到 HTML 元素是文本节点。注释是注释节点。当浏览器载入 HTML 文档, 它就会成为 Document 对象。Document 对象是...

2018-07-12 16:45:00 133

转载 DOM(二)

1.HTML DOM - 元素添加、删除和替换 HTML 元素。创建新的 HTML 元素 - createElement()如需向&lt;p&gt;元素添加文本,您首先必须创建文本节点。这段代码创建文本节点:var node=document.createTextNode("这是一个新段落。");insertBefore()添加元素方式,前加入。appendChild()方法,将新元素作为...

2018-07-12 16:04:00 219

转载 DOM(一)

HTML DOM定义了访问和操作 HTML 文档的标准方法。DOM 以树结构表达HTML 文档。DOM(文档对象模型 ) 定义了访问 HTML 和 XML 文档的标准:是中立于平台和语言的接口,它允许程序和脚本动态地访问和更新文档的内容、结构和样式。 W3C DOM 标准被分为 3 个不同的部分:核心 DOM - 针对任何结构化文档的标准模型XML DOM - 针对 XML 文档的标...

2018-07-12 14:36:33 326

转载 CSS(四)

1.CSS 导航栏使用CSS你可以转换成好看的导航栏而不是枯燥的HTML菜单。 导航栏=链接列表导航条基本上是一个链接列表,所以使用 和 元素非常有意义:&lt;ul&gt; &lt;li&gt;&lt;a href="#home"&gt;主页&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="#news"

2018-07-12 13:02:16 175

转载 CSS(三)

1.CSS 盒子模型1.1CSS 盒子模型(Box Model)所有HTML元素可以看作盒子,在CSS中,box model这一术语是用来设计和布局时使用。CSS盒模型本质上是一个盒子,封装周围的HTML元素,它包括:边距,边框,填充,和实际内容。盒模型允许我们在其它元素和周围元素边框之间的空间放置元素。不同部分的说明:Margin(外边距)- 清除边框外的区域,外边距是透明...

2018-07-11 23:12:44 359

转载 CSS(二)

1.CSS 背景CSS 属性定义背景效果:,当使用简写属性时,属性值的顺序为::background-color设置元素的背景颜色。background-image把图像设置为背景。background-repeat设置背景图像是否及如何重复。background-attachment背景图像是否固定或者随着页面的其余部分滚动。background-position设置背景图像的...

2018-07-11 22:59:19 153

转载 CSS(一)

1.CSS简介CSS指层叠样式表(Cascading Style Sheets)样式定义如何显示HTML元素样式通常存储在样式表中把样式添加到HTML4.0中,为了解决内容与表现分离的问题外部样式表可以极大提高工作效率外部样式表通常存放在CSS文件中多个样式可定义可层叠为一2.CSS id和Class如果你要在HTML元素中设置CSS样式,你需要在元素中设置id和c...

2018-07-11 22:24:00 153

转载 HTTP协议

http协议HyperText Transfer Protocol超文本传输协议,所有的www文件必须准守这个标准。1.Http简介HTTP协议是超文本协议的缩写,用于从万维网(WWW.World. Wide Web)服务器传输超文本到本地浏览器的传输协议。HTTP是一个基于TCP/IP通信协议传输数据(HTML文件,图片文件,查询结果等)2.Http工作原理Http是无...

2018-07-08 22:21:59 882

原创 Python网络编程-TCP服务器(二)

通过TCP协议和客服端通信。socketserver库实现。############ server #######################from socketserver import BaseRequestHandler,TCPServerclass EchoHandler(BaseRequestHandler): def handle(self): ...

2018-06-17 18:00:32 236

原创 Python网络编程-HTTP(一)

1.作为客服端与HTTP服务交互1.1 简单HTTP请求发送一个简单HTTP GET请求到远程的服务from urllib import request,parse# base url being accessedurl='http://httpin.org/get'#dictionary of qurey parametersparms={ 'name1':'v...

2018-06-17 17:30:45 1680

转载 01-ffmpeg同步(音频基准)

本文主要描述了如何以音频的播放时长为基准,将视频同步到音频上以实现视音频的同步播放的。主要有以下几个方面的内容视音频同步的简单介绍计算视频中Frame的显示时间获取Audio clock(audio的播放时长)将视频同步到音频上,实现视音频同步播放1.视音频同步简单介绍一般来说,视频同步指的是视频和音频同步,也就是说播放的声音要和当前显示的画面保持一致。在视频流和音频流中...

2018-04-18 22:57:15 1384 1

原创 c 预处理

C程序涉及很多步骤,第一个步骤预处理阶段。任务是删除注释、插入被#include的文件、定义和替换由#define指令定义的符号以及确定代码是否根据一些条件编译指令进行编译。1.预定义符号__FILE__和__LINE__用于调试,__DATE__和__TIME__版本信息等。 符号 样式值 含义 FILE “name.c” 进行编译的源文件名 ...

2018-04-10 16:27:08 184

原创 c 关键字

volatile(不稳定)C语言中volatile关键字很多人都掌握好,很多C书籍也是一两行概括。我将会教你一个合适的方式,理解volatile。首先,在嵌入式C或C++代码中,你是否遇到过下面几个情形?只要不开启编译器优化,代码工作得很好。只要中断没有使能,代码工作得很好-片状硬件驱动没有其他进程,RTOS(实时操作系统)任务单独运行将会很好。只要你认为其中一个是这样的...

2018-04-09 18:14:37 308

原创 android AMS

跟着邓凡平大神的博客走一遍加深理解。AMS是Android中最核心的服务,主要负责系统中四大组件的启动、切换、调度及应用进程的管理和调度等工作,其职责与操作系统中的进程管理和调度模块相类似,因此它在Android中非常重要。ActivityManagerService extends ActivityManagerNative implements Watchdog.Monito...

2018-03-18 14:29:31 26914 4

原创 Android 系统时间

Android系统更新时间两类方式:1.网络提供时间(运营商SIM和WIFI)2.GPS提供时间(GPS模块接收GPS卫星信号获得,定位成功即生效)1.时间相关概念1.1 GMT格林威治标准时间(Greenwich Mean Time)格林威治标准时间是指位于伦敦郊区的皇家格林尼治天文台的标准时间,本初子午线即是通过该点的经线。 1.2 UTC(Univers...

2018-03-16 17:35:27 2421

原创 linux 内核基础(1)

在linux内核中,有一种通用的双向循环链表,构成了各种队列的基础。链表的结构定义和相关函数均在include/linux/list.h中,下面就来全面的介绍这一链表的各种API。1.链表初始化循环链表,表头和表中节点都是下面元素结构。有prev,next两个指针分指向链表中前一个节点和后一个节点。struct list_head{ struct list_head...

2018-03-13 23:07:27 259

原创 Android和Linux关系

需要明确三点:Android采用Linux作为内核Android对Linux内核做了修改,目的适应移动设备使用Android无法并入Linux主开发树1.Android继承于LinuxAndroid是在Linux内核基础之上,Linux提供核心服务:安全,内存管理,进程管理,网络和驱动模型等。Android按移动设备需求,在文件系统,内存管理,进程管理通讯和电源管理进行修改,添...

2018-03-09 09:59:52 11509

转载 Android recovery

Recovery简介1.Android利用Recovery模式,进行恢复出厂设置,OTA升级,patch升级及firmware升级。运行升级包中的META-INF/com/google/android/update-script脚本来执行自定义升级。 a.脚本中是一组recovery系统能识别的UI控制,文件系统操作命令b.升级包一般被下载至SDCARD和CACHE分区下2.升级中还涉...

2018-02-22 16:37:07 351

转载 Android xml中标签

主要是涉及PackageManager和ActivityManager。packageManager解析阶段,ActivitityManager运行阶段的一些信息。AndroidManifest.xml文件的解析是有PackageManager进行解析。&lt;Mainifest/&gt;:整个manifest.xml文件,由PackageInfo类提供。可以通过PackageMan...

2018-02-22 15:50:37 1492

原创 Android 属性

android 属性用于记录系统或者进程设置之间信息交换。1.介绍属性整个系统可见的。每个进程都可见get/set (System.getProperty(),System.setProperty())属性。a.编译过程将系统参数汇总到build.proc和default.proc和defaultb.系统在开机读取配置并构建缓冲区,加快查询。c.SettingProv...

2018-02-22 15:32:51 239

原创 Android权限

Android 与Linux分别有自己一套严格权限机制1.linux权限 只有体现到文件系统上才使用linux权限设置-rwxr-x–x system system test.apk 用户-用户组-其他用户1.1SUID和SGID、stick bit(粘贴位)1.数字chmod 0777 test.txt :表示没有设置SUID. SGID . sticky ...

2018-02-22 11:40:58 399

原创 Android消息机制

Android应用消息机制Android应用程序每启动一个线程,内部都有一个消息队列。MessageQueue:用于描述消息队列。Looper:创建消息队列,进行消息循环。prepareMainLooper(主消息)或者prepare(其他线程)来创建。Handler:用来发送消息和处理消息。...

2018-02-22 10:28:05 191

空空如也

空空如也

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

TA关注的人

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