- 博客(28)
- 收藏
- 关注
原创 gpio驱动重构版,未优化,附上测试demo
最近应师傅要求重构了A64上的gpio驱动接口,由于明天就要离职了,还有一些bug来不及优化了,也没整理,先记录一下大体逻辑吧,有空再优化一下。目前已知的问题:1.核心问题也是最需要解决的问题,中断消抖,这块还是很不理想,无奈没时间调了,暂时也想不出更好的方案了。2.卸载驱动时时会有段错误,还未找到根源,不过这个好解决,有空先把消抖搞定吧。驱动代码:#inc
2017-07-20 13:55:07
406
原创 ioctl返回失败,驱动中ioctl没调问题解决
在移植A64 jni库时,遇到ioctl一直返回失败,驱动加打印证明根本没调到驱动ioctl方法,自己写个测试demo,证明ioctl控制是没问题的,经网络资源学习以及文件系统代码中加log,证明当跑测试demo时,文件系统默认调用了unlock_ioctl,跑jni库时却走了另一条路,在文件一级一级调用时就已经调到compat_ioctl了,而驱动中并没有注册compat_ioctl。说到这里,
2017-06-27 14:51:39
6987
1
原创 A20拨号功能解决
默认A20是没有启用拨号功能的,但是phone.apk又是编译并安装了的,在Launcher界面却又看不到apk图标,所以猜想:如果在AndroidManifest.xml注释了Launcher声明,就会达到这样的效果。寻着这个思路去../packages/phone/中的AndroidManifest.xml找了几个android.intent.action.MAIN声明,但就是有看到andro
2017-06-21 10:14:57
789
原创 Hi3518ev200 音频库demo问题:
demo:Sample_audio.c起初是一大堆奇奇怪怪的问题,多数原因是库加的不全。demo跑起来起初,无论如何无声音从喇叭输出,根据测试确实录到了pcm数据,因为用pc软件播放正常,后从硬件处看到电路图,得知左声道输出回环接到了右声道输入上,左输入声道接了mic,而喇叭接在了右输出通道上,据此猜测在左输出声道上是应该有声音的,只是被回环到右输入声道上了,将喇叭接在左输出声道上测试了下
2017-06-12 15:39:44
2678
原创 A20平台,重启路由器交换机后设备就上不了网了(以太网)
上不了网,原因很容易发现,重启路由之后没有分配到ip,故可断定dhcp出现了什么问题。复现问题并抓取log,得知路由器重新活动之后dhcp确实又调了一次,想要获取网络,但是上层在阻塞等待底层dhcp完成的时候,超时返回了。解决办法很简单,在它阻塞等待dhcp 返回的地方让它再调一次,dhcp应该就可以完成返回了。(在此说明,之所以会这样想是因为知道dhcp会耗费很长一段时间,就抱着测试的态
2017-06-12 14:51:06
1343
原创 Ctags简单安装及使用
Taglist插件下载地址:http://www.vim.org/scripts/script.php?script_id=273下载完之后解压到~/.vim/文件夹下Ctags下载地址:http://download.chinaunix.net/download.php?id=3567&ResourceID=1919下载完之后解压,运行Configure脚本,然后ma
2017-06-09 14:55:56
652
原创 取消A64 默认耳机模式
在audio hal代码中可以看到,hal模块初始化时确实将输出设备设定为喇叭模式,如红色部分:AUDIO_DEVICE_OUT_SPEAKERstatic int adev_open(const hw_module_t* module, const char* name, hw_device_t** device){struct sun
2017-06-06 15:48:42
1787
原创 camera中简易图像转换,图像压缩接口记录
格式转换,根据API名字可以看到是用于转成jpeg格式YuvImage yuv = new YuvImage(data, parameters.getPreviewFormat(), width, height, null);ByteArrayOutputStream out = new ByteArrayOutputStream();yuv.compressToJpeg(new Re
2017-05-11 17:27:07
280
原创 备战驱动面试笔试:资源来自于网络
对于见到的每个问题,先列出来,再搜索资源学习,最后总结为答案。1.linux中内核空间及用户空间的区别?用户空间与内核通信方式有哪些?答:
2017-04-13 14:59:28
1662
转载 多播demo
客户端:#include #include #include /* See NOTES */#include #include #include #include #define MCAST_PORT 8888#define MCAST_ADDR "224.0.0.101" /*一个局部连接多播地址,路由器不进行转发*/#define MCAST_I
2017-04-10 17:28:05
532
原创 (Linux平台)配置文件读写demo
很多函数是只有Linux平台有的,自知代码里面还有很多小bug,懒得优化,还望大神们多多指正,简单读写可以直接用,欢迎测试!#include #include #include #include #include #include /**********************************************************
2017-03-22 19:33:14
922
原创 udp--demo
#include #include #include #include #include #include #include #include #include#include#define serverBroadPort 9989struct dataOfBroadInit{ int broadFd; struct sockaddr_in ser
2017-03-16 14:10:02
643
转载 针对4.2.2的背光设置调用流程分析(转载)
原文地址:http://wenku.baidu.com/link?url=iIIvH7FKXsHjhxNGcLSrtHf-1FH7QJ2n7M_fCe0xE-7z0Xd-jOL9Bf3m8TjHtVaFjIa7wZKrPiPvJ0m0TWLJ7em1Lo-v0jtJKBjgi1K7R5y
2017-03-07 18:44:16
272
原创 {gpio驱动-》gpioHal-》gpioJni-》gpioService-》gpioTest}问题总结
a:ioctl出现的各种奇怪问题多数都在传参上 ,具体怎么传要根据情况变换,不能照搬拷贝,要特别注意ioctl用户空间和内核空间通信时的传参格式问题。b:关于64位编译系统遇到的一系列问题:1.该5.1版本中编译hal模块不能像4.x版本那样直接在 android/hardware/libhardware/modules/XX/ 下直接mm,z这样做会导致系统起不来,出现段错误等一系列奇
2017-03-06 11:28:19
745
原创 gpio驱动-》gpioHal-》gpioJni-》gpioService-》gpioTest
平台: A64 Android5.1第一部分:驱动#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #inclu
2017-03-06 11:05:20
800
原创 单独编译内核模块Makefile范例
PWD=$(shell pwd)KDIR := ../../linux-3.4ARCH := armCROSS_COMPILE := /usr/local/external-toolchain/bin/arm-linux-gnueabi- TARGE := gt216_ts.o gt216_test.oobj-m += $(TARGE)gt216-objs := gt216_ts.o
2017-02-17 09:39:35
596
原创 touch key gt216驱动架构记录
/* drivers/input/touchscreen/gt216_ts.c * * FocalTech TouchScreen driver in android 4.x. * * Copyright (c) 2010 Focal tech Ltd. * * This software is licensed under the terms of the GNU General
2017-02-17 09:34:54
1028
原创 android 下编译c文件为二进制Android.mk范例
LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE_TAGS := optionalLOCAL_MODULE := c_testLOCAL_SRC_FILES :=$(call all-subdir-c-files)include $(BUILD_EXECUTABLE)
2017-02-08 14:28:57
557
原创 A20 camera预览图像正常,拍照图像变灰蓝
yuv格式问题,在硬件抽象层源码中有段代码会判断:#ifdef _SUN7I_ org_fmt = V4L2_PIX_FMT_NV12;#elseorg_fmt = V4L2_PIX_FMT_NV21; #endif默认的这个__SUN7I__是没有定义的,所以走的格式为 NV21,定义此宏即可!亲试:CameraDebug.h 中添加#define _
2017-02-08 14:06:58
398
转载 笔记
adb 安装 1.设置好环境变量2.进入 cd /etc/udev/rules.d3.建立文件51-android.rules4.写入usb数据到文件中: UBSYSTEM=="usb",ATTRS{idVendor}=="1f3a",ATTRS{idProduct}=="1002",MOD
2017-02-08 13:53:08
753
原创 外部看门狗驱动模块支持-max706s
/* * max706s Watchdog: A Simple Hardware Watchdog Device * Based on Softdog driver by Alan Cox and PC Watchdog driver by Ken Hollis * * Author: Gergely Madarasz * * Copyright (c) 1999 ITC
2017-02-06 15:39:08
3605
原创 全志平台动态mac地址解决办法记录
代码路径:lichee\linux-3.4\drivers\net\ethernet\sunxi\emac\sunxi_emac.c 在此网口驱动中找到mac获取函数:wemac_get_macaddr()更改后的代码为:static void wemac_get_macaddr(wemac_board_info_t *db){struct net_device *ndev =
2017-01-14 09:43:18
3972
原创 mmap内核空间映射结合kfifo,poll机制的实现例子
平台: 全志A20 Android4.2.2 Linux4.4#include #include #include #include #include #include #include #include #include #include #include #include #include //定义virt_to_phys接口 #include //remap_pf
2016-12-20 17:52:31
855
原创 4.2.2源生bug
android\libcore\xml\src\main\java\org\kxml2\io\KXmlParser.java p1487-->limit>= positionandroid\frameworks\base\cmds\pm\src\com\android\commands\pm\Pm.java p785--> if(null==files){retur
2016-11-25 16:04:22
541
转载 binder机制,很不错的解析,值得收藏
原文地址: http://blog.youkuaiyun.com/boyupeng/article/details/47011383 Binder是Android系统进程间通信(IPC)方式之一。Linux已经拥有的进程间通信IPC手段包括(Internet Process Connection): 管道(Pipe)、信号(Signal)和跟踪(Trace)、插口(Socket)、报文队列
2016-11-03 14:17:55
720
原创 A20 android4.2.2开机自启以太网
android\frameworks\base\packages\SettingsProvider\res\values\default.xml文件中加上两句 true truetrueeth0android\frameworks\base\packages\SettingsProvider\src\com\android\providers\s
2016-10-20 15:41:09
1490
原创 查看android设备上的数据库信息
以settings.db为例C:\Documents and Settings\Administrator>adb shell# sqlite3 data/data/com.android.providers.settings/databases/settings.dbsqlite> .databasessqlite> .tablessqli
2016-10-20 15:35:02
593
原创 全志A20平台--OTA升级平台搭建笔记
以差分包升级为例(完整包升级方法类似),要完成一个差分包的在线升级必备条件有: 1.差分包制作 2.安卓apk工具支持 3.服务器搭建 平台:A20/Android4.2.2
2016-09-26 09:46:15
6151
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人