自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

撒哈拉的绿洲

菜鸟的成长路...

  • 博客(111)
  • 资源 (11)
  • 收藏
  • 关注

原创 VxWorks错误码查找表

458753 0x70001 S_dsmLib_UNKNOWN_INSTRUCTION  786433 0xc0001 S_ioLib_NO_DRIVER  786434 0xc0002 S_ioLib_UNKNOWN_REQUEST  786435 0xc0003 S_ioLib_DEVICE_ERROR  786436 0xc0004 S_ioLib_DEVICE_TIMEOUT  786437 0xc0005 S_ioLib_WRITE_PROTECTED  786438 0x

2020-11-19 20:22:06 4996 6

原创 FPGA引脚简介

一、 FPGA的硬件结构这里说的硬件结构主要从FPGA的引脚功能方面描述,FPGA内部的电路逻辑暂不讨论。FPGA的引脚大致可以分为三类:功能引脚、IO引脚、电源和接地引脚。1. 功能引脚FPGA的功能引脚包含了FPGA配置程序加载、FPGA配置模式选择、状态及错误提示、JTAG调试等等。DCLK、DATA0、NCONFIG、CONF_DONE这几个引脚是配置FPGA所必须的,DATA1~DATA7可以用作其他功能,INIT_DONE可以不使用。TDI、TDO、TMS、TCK四个脚是

2020-09-07 10:04:08 24857 1

原创 VxWorks调试备忘录

1. 系统出错打印出堆栈时,不一定是打印堆栈附近的代码报错了,有可能是前面代码报错了,然后随机延时了一段时间才把堆栈信 息打印出来了,需要加在前面代码中不断缩小范围排查;1. 中断处理例程里面不要使用memset去初始化数据结构,否则会导致系统卡死;2. 中断处理例程里面不要使用for循环去初始化数据结构,否则会导致系统卡死;...

2020-07-03 09:34:08 866 1

原创 PowerPC基础知识

1. PowerPC级别PowerPC 体系结构分为三个级别(或者说是“book”)。通过对体系结构以这种方式进行划分,为实现可以选择价格/性能比平衡的复杂性级别留出了空间,同时还保持了实现间的代码兼容性。Book I. 用户指令集体系结构定义了通用于所有 PowerPC 实现的用户指令和寄存器的基本集合。这些是非特权指令,为大多数程序所用。Book II. 虚拟环境体系结构定...

2019-11-14 16:32:12 6311

原创 VxWorks常用命令(备忘)

i 显示任务基本信息,参数为0时显示全部任务。ti 显示任务的TCB信息。d 显示目标地址内存内容。devs 列出目标机系统上的全部设备。version ...

2019-10-29 19:07:55 15253

原创 docker常用命令

安装dockerWget -qO- https://get.docker.com/ | sh添加非root用户到本地Docker Unix组当中Sudo usermod -aG docker andee查看docker版本Docker version 或者 docker --version查看docker系统信息Docker system info卸载当前doc...

2019-10-23 14:53:59 180

原创 VxWorks6.9初始化流程介绍

一、系统框架在讲初始化流程之前,我们先了解下VxWorks的三种映像类型。要搞清楚映像结构,需要先了解下VxWorks的内存空间分配。所以我们先从框架入手。1. 框架图2. 内存空间分配二、内核映像根据应用场合不同,vxworks映像可以分成三类:可加载的映像、基于ROM的映像和驻留ROM映像。1. 可加载的映像在RAM中运行,不包含搬移程序,需要借助一些...

2019-10-23 14:17:05 3700 6

原创 千兆以太网卡吞吐量和丢包率优化总结

现在有很多硬件平台理论上支持千兆以太网接口,但实际传输速率远远低于千兆,并且丢包率很高。最近我做了一些以太网吞吐量和丢包率方面的优化工作,有一些心得和大家分享一下。一、测试模型二、影响吞吐量和丢包率的因素1. 网卡DMA缓冲区大小 这个缓冲区决定tx ring buffer和rx ring buffer的大小,如果ring buffer太小,那么网卡缓存数据包的能力...

2019-10-08 09:30:22 9179

原创 Android8.1修改默认音量大小的方法

目前网上有一些关于修改系统默认音量大小的方法,比如修改AudioSystem.java的DEFAULT_STREAM_VOLUME:public static int[] DEFAULT_STREAM_VOLUME = new int[] {        4,  // STREAM_VOICE_CALL        7,  // STREAM_SYSTEM        5,  //...

2018-11-16 17:03:41 12813 3

原创 iwlwifi(AC9260)移植总结

因为项目需求,要将产品的wifi型号由AC8265升级为AC9260。我们当前项目平台的内核版本为3.9.109,而AC9260要求的最低内核版本为3.14.04。于是我下载了一个3.14的长期支持版本--3.14.79,准备基于这个版本把iwlwifi模块移植到3.9内核上。下面是移植过程中记录的一些细节:1. 相关文件:(1)9260的固件        iwlwifi-926...

2018-11-12 16:28:28 3072

原创 Android6.0设置开机启动默认横屏并兼顾自动旋转功能

       关于Android6.0开机默认横屏显示,网上有一些文章提到过,但是我仔细研究了下,要么不全,要么修改方式会引入新的问题。为了让开机强制横屏显示,并且又不影响sensor的屏幕自动旋转功能,我对旋转的修改方式做了很多尝试,最后终于找到了一种可行的方式。既保证开机启动的时候按照指定的方向显示logo和开机动画,又可以在打开自动旋转开关后,通过转动设备来自动旋转屏幕。具体做法如下:开...

2018-07-30 15:47:03 5461 1

原创 如何将GMS功能移植到Android系统中

1. 下载google全家桶www.opengapps.org    www.apkmirror.com选择适合你的平台架构下载2. 安装全家桶将全家桶解压,将Core目录下的apk预置到/system/priv-app目录中;修改device.mk,将配置文件,各种xml和jar拷贝到/system/etc或者/system/framework目录中;3. 注册google账号设置vpn网络,连...

2018-04-10 18:20:37 2267 23

原创 在Ubuntu16.04上搭建Android8.0编译环境

1. 安装AOSP编译工具sudo apt install git-core sudo apt install gnupg sudo apt install flexsudo apt install bisonsudo apt install gperfsudo apt install build-essentialsudo apt install curlsudo apt install lib...

2018-04-10 17:35:18 4827

原创 Android6.0如何将Super SU的root权限管理功能集成到系统源码里面

最近在研究如何将Super SU集成到系统源码中,使系统自带root权限管理功能。在此总结一下集成Super SU到Android源码中需要注意的几个要点:1. 设置selinux为disable或者permissive模式;2. 设置ro.secure = 0;3. 将superuser.apk预置到system/app目录下;4. 屏蔽掉安卓源码自带的google su的编

2017-12-12 16:58:25 5661

转载 Android Multimedia框架总结(八)Stagefright框架之AwesomePlayer及数据解析器

前言:前面一篇分析了mediaplayerservice及MediaPlayer中的CS模型,但是对于如何能把数据解析出来,渲染到最终的SurfaceView上显示,并且播放起来,我们依然还不得而知,从今天开始,就开始介绍多媒体框

2017-08-25 11:24:38 667

转载 Android Multimedia框架总结(七)C++中MediaPlayer的C/S架构补充及MediaService介绍

• C/S模型中的三角关系流程图• MediaPlayerService相关联的类图• MediaPlayerService的产生过程• MediaPlayerService添加服务过程• MediaPlayerService通过BinderDriver和MediaPlayer通信过程

2017-08-24 18:00:23 784

原创 Android显示模块如何使用软件渲染(非硬件加速)

自从Android系统引入了黄油计划以后,Android显示模块默认使用的是硬件加速渲染。硬件加速渲染的好处是图像刷新速度快,UI界面切换比较流畅。但是这种方式需要GPU的支持,因此需要硬件IC和内核显示子系统同时配合。       假如某款产品,不需要大屏、大分辨率显示,只需要Android系统的环境,那么这个时候完全没有必要使用GPU。既可以节省硬件成本,也可以减小产品开发难度,可以更灵活

2017-01-16 17:47:54 2641 1

原创 Android系统如何移植wpa_supplicant及wifi驱动

1.  将厂商提供的HAL代码复制到hardware目录下,并修改Makefile      例如:realteck、broadcom、ti、qcomm等。 2.  修改ANDROID_SDK /device///目录下的BoardConfig.mk,加入配置信息例如:BOARD_WIFI_VENDOR := realtekifeq ($(BOARD_WIFI_VENDOR

2017-01-16 16:27:25 10722 3

原创 Windows驱动 HCK测试方法及数字签名使用方法介绍

一、  HCK安装及使用方法介绍1.   安装环境要求      操作系统: Windows Server2008 R2英文版                     需要两台电脑,一台做测试服务器,另一台做测试机      网络要求:两台电脑必须都能连接internet,并同属一个局域网      地区语言:最好选择默认值,选择China会安装不上,默认值为US

2016-08-11 14:39:44 7332 7

原创 Ubuntu小知识(持续更新)

一、环境变量1、/etc/profile:在登录时,操作系统定制用户环境时使用的第一个文件,此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行。 2、/etc/environment:在登录时操作系统使用的第二个文件,系统在读取你自己的profile前,设置环境文件的环境变量。 3、~/.bash_profile:在登录时用到的第三个文件是.bash_pr

2016-06-07 10:06:13 4592 2

原创 GPIO模拟I2C demo

#define SCK_TIME                  2#define ACK_TIME                  3#define START_TIME              5 static void i2c_start(void)  {      gpio_direction_output(SDA, 1);     gpio_dire

2016-06-06 10:33:29 1893

原创 Android4.4 以太网和DHCP启动过程介绍

Android4.4已经加入了以太网的支持。现在对以太网的初始化流程、网络策略配置、dhcp交互过程等做一些简单的介绍。一、以太网启动流程1. 创建ConnectivityService    SystemServer.java    // networkmanagement、networkStats、networkPolicy已经提前创建好,并作为参数传入    connec

2016-05-19 12:59:35 12976 1

原创 Android4.4 增加屏幕旋转功能

由于Android4.4系统上去掉了ro.sf.hwrotation属性的支持,因为不能使用之前的方法进行屏幕旋转了。暂时没有找到相应的属性和后门,于是自己写了一个屏幕旋转的临时代码,后面找到更好的方法后再替换。具体代码如下: ~/framework/native/services/surfaceflinger/DisplayDevice.cppuint32_t DisplayDevi

2016-04-23 11:48:00 5079 27

原创 Android4.4 系统移植问题备忘

最近在基于Linux kernel 3.14的版本移植Android4.4系统,移植过程中遇到了很多问题,现在记录一下做个备忘:1. init.rc无法解析    由于Android4.4系统加强了文件安全的管理,对于启动配置文件增加写保护机制,将所有的rc文件和prop文件的权限设为644就没这个问题了。 2. 控制台无法获取root权限    由于系统启动时,conso

2016-04-21 17:44:31 2151

原创 usb总线系统介绍

一、特性和运作模式1. USB标准的四个版本:(1)USB1.0版本:          USB总线协议的第一个版本。(2)USB1.1版本:          此版本普及了USB总线协议,大多数硬件都采用了该版本的标准。(3)USB2.0版本:          此版本提升了USB总线的最大传输数率,由USB1.1的12Mb/s提高到了480Mb/s。(4)USB

2016-03-27 13:38:51 3306

原创 Android系统性能优化备忘

1. 采用JNI调用时,将耗时间的处理放到c/c++层来处理。 2. 有些能用文件操作的,尽量采用文件操作,文件操作的速度比数据库的操作要快10倍左右。 3. 访问网络的耗时操作启动一个新线程来做,而不要再UI线程来做。 4. 如果方法用不到成员变量,可以把方法申明为static,性能会提高到15%到20%。 5. 慎用异常,异常对性能不利。只要有异常被抛出,VM就

2016-03-25 14:17:42 1465

原创 Android Service Manager分析

Service Manager是android系统服务的管理者。系统中运行的服务程序首先应向Service Manager注册。当一个进程需要使用某个service,该进程需要首先通过Service Manager获取所需service的信息。用户、service manager与service的关系如下图所示:  一、 ServiceManager主要功能的实现

2016-03-25 10:58:24 3419

原创 Android显示系统框架原理介绍

1. android显示系统整体框架      最上面一层为应用程序,根据数据类型以及应用的不同可以分为几种。       第一种是最普通的应用,如 UI 界面的显示,这部分通常数据类型为 RGB 格式,数据无须再经过特殊的处理。该应用可以说遍布各个应用程序,几乎是实时存在的。一般是通过Open GL渲染到framebuffer然后通过lcd显示输出。   

2016-03-23 11:17:55 10414 3

原创 ANDROID系统启动流程分析

一、启动流程介绍 1. 硬件启动流程        由图可知,系统开机时按照确定的复位时序启动,然后执行bootloader,进入内核初始化操作,当内核初始化完毕后,便运行linux的第一个应用程序,即android系统的init。 2. android init 流程分析          Init流程的关键点在于分析*.rc文件,

2016-03-22 20:03:53 1788 1

原创 SurfaceFlinger简介

1. SurfaceFlinger背景知识        SurfaceFlinger 是一个独立的Service, 它接收所有Window的Surface作为输入,根据ZOrder, 透明度,大小,位置等参数,计算出每个Surface在最终合成图像中的位置,然后交由HWComposer或OpenGL生成最终的显示Buffer, 然后显示到特定的显示设备上。下面首先介绍下相关概念:

2016-03-22 14:53:44 19386 1

原创 如何通过网络连接进行ADB调试

大家在使用adb调试android系统时可能会遇到麻烦,比如usb端口只有一个,如果用作adb调试,就不能通过usb连接其它器件,或者usb端口不能使用时也没法进行adb调试。Android较新的版本(4.0及以后)已经支持网络连接adb了,只需按照如下步骤进行设置就可以进行网络adb调试。 1. 确保目标板和主机连接在同一局域网里面2. 使用netcfg查看网络状态,如果

2016-03-21 09:36:16 17512

原创 ADB运行框架原理解析

最近在3.14的内核上移植ADB驱动,顺便分析了下adb的运行机制和框架结构。下面以一张图来进行分析:完整的数据处理流程:1:PC端adb server发送cmd到小机端2:adbd(adb daemon)的output thread从/dev/android_usb读取到cmd并解析   (adbd和内核usb driver通过/dev/android_u

2016-03-20 11:23:05 8983 2

原创 如何在安卓系统上使用arm-linux-gdb调试内核

现在很多安卓平台都没有把gdb调试工具编译进去,因此需要我们自己安装交叉编译环境下的gdb工具。具体实现只需几步即可:1. 下载最新的arm-linux-gdb源码包    下载地址:http://download.csdn.net/detail/wlwl0071986/9462063     此版本的arm-linux-gdb为7.11版本,目前为最新版本 2. 解压、编

2016-03-15 15:04:22 2587

原创 基于Linux kernel 3.14版本移植安卓系统后触摸屏无法使用的问题

最近在自家的SOC上移植安卓系统,kernel版本使用3.14,android版本使用4.0.3。移植后发现触摸屏无法使用,而安卓输入子系统的源码是没有改过的。通过跟踪触摸屏上报事件的整个流程和机制发现,是因为触摸时间的时间格式和安卓系统使用的时间格式不兼容导致,由于上报的触摸事件时间戳太滞后,导致输入子系统没有及时收到应用程序的应答,导致系统产生了ANR。究其根本原因,发现是3.14

2016-03-12 11:20:03 2102

原创 Android本地层基础结构

1.本地层基础部分结构    Android软件系统中作为本地基础部分使用的,主要具有以下部分:    (1)C语言基础库:提供标准C库功能    (2)C语言工具库:Android特定的C语言工具    (3)init可执行程序:作为用户空间的第一个进程    (4)shell工具:提供用户调试功能    其中后三者均在Android源代码的system/core目录中,

2016-02-03 17:52:17 1569

原创 Android编译命令使用技巧

1. showcommands是一个有用的辅助目标,可以列出编译时详细执行的各个命令。    showcommands和编译目标结合使用,获得具体一个编译过程中执行的命令,然后可以在命令行单独运行这些命令。    例如,执行make installclean showcommands,会打印得到执行make installclean时需要执行的各个命令。2. 执行. build

2016-02-03 13:25:06 1282

原创 安卓系统如何开启和关闭插入耳机时弹出的保护听力对话框

Android系统在4.2及以后的版本里面增加了耳机音量保护功能,当插入耳机且音量增大到一定级别时,会弹出“音量过大会伤害听力”的对话框,如果不想在增加音量时弹出此对话框,可以在代码里面做如下修改:1. 调用AudioService.disableSafeMediaVolume()关闭对话框,调用setSafeMediaVolumeEnabled()打开对话框;2. 直接在Audi

2015-11-27 15:22:58 9600

原创 全志A20平台实现VGA和HDMI双屏同显

1)sys_config.fex中配置如下:配置VGA 1024x768输出disp_init_enable = 1disp_mode = 0screen0_output_type = 4screen0_output_mode = 4screen1_output_type = 1screen1_output_mode = 42)请把s

2015-11-26 10:47:31 7827

原创 Android移植Launcher

Launcher1.Launcher概述Android系统启动后,加载的第一个程序就是Launcher应用。 Launcher的构成:HomeScreen(workspace(AppWidget、WallPaper、LiveFolder、ShortCut))、HotSeats、AllApps/AllApplist:GridView这是launcher的主界面,里面有一些应用

2015-11-23 11:15:34 2624

原创 安卓开机界面修改

1. android开机动画显示原理开机时,系统自动检测在/system/media/目录或/data/local/目录有没有bootanimation.zip文件。如果有,这按照bootanimation.zip里面的png排列顺序依次显示开机图片,开起来就是动画效果;否则按照android默认的方式显示开机动画。android开机动画叫源码位于frameworks/base/cmd

2015-11-23 11:08:57 1650

ep4ce10引脚.xls

Altera Cyclone IV的FPGA引脚手册,里面详细描述了FPGA的各个引脚的默认功能。大家在调试的时候,可以对照标准的引脚定义和自己的引脚定义。可以方便软件模块定位问题。

2020-09-07

Cyclone IV 器件手册(中文-共二卷-带目录).pdf

Cyclone IV器件手册,里面详细描述了FPGA的内部逻辑结构和电气特性。对FPGA内部的组成部件和工作原理有详细的介绍,包括FPGA的配置方式等等。

2020-09-07

Freescale_P2020_ReferenceManual.pdf

这个是飞思卡尔P2020的参考手册,里面描述了内存映射、硬件控制器、寄存器map等硬件相关信息,可供在P2020平台上开发的小伙伴们查阅技术细节。

2019-11-02

VxWorks基础知识.rar

这里面介绍了Vxworks的操作系统框架和数据结构,以及系统运行机制。可以帮助大家熟悉VxWorks系统。

2019-10-29

arm-linux-gdb(v7.11)

本版本工具为最新的arm-linux-gdb调试工具,版本号为7.11。解压后安装即可使用,非常方便。

2016-03-15

Android双屏异显的工程代码

本工程代码描述了如何使用Android自带的API实现双屏异显的内容。

2015-09-18

RC522数据手册中文版

本手册为RFID RC522数据手册的中文版,讲解很详细,希望对大家有用!

2015-09-18

串口测试demo

本测试demo可以测试指定的串口,可以对串口进行参数设置、读写操作,可以实时监听串口收到的数据。作为串口开发的测试工具,非常的好用。使用于Linux平台和Android平台,解压后,执行make编译即可。也可以修改源码,指定串口端口。

2015-09-01

rtl8188eu无线网卡驱动(linux-kernel3.2)

适用操作系统:linux kernel 3.2,rtl8188eu的无线网卡驱动

2015-06-16

rtl8188eu无线网卡驱动

Linux下的rtl8188eu无线网卡驱动,支持linux kernel3.5

2015-06-16

高通平台debug工具介绍

高通平台常用debug工具介绍,里面有详细的操作步骤

2014-03-17

空空如也

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

TA关注的人

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