自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

HelloBirthday的博客

奋斗,为了所期待的明天!

  • 博客(33)
  • 资源 (2)
  • 问答 (1)
  • 收藏
  • 关注

原创 RK3326 RESET按键进入loader

Platform:Android 8.1SoC:RK3326UBOOT:U-Boot 2017.09需求:RESET和Recovery按键接在一起,RESET可以复用为Recovery脚,使其开机能进入Loader模式。开机进入系统后,RESET为复位键。开机前uboot按键检测阶段,RESET为Recovery键。uboot何时会检测Recovery动作检测条件首先第一...

2019-04-03 22:42:55 6895 2

原创 Android Toolbox

Platform:Android 7.1SoC:RK3288Android中的"toolbox"命令是一个多功能程序,它将许多常见的Linux命令(以及一些常用的Android命令)的功能封装到一个二进制文件中。Android 7.1.2上toolbox源码位于:system/core/toolboxshell下可通过ls -l xxx来确定某个二进制程序是否链接到toolbox,to...

2019-03-19 19:29:24 2197

原创 查找VID PID设备

Android上通常用lsusb查看挂载的USB设备PID VID。shell本文用脚本实现查找设备的PID VID是否存在,原理是遍历/sys/bus/usb/devices目录,判断子目录中idVendor和idProduct的值。脚本内容如下:#!/system/bin/shif [ $# -ne 2 ];then echo "Usage: `basename $0`...

2018-08-18 10:12:42 3934

原创 CW2015电量计驱动分析

Chip:CW2015 SoC:RK3288 Platform:Android 5.1PSY一般power supply分为三种:DC,USB,battery 本文着重分析battery,并介绍CW2015电量计调试的相关经验probe()函数分析驱动毫无疑问从probe()函数开始,函数原型:static int cw_bat_probe(struct ...

2018-08-14 09:30:25 18453 18

原创 Rockchip RK3288型号获取

Platform:Android 5.1Rockchip RK3288系列也分了好几个型号,这里主要区分:RK3288和RK3288W 本文主要介绍两者之间型号的获取与区分,通过以下方式:封装丝印代码adb或串口封装丝印RK3288和RK3288W的封装丝印是有区别的,主要通过丝印后缀来判断。RK3288RK3288封装丝印 RK3288W...

2018-08-04 15:13:48 5850 4

原创 打开dev_dbg()调试开关

打开dev_dbg开关,使其日志输出到控制台内核驱动中(大多数是子系统中)有大量使用dev_dbg打印日志信息,但是这些信息默认是不会输出到控制台的。调试过程中,我们如何打开DEBUG,获取这些dev_dbg日志呢?打开dev_dbg需要满足两个条件:开启DEBUG调整printk日志级别下面介绍为什么需要这两个条件以及如何修改。开启DEBUG首先看下dev_...

2018-08-04 11:17:35 20372

翻译 译文:Regmap API -A Register Map Abstraction

本文从书籍Linux Device Drivers Development: Develop customized drivers for embedded Linux第九章翻译,翻译水平有限,谅解!在开发Regmap API之前,用于处理SPI核心、I2C核心或两者的设备驱动程序都有冗余代码。它们都有相同的原理:访问寄存器进行读/写操作。下图显示在将regmap引入内核之前SPI或i...

2018-08-03 12:33:22 1315

原创 RK3288启动卡在Android字样

SoC:RK3288 Platform:Android 5.1问题:系统启动卡在Android动画通过串口助手获取logcat日志:--------- beginning of crash06-05 09:17:26.406 E/AndroidRuntime( 4564): *** FATAL EXCEPTION IN SYSTEM PROCESS: main...

2018-08-02 15:58:53 1764

原创 native2ascii文件转码工具

问题:Source insight中文乱码这是由于Source insight默认是ANSI码,将文件通过native2ascii转为UTF-8码即可。脚本内容如下:@echo offset DIR=xxxfor /R %DIR% %%i in (*.cpp *.h *.c) do (echo %%iD:\java\jdk\bin\native2ascii -encoding ...

2018-08-02 15:49:31 329

原创 AL3220光感调试记录

本Markdown编辑器使用[StackEdit][6]修改而来,用它写博客,将会带来全新的体验哦:Soc:RK3288Platform:Android 5.1AL3220AL3220B有四个RANGE: Range TYP 时间 Range 1 33.28k 6.53ms Range 2 8,32k 7.53ms...

2018-07-31 20:34:23 4106 1

原创 RK平台LCD调试说明

前言LVDS调试dts实例screen_typelvds_formatclock-frequencyout-face其它参数EDP调试本篇博文使用Rockchip平台RK3288主控,向大家分享自己总结的Rockchip平台LCD调试的一些经验。Platform : Rockchip Soc : RK3288 System : Android 5....

2017-07-28 18:51:00 22117 5

原创 notify机制

notify机制 通知链技术可以概括为:事件的被通知者将事件发生时应该执行的操作通过函数指针方式保存在链表(通知链)中,然后当事件发生时通知者依次执行链表中每一个元素的回调函数完成通知。 一、notify定义struct notifier_block { notifier_fn_t notifier_call; //回调接口 struct notifier_bl

2017-06-08 14:26:14 4336

原创 U盘分区合并

USB Storage : SanDisk Extreme OS: Winodws 7 64bit问题: 之前在使用U盘制作linux镜像时,错误的操作导致U盘被分为两个分区,linux下挂载两个分区是OK的,但是在刷固件时始终不成功。而在windows下只能识别到一个分区,且该分区仅有8M大小(U盘为8G)。在windows下将U盘的两个分区进行合并为一个分区,并重新制作U盘。以下操作均在wi

2017-05-05 13:15:47 9849 3

原创 RK3288调试串口

RK3288更换调试串口为普通串口

2017-04-06 18:20:19 18056 3

原创 RK fb源码分析之SCREEN

RK平台fb源码分析之SCREEN---rk_screen.c才疏学浅,不吝赐教。

2017-03-23 12:21:18 2437 4

原创 脚本执行错误---binsh^M:损坏的解释器 没有那个文件或目录

在执行脚本时,弹出错误提示:/bin/sh^M:损坏的解释器: 没有那个文件或目录这是由于脚本文件在保存时使用了DOS文件格式造成的,可以用vim打开文件,然后执行下列操作::set ff=unix:wq在windows下面编辑脚本,经常会碰到各种各样的坑,因此不推荐在windows下编辑脚本文件。若使用UltraEdit,默认打开的文件编码格式是简体中文GBK,最好切换成utf8格式。 设置方

2017-03-01 12:58:11 9423 5

原创 Android5.1新增挂载目录支持多个U盘

SoC : RK3288 Platform : Android 5.1现状:开发板板载7个USB口(3路host),但是只能识别一路作为U盘挂载。 需求:支持三个U盘同时挂载一、问题集锦 1.U盘不能自动挂载 将U盘插入开发板,在资源管理器中打开USB存储器显示”USB已被卸载”,问题源于fstab分区文件:/devices/ff540000.usb /mnt/usb_storage vfa

2017-01-17 15:53:11 9208 7

原创 android分区挂载fstab

SoC : RK3288 Platform : Android 5.1本文简述android启动后分区是如何挂载,简述fstab的作用。一、fstab Android 5.1分区挂载配置文件:fstab.xxxx.xxxx,不同于android4.4(vold.fstab),在5.1后分区配置文件发生了变化。fstab定义如下:<src> <mount point> <filesyst

2017-01-17 14:58:09 21687 2

原创 RK平台UVC摄像头shell测试脚本

USB video class(又称为USB video device class or UVC)就是USB device class视频产品在不需要安装任何的驱动程序下即插即用,包括摄像头、数字摄影机、模拟视频转换器、电视卡及静态视频相机。SoC : RK3288 Platform : Android 5.1RK平台有自己的测试方法:在计算器中输入"83991906=",进入测试工程模式,选择C

2017-01-13 17:44:55 2322

原创 RK3288 Android5.1 4G模块调试总结

SoC:RK3288 4G chip:EC20 Platform:Android 5.1RK3288 Android5.1 4G模块调试

2016-09-23 19:19:41 16687 13

原创 ubuntu16.04 64bit编译android5.1错误

之前使用ubuntu12.04 64bit编译android时并没有出现较大的错误,将平台更换到16.04时编译出错,且该错误并不好查找,因此特意记录下来。unsupported reloc 43 //错误提示source_android代表你的android源码根目录1.修改cd <source_android>/art/build/vim Android.common_build.mk

2016-09-22 17:08:39 9122 1

原创 Android5.1开机LOGO与开机动画

android5.1中,开机LOGO部分和之前版本的并不相同,主要区别在于android LOGO显示部分。此博客所讲之处若有错误,敬请原谅,谢谢! 开机LOGO一般有两种:静态的和动态的,Android开机时共有三种LOGO(5.1之前可能算是4种吧)。 1. uboot显示 2. kernel显示 3. android开机动画 一般情况下将前两幅

2016-09-22 16:51:39 17884 2

原创 ubuntu SSH服务器登陆与上传

一、 服务器登陆 1.首先在ubuntu上安装ssh的服务器端sudo apt-get install openssh-server2.查看ssh服务是否启动sudo ps -e |grep ssh 看到这一行就说明ssh-server已经在运行了 3.在ubuntu客户端登陆ssh服务器sudo ssh -I root 123.456.789.000 //用户名:root IP地址:

2016-09-22 16:04:29 413

原创 解决Android 5.1物理键盘与软键盘的同时使用

在android 5.1系统中插入扫码枪物理设备后,软键盘无法弹出的问题。 在代码frameworks/base/services/core/java/com/android/server/wm/WindowManagerService.java中,如果把updateShowImeWithHardKeyboard()方法中的showImeWithHardKeyboard变量直接置为true,则可

2016-09-07 14:19:05 4857

原创 make otapackage错误:OSError [Error 2]No such file or directory

firefly-RK3288在执行make  otapackage的时候出现该错误,是由于drmsigntool的问题,其位于目录build/tools/drmsigntool/下,进入该目录,然后mm  -B,再回到源码根目录下 make otapackage即可。(注:mm命令可能需要在源码根目录下执行. build/envsetup.sh)另外,若SDK源码不是更新到最新的版本,可能会存在try缩进导致

2016-09-07 09:25:35 2924 3

原创 中断处理机制与工作队列

一、中断处理机制      中断是一个随机事件,因此如果关中断的时间过长,CPU就不能及时的响应其他的中断请求,从而造成中断的丢失。因此,Linux内核的目标就是尽可能快的处理完中断请求,尽可能的把更多的处理向后推迟。因此,内核把中断分为了两部分:上半部和下半部,上半部(就是中断服务程序),下半部(就是一些内核函数)留着稍后处理。首先,一个快速的”上半部”来处理硬件发出的请求,它必须在一个新的

2016-06-12 21:15:19 3547

原创 ft5x0x驱动分析

硬件:TINY4412软件:source insight 3.5 Tiny4412的触摸屏驱动是友善之臂已经写好的,为了学习并理解触摸屏驱动的框架,来分析下ft5x06_ts.c驱动文件。在Linux系统中,触摸屏驱动的流程如下:首先进行I2C设备的初始化,输入子系统设备的配置创建,中断、工作队列等的初始化,然后等待被触摸。如果有触摸事件,产生中断并调用中断处理函数,中断处理函

2016-06-12 21:11:01 6210

原创 Android系统移植(六)

一、APK源码示例/*监听按钮LED ON LED OFF 按下的时候文本改变 */package com.up;import android.app.Activity;import android.os.Bundle;import android.widget.TextView;import android.widget.Button;import android.vie

2016-02-18 10:29:17 959

原创 Android系统移植(五)

目的:Android系统中,用实现好的APK通过JNI接口去操作某个驱动节点,实现open,read.write,ioctl等操作!而在上一章节中我们已经写好一个驱动程序,它是控制LED的亮灭的,并且创建了一个设备节点:/dev/bunflyled,也就是通过 open这个设备节点,可以ioctl操作驱动程序实现LED灯的亮灭控制。那APK是如何调用到驱动程序进而实现LED的亮灭呢?

2016-02-18 10:05:31 848

原创 Android系统移植(四)

当Android4.2.2正常的运行在TINY4412上面后,我们就来写一个简单的APK来玩玩,那就用LED来做测试吧。正式开始之前先来简单的了解下一些基本概念:一、ADT ---->  AndroidDevelopment ToolKit  安卓开发工具扩展套件二、SDK ----> Software Development Kit    安卓软件开发工具包三、请区别清这几个名称:S

2016-02-17 20:56:05 1403

原创 Android系统移植(三)

上节当中只是简单的介绍了下系统镜像的制作过程,但是在这之前还需要更重要的两步:源码编译和内核编译。这两步的正确与否关乎Android能否正常运行。因此,下面来介绍源码编译和内核编译需要注意的问题.1. 源码编译a) .   setenv     中间有空隔,且必须执行这条  b) make 在源码编译过程中,a步骤必须执行,这是友善之臂提供的配置信息,若不执行会导致生成的文件缺失,

2016-02-17 20:54:34 2227

原创 Android系统移植(二)

一、启动镜像制作上一讲当中我们总结了,Android系统运行所需要的三大部分:bootlader,kernel和ramdisk.那我们怎么才能获得它们呢?接下来我们来看看怎么制作bootlader,kernel和ramdisk.Build bootloaderbootloder我们选用友善之臂提供的uboot_tiny4412a) 安装好toolchain (arm-linux-g

2016-02-05 09:20:47 3056

原创 Android系统移植(一)

摘要:移植Android4.2.2到TINY4412上

2016-01-27 13:27:16 12697

Linux Device Driver Development

作者:John Madieu 书名:Linux Device Driver Development : Develop customized drivers for embedded Linux 主要讲述内核驱动的一些经典机制

2018-08-03

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

TA关注的人

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