自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

mortree

坚持多写一些东西

  • 博客(71)
  • 资源 (3)
  • 收藏
  • 关注

原创 高通开发-LCD(一)

板子能够正常打印出log,并且log能看到android启动的代码后,就可以连接上外设,开始进行驱动调试。android驱动开发,真正自己写一个驱动代码的机会很少,作为高通方案,基本的开发思路:1.需要调试的外设已在该芯片支持的外设列表,直接去高通网站下载驱动,添加到代码编译即可2.如果该芯片列表没有该外设,可以查该外设,是否会在其他类型的芯片中支持,下载修改即可。3.如果该外设没...

2020-02-20 18:55:45 1070

原创 高通开发-烧写及异常启动分析

板子试产贴片之后,由硬件验证存在烧写USB端口,即交由软件烧入已经验证板子最重要模块的准确性。1. 烧入软件 高通烧入软件,现在主要用的QFILE和QMSCT,QPST基本不用于烧写的。其中QFILE适用于软件调试过程中,而QMSCT则适合用于量产一拖几烧入,QMSCT要注意修改其默认配置的XTT,根据自己的需求更改。2.启动分析一般购买高通芯片,或者说套片,它包含好几大模块。对...

2019-06-10 20:15:55 2281

转载 Linux内存管理(最透彻的一篇)

【转】Linux内存管理(最透彻的一篇)摘要:本章首先以应用程序开发者的角度审视Linux的进程内存管理,在此基础上逐步深入到内核中讨论系统物理内存管理和内核内存的使用方法。力求从外到内、水到渠成地引导网友分析Linux的内存管理与使用。在本章最后,我们给出一个内存映射的实例,帮助网友们理解内核内存管理与用户内存管理之间的关系,希望大家最终能驾驭Linux内存管理。前言内存管理一向是...

2019-05-16 14:27:22 29486 7

转载 Getting started with Nordic's Secure DFU bootloader, a step by step guide

原文地址:https://devzone.nordicsemi.com/b/blog/posts/getting-started-with-nordics-secure-dfu-bootloaderThe content of this blog is based on the documentation of BLE Secure DFU example and Bootloader ...

2019-04-02 16:55:59 966

原创 高通开发-升级包制作

项目立项后,需要贴片,那么当然需要软件提供刷机升级包。一般第一次贴片,都会用默认代码生成的镜像制作升级包。1.contents.xml该文件在私有代码的根目录下,该文档主要定义了升级包中镜像的名字、路径以及相关的打包工具。注意contents.xml的选择与你编译Modem的指令要一致,不然会出现问题。在common/build/目录下,有不同后缀的contents.xml,你需要把对应的...

2018-10-06 13:03:19 9288 7

原创 高通开发-预研工具

本篇主要讲解开发的相关工具,在开发过程中,善于用工具,这是很重要的。1.QPST,一般主要用于烧写、备份QCN文件,抓dump log。2.QXDM,主要用于抓RF的log,以及NV的配置。3.QDART,这里面包含很多工具,如QFILE、QMSCT烧录工具、还有用于RF调试相关的工具。4.QACT,高通音频调试工具。5.QRCT,不知道是不是叫这个名字,dump文件解析的,是...

2018-10-01 12:41:56 950 1

原创 高通开发-预研文档

记得读大学时,学院书记给我们这个专业上个一堂课,他说:大学,教你的不是某个问题该如何做,而是教你,某个问题你应该用什么样的思路去做。不仅在工作,更在生活中。比如,你碰到一件棘手的事情,你需要分析它,从结构、因果、原理等多方面去分析,然后采取不同的思路、如大事化小、对比、假想等手段,把事情拆分出来,最终解决。高通开发其实并不难,所谓的门槛高,我觉得并不是针对开发者,而是针对投资者,毕竟方案费贵,...

2018-10-01 12:21:24 2602

原创 高通开发-前篇

从14年底接手高通项目,那时候刚毕业,刚接手的项目也是三星项目的,转到高通感觉很懵逼,主要那时候刚毕业没有多,水平很差,而且三星的android版本2.2,高通的项目android版本4.1,这导致linux版本相差太多,而且找的oem,没有高通case和文档,网上文档又少,只能瞎搞。后来跳到有case的公司,才发现高通开发并没有那么难。吐槽完了,这一篇主要讲开发过程中碰到的一些问题,以及如何...

2018-09-20 11:17:14 1968 1

转载 人脸识别概念区别

人脸识别技术的发展让“刷脸”变成现实,门禁刷脸系统、支付宝刷脸登录、准确人脸识别自动P图等等技术丰富了我们的生活。 我们在享受人脸识别技术带来的便利的同时,对人脸识别的原理和实现充满了好奇,下面就来简单的介绍一下人脸识别所涉及的十大关键技术。 ➤ 1、人脸检测(Face Detection) “人脸检测(Face Detection)”的作用就是要检测出图像中人脸所在位置。...

2018-09-08 10:44:29 5037

原创 git服务器搭建

1. 搭建环境ubuntu 14.04 desktop服务器:用户:gitIP: 192.168.123.1322. 搭建过程2.1 安装git工具:(服务器端)sudo apt-get install git openssh-client openssh-server openssh-sftp-server2.2 搭建gitolite服务器客户端:生成ssh密...

2018-09-06 10:17:35 240

转载 android安装内核module,提示Required key not available

来源:linux网站 作者:lewif最近在调试一个驱动的时候,用insmod加载.ko的时候,提示Required key not available,第一反应是签名有问题,内核模块也开始使用类似apk的签名了吗?查资料后果然是这样。这个问题可以说不算是android的问题,而应该是linux系统的问题,android本身就是个linux系统。下来一步一步

2016-12-30 10:23:18 681

转载 Recovery简介

Recovery简介Android利用Recovery模式,进行恢复出厂设置,OTA升级,patch升级及firmware升级。升级一般通过运行升级包中的META-INF/com/google/android/update-script脚本来执行自定义升级,脚本中是一组recovery系统能识别的UI控制,文件系统操作命令,例如write_raw_image(写FLASH分

2016-10-25 09:00:00 569

原创 LK 打印log控制

我们知道,LK里面的log只能通过uart打印出来,看一下除了UART的初始化以及相关操作,这边主要来看一下log的打印是如何控制打印级别的:首先看该文件:1. project/msm8610.mk# top level project rules for the msm8610 project#LOCAL_DIR := $(GET_LOCAL_DIR)TARGET := ms

2016-08-04 09:46:36 1461

转载 谈程序员基础的重要性

近来一直担心毕业需要写论文的问题,基本都没碰过编程的东西了。要写论文才发现做研究真的很难,在此向奋斗在科研一线的xdjm们致敬了!言归正传,论文刚有了一点思路就像放松一下,最近刚入了一个android手机就想试试android开发,于是花了将近半天时间搭好开发环境,写了一个helloworld,就想找本书看看,下载了《android应用开发揭秘》,打包这本书的网友提到计算机基础的重要性,推荐了ht

2016-07-12 09:11:09 2856

原创 android5.1 install_apk 笔记

最近在平台上,发现在装载apk的过程中,出现很多比较严重的bug.例如,装载一些老版本的apk,发现装载过程中,设备从android系统重启,或者安装后无法使用,发现data/应用下的arm目录下,so库的后缀发生改变,而且出错后,导致很严重的一些bug,比如,卡顿,无法横屏显示等.故仔细研究一下android装载apk的机制.先看一下,adb install XXXX的过程,分析一下主要的方

2016-07-04 14:50:40 2860

转载 Android 系统安装 apk 时解压 so 的逻辑问题

Android 系统安装 apk 时解压 so 的逻辑问题0X0 前言在 Android 系统中,当我们安装apk文件的时候,lib 目录下的 so 文件会被解压到 app 的原生库目录,一般来说是放到 /data/data//lib 目录下,而根据系统和CPU架构的不同,其拷贝策略也是不一样的,在我们测试过程中发现不正确地配置了 so 文件,比如某些 app 使用第三方的 so

2016-07-01 17:41:32 7504

原创 高通8X16电池BMS算法(二)

上一篇主要讲电池相关的一些知识,上节忘记讲了,电池一般分为电量计电池和非电流计电池,电量计电池,就不需要用pmu8916的IC,当然这只是只,不需要BMS来计算soc,而jni层也需要读取电流计的电池相关属性。这一节主要是根据代码进行相关的分析。1. 先看probe的代码:static int qpnp_vm_bms_probe(struct spmi_device *spmi){

2016-06-13 00:31:02 5327

原创 高通8X16电池BMS算法(一)

最近一直在搞电源管理相关内容,之前是8610的bms,现在8916的bms,发现两者还是有点区别的,8916把对last_ocv_uv的估值算法分装成执行文件,作为服务一直运行。电源管理方面,应该是android驱动开发的一大难点,主要涉及的方面多,如充、放电、休眠唤醒等。这一部分主要讲BMS相关的一些基本概念。电池这一块刚开始入手时,感觉很难,很复杂,完全不知道如何入手,后来搞久了,才发现,

2016-06-06 22:07:22 6312

原创 高通8X16的TP笔记(二)

上一篇主要讲的与TP相关的知识点,讲这个主要是,你对这一模块有个基本的概念,知道其工作原理,这样在实际开发过程中,你才知道怎么去写起的驱动,碰到问题时,出现在哪一块,该怎么去解决。      这一篇,主要根据代码来讲上一篇涉及到的相关机制。TP的连线很简单,一路I2C,一根中断线,VCC、GND,reset。1. TP主要相关demo:驱动demo:\kernel\drivers\in

2016-06-05 21:56:48 3828

原创 高通8X16的TP笔记(一)

TP触摸屏,应该是驱动开发中比较简单并且适合新手入手的模块。不过虽然简单,但涉及到的内容还是比较多的,其中linux相关主要的机制:1. input 机制2. 中断、定时器3. I2C1.TP的原理:TP一般为电容或为电阻屏,不过现在基本上都是电容屏,可能一些WINCE的设备还会用电阻屏,但android的基本现在为电容屏,且多点触摸和手套触摸都集成在TP的IC中。当用户触摸电容屏

2016-06-05 19:54:29 2747

原创 linux 块设备-整理(一)

1. 基本概念: linux设备驱动开发详解(宋宝华):字符设备与块设备 I/O 操作的不同如下。(1)块设备只能以块为单位接受输入和返回输出,而字符设备则以字节为单位。大多数设备是字符设备,因为它们不 需要缓冲而且不以固定块大小进行操作。(2)块设备对于 I/O 请求有对应的缓冲区,因此它们可以选择以什么顺序进行响应,字符设备无须缓冲且被直接读写 。对于存储设备而言调整读写的顺序

2016-03-03 14:39:55 3847

转载 LINUX之块设备整理(二) EMMC 驱动,emmc驱动

EMMC 驱动,emmc驱动转载来源:http://www.bkjia.com/Androidjc/944793.html        块设备是Linux最复杂的设备之一,但是作为固执于知其然的Geek,我们总会把代码翻个遍,把道理弄个透。当然了,快速地学习一种新的东西,方法是最重要的,个人觉得: 内核当中 MMC/SD 卡驱动程序构架是学习EMMC 驱动程序的重点,只有理解

2016-02-27 11:51:40 10088 1

转载 I2C-资料整理

1.I2C协议   2条双向串行线,一条数据线SDA,一条时钟线SCL。   SDA传输数据是大端传输,每次传输8bit,即一字节。   支持多主控(multimastering),任何时间点只能有一个主控。   总线上每个设备都有自己的一个addr,共7个bit,广播地址全0.   系统中可能有多个同种芯片,为此addr分为固定部分和可编程部份,细节视芯片而定,看datash

2016-02-22 10:24:46 793

转载 I2C-资料整理

对于嵌入式开发的朋友来说,I2C协议实在是再熟悉不过了,有太多的器件,采用的都是通过I2C来进行相应的设置。今天,我们就随便聊聊这个I2C协议。      I2C协议中最重要的一点是I2C地址。这个地址有7位和10位两种形式。7位能够表示127个地址,而在实际使用中基本上不会挂载如此多的设置,所以很多设备的地址都采用7位,所以本文接下来的说明都是基于此。

2016-02-22 10:17:08 1530

原创 android ndk编译,方法找不到,collect2: ld returned 1 exit status

这两天用NDK编译SO库,总是报这个错:/0/android-ndk-r9d/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: ./obj/local/armea

2016-01-14 16:31:15 3807

转载 ubuntu 12.04 vim gedit中文乱码解决

ubuntu 12.04 vim gedit中文乱码解决 添加中文字符编码:$sudo vim /var/lib/locales/supported.d/local#添加下面的中文字符集zh_CN.GBK GBKzh_CN.GB2312 GB2312zh_CN.GB18030 GB18030使其生效:$sudo dpkg-re

2016-01-09 09:22:04 562

转载 JNI ERROR (app bug): attempt to use stale local reference 0x31900019(Android ICS(4.0+) JNI局部应用的变化)

本文转载自:链接地址感谢原文作者 K-Res的辛勤劳动 和 无私分享。总结一下,解决方案:将 AndroidManifest中的  minSdkVersion设置小于 14 ;如果设置 targetSdkVersion的话,也设置小于14,或者直接不设置。 具体原理解释,请详细看下文。译序:这篇文章的内容实际是在我发现一个

2016-01-08 17:39:26 3797

转载 Java中byte与16进制字符串的互相转换

java中byte用二进制表示占用8位,而我们知道16进制的每个字符需要用4位二进制位来表示(23 + 22 + 21 + 20 = 15),所以我们就可以把每个byte转换成两个相应的16进制字符,即把byte的高4位和低4位分别转换成相应的16进制字符H和L,并组合起来得到byte转换到16进制字符串的结果new String(H) + new String(L)。即byte用十六进制表示只占

2016-01-06 16:28:58 482

转载 外国人眼中最好的五个第三方 DNS 服务器

外国人眼中最好的五个第三方 DNS 服务器2015-12-27 10:31    评论: 4 收藏: 7    参考原文:http://www.expertreviews.co.uk/networks/1404176/best-dns-servers-in-the-uk作者: David Ludlow编译文章:http://net.zol.com.cn/560/560024

2015-12-30 15:56:09 4681

原创 初入android驱动开发之定时器hrtime

hrtime,高精度定时器,这里有篇文章,介绍hrtime相关的知识。点击打开链接     这里,主要介绍如何利用hrtime来模拟PWM的方波。     1 相关的方法:/** * hrtimer_start - (re)start an hrtimer on the current CPU * @timer: the timer to be added * @tim: exp

2015-12-30 08:56:22 1607

原创 git 打patch

具体的命令:打补丁的命令:git diff > xxx.patch和补丁的命令:patch -p1

2015-12-29 16:27:30 509

转载 Linux hrtimer分析--配置高精度模式

转自:http://blog.csdn.net/walkingman321/article/details/6151172本文介绍Linux2.6.29中,配置高精度模式的hrtimer与未配置高精度模式时行为的区别。本文暂不考虑高精度模式对Linux系统时钟中断的影响。       在没有配置高精度模式时,hrtimer的超时在系统时钟中断的轮循中检查,所以此时hrtimer的定

2015-12-29 13:54:10 1240

原创 初入android驱动开发之usb(一)

这里主要收集了一些USB关于OTG、device、host相关的知识。当设备检测到USB_ID信号为低时,表该设备应作为Host(主机,也称A设备)用。当设备检测到USB_ID信号为高时,表示该设备作为Slave(外设,也称B设备)用。因此,在主机侧的层次结构中,要实现的 USB 驱动包括两类:USB 主机控制器驱动和 USB 设备驱动,前者控制插入其中的 USB 设备,后者控制U

2015-12-25 14:13:37 4135

原创 android 证书签名命令

给升级包: java -Xmx2048m -jar signapk.jar -w testkey.x509.pem testkey.pk8 update.zip update_signed.zip给apk:java -jar signapk.jar platform.x509.pem platform.pk8 D:\ClockSetting.apk D:\Clo

2015-12-10 15:30:46 418

转载 Android OTA在线升级二

http://lhc180.blog.51cto.com/316940/757347 Android OTA空中升级的文档不少。但是多是介绍原理的和分析代码的。原理我就不说了。这里记录一下我在项目中实现的工作,和问题总结。工作流程:  update.xml文件放在服务器上,当客户端请求的参数正确时,返回相应的信息。up

2015-12-09 11:45:11 1333 2

转载 Android OTA在线升级一(架构分析)

http://blog.csdn.net/huryjiang/article/details/75896251、前言    OTA(Over-the-Air Technology)空中下载技术。是通过移动通信(GSM或CDMA)的空中接口对SIM卡数据及应用进行远程管理的技术。空中接口可以采用WAP、GPRS、CDMA1X及短消息技术。OTA技术的应用,使得移动通信不仅可以

2015-12-09 11:41:37 3394

原创 初入android驱动开发之网络设备以太网(二)

因为这次用到以太网模块无需自己移植供应商的驱动,只需要在内核中配置选项中加入CONFIG_USB_USBNET=y 即可。      主要修改的是系统层的代码,这里主要是讲ethernet的流程。     android4.3 本身是支持以太网的,不过需要修改一些代码。1. frameworks/base/services/java/com/android/server/Conne

2015-12-09 10:59:16 6073 1

转载 Wine + QQ 轻聊版 7.7 的安装步骤

说说 Wine + QQ 轻聊版 7.7 的安装步骤2015-11-30 16:11    评论: 20 收藏: 5    参考原文:http://weibo.com/p/1001603914858440600528作者: @cjacker文章地址:https://linux.cn/article-6666-1.html准备

2015-12-08 16:19:27 741

转载 七个你无法忽视的 Git 使用技巧

七个你无法忽视的 Git 使用技巧2015-11-30 09:24    收藏: 2    来源:编程派   原文:https://medium.freecodecamp.com/7-git-hacks-you-just-can-t-ignore-41aea137727a作者: Ritesh Shrivastav译文:http://www.codingpy.com/arti

2015-11-30 18:16:19 449

原创 android 关于mk如何引用其它so库

通常,开发android的软件,常常需要编译so库,然编译的这个so库,需要调用多个其它的so库。这里主要记录一下,编译so库时,调用其它so库的mk,是怎么写的。这里讲的示例:需要编译出libtest3.so,它需要调用libtest1.so,libtest2.so1. 在android 源码下编译LOCAL_PATH:= $(call my-dir)include $(CLEA

2015-11-04 14:16:29 7665

sha 算法c语言实现

sha 算法c语言实现,编译成功,在nrf52832上验证的 。。

2018-08-16

aec c实现 在nrf52832上测试的

aec c实现 在nrf52832上测试的,测试编译,测试成功,

2018-08-16

NordicSemiconductor.nRF_DeviceFamilyPack

NordicSemiconductor.nRF_DeviceFamilyPack (keil5以上的才需要安装)

2018-06-06

空空如也

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

TA关注的人

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