- 博客(92)
- 资源 (27)
- 收藏
- 关注
原创 s5pv210 android hdmi与LCD异步显示之fb2多线程操作驱动修改
一般情况能进行操作的只有fb0设备 虽然dev下有显示fb1-4的设备不能多个进程进行操作 如果某一个进程需要对fb1-4进行操作需要在应用程序中加上如下代码 ret = ioctl(lcd_fd, FBIOGET_VSCREENINFO, &var ); if( ret < 0 ){ printf( "ioctl FBIOGET_VSCREENINFO failed\n"); re
2015-07-23 18:25:19
2405
原创 s3c6410 摄像头图像镜像问题笔记
摄像头镜像的问题经常碰到 一直只是测试没有深入去研究 最近看了下 找到了v4l2下面的相关定义 首先上代码 这个是qt4上面用到的 struct v4l2_control vc; vc.id = V4L2_CID_VFLIP; vc.value = 0; /* Set up for rotation */ if (ioctl(fd, VIDIOC_
2015-06-05 14:31:23
3093
原创 linux 内核修改分辨率后出现的WARNING解决方法
将分辨率由800x480改为1280x800后 出现了如下警告[ 21.581886] ------------[ cut here ]------------[ 21.581907] WARNING: at mm/page_alloc.c:2121 __alloc_pages_nodemask+0x468/0x63c()[ 21.581914] Modules linke
2015-04-03 12:29:49
3704
原创 android4.0 物理键盘与软键盘同时使用修改
用android4.0做产品发现插了扫描枪之后软键盘不出现了,最开始以为是应用软件设置有问题,改了下发现不了,上网搜所了几个,改了软键盘是显示出来了,但是物理键盘不能用了。
2015-03-13 14:58:41
7087
3
原创 s5pv210 linux hdmi tv输出
原来本来说是不公开源码的 现在发现也没什么价值了 以下公布的源码支持linux3.0 linux2.6内核 linux3.1内核v4l2构架发生了变化 同时支持hdmi输出与tv输出 使用的板子是 斯道icool210源码是根据android里的libhdmi库进行整理的 这里是基于linux2.6.35内核测试成功/* * hidmitest.c * * hclydao *
2015-01-14 11:13:41
4319
原创 android4.0 hid插入提示
具体原理这里就不说了 我也没理顺 网上有很多文章都说的很清楚 这里我就直接上重点主要修改文件frameworks/base/service/java/com/android/server/usb/UsbService.javaframeworks/base/service/java/com/android/server/usb/UsbHostManager.java首先将Usb
2014-12-23 17:34:35
2670
原创 android4.0 U盘热插拔后挂载不上bug解决
这几天测试的时候发现个很奇怪的问题 如果将TF卡插到读卡里然后在插到板子上 热插拔后都可以挂载上 但是使用U盘只有第一次插上去的时候能挂载上 拔下来后 在插上就挂载不上了 驱动里可以识别到U盘已经插入 研究了MountService和Vold 最后通过查看/proc/mounts文件发现 U盘第一次插上后是正常挂载 但是拔掉后没有卸载 多么纠结的事件 主要涉及文件system/vold/Direc
2014-12-18 15:14:30
4116
原创 s5pv210 jpeg硬件编码
做qt摄像头程序的时候发现yuv转rgb然后显示 效果很不好 所以考虑转jpg后显示 但是使用libjpeg发现格式怎么设置都不对 之前在android上使用的函数拿过来都不能直接使用 所以还是研究硬编吧 这里使用的是广州斯道ICOOL210开发板 内核版本linux2.6.35前面的一些流程我就不上代码了标准的v4l2流程 格式设置为V4L2_PIX_FMT_YUYV即yuv422格式 宽
2014-12-02 16:23:39
2921
原创 android4.0.4 增加HDMI设置
最近到4412最基本的都调了 然后觉得没事做了 所以增加一个HDMI的设置 不能闲着以下使用的是广州斯道的icool210开发板 源码修改如下最开始我是先在设置里加上这些设置然后在去实现功能 这里就一起说了 之前android2.3里有HDMI设置所以这里就参照那个增加 首先修改Setting查看libhdmi库首先查看下hdmi能设置的格式 源码路径device/samsung/
2014-07-30 18:19:40
13720
1
原创 android4.0 USB Camera实例(六)ffmpeg mpeg编码
前面本来说是做h264编码的 研究了两天发现ffmpeg里的h264编码似乎是要信赖第三方库x264 还是怎么简单怎么来吧所以就整了个mpeg编码 ffmpeg移植前面我有一篇ffmpeg解码里已经给了 具体链接在这http://blog.csdn.net/hclydao/article/details/18546757怎么使用那里面也已经说了 这里主要是通过ffmpeg将yuv422格式转换...
2014-07-02 14:47:43
7721
6
原创 android4.0 USB Camera实例(五补充)jpg压缩
前一篇最后 我们说了一个直接将yuv转成jpg的函数 但是转换没有成功 原函数是yuv420转jpg的 研究了下发现yuv420隔行扫描的的序列是这样的YYYYYYYYUVUV而yuv422的隔行扫描的序列是这样的YU YV YU YV YU YV所以将函数作如下修改 static int put_jpeg_yuv420p_memory(unsigned ch...
2014-06-27 18:06:58
2971
1
原创 android4.0 USB Camera实例(五)jpg压缩
最近大部分时间都在研究usb 摄像头顺便把jpg编码也写上 下面大部分函数都是我在网上找的 然后稍微的改一点就可以使用了 不过找这些函数费了不少时间 jpg编码网上有很多说明 大致流程都是一样的 我也没深入研究这里就不说了 接前面几篇Camera的文章 这里主要同把获取到的yuv数据通过jpg压缩 以及压缩成mjpeg视频流 首先说明下摄像头获取到的数据格式是yuv422(p16) 这个是在你初始...
2014-06-27 17:02:36
3330
1
原创 android4.0 USB Camera实例(四)CMOS
上一篇说了下usb camera uvc标准的 顺便把CMOS做到一起 操作上基本一至 上一篇HAL层里我已经提供了CMOS的相关接口JNIEXPORT jint JNICALL Java_com_dao_usbcam_Fimcgzsd_yuvtorgb如果使用和UVC一样的处理 图像显示不出来 所以用另外一种方法 同时这里使用的是斯道ICOOL210开发板测试的 如果使用CMOS还需要修...
2014-06-13 14:24:13
3701
1
原创 android4.0 USB Camera实例(三)UVC
前面我写了两篇文章说明了zc301的实现 具体请看 http://blog.csdn.net/hclydao/article/details/21235919下面顺便把通用的USB也写上 前面的ZC301获取到的格式是JPEG的所以不用进行什么处理就可以用来显示,但是标准的UVC获取到的是YUV422格式的需要转换成RGB后才能进行显示 这里我们在前面两篇的代码稍作修改就可以了HAL层 ...
2014-06-12 16:38:24
25654
11
原创 S5PV210 u-boot LCD驱动 自动更新增加进度条
这里使用的是 ICOOL210开发板 之前我写过一篇2416的u-boot LCD驱动 具体请参照 http://blog.csdn.net/hclydao/article/details/17911747过程基本都是差不多这里实现的效果跟之前的2416的不一样主要是把之前的串口打印的信息显示在LCD上这样自动更新的时候会占用不少时间所以这里我去掉了这个功能在上面加了一个进度条具体
2014-06-11 17:07:50
3587
原创 android 4.0 USB Camera实例(二)应用层
上一篇说了HAL层 这一篇具体应用HAL层 实例预览与拍照的功能首先贴上两个主文件的源码Fimcgzsd.java package com.dao.usbcam;public class Fimcgzsd { static public native int open(byte[] devname); static public native int qbuf(int i...
2014-03-14 14:59:11
10532
7
原创 android4.0 USB Camera实例(一)JNI层
一直想自己写一个从JNI层到应用层的Camera例子,android4.0上usb camera用不了 所以决定自己写一个 usb camera和coms原理都是一样的 基本v4l2 只不过源码数据格式不一样而已 下面我们就从JNI层开始以下是我的代码,先上代码在 一步步说明fimcgzsd.c /* * Android USB Camera zc3xx Library *...
2014-03-14 14:47:03
22512
9
原创 Adnroid ffmpeg解码(二)bug修改
通过上一篇,程序基本是可以运行了,调试后发现很多问题,现在来慢慢解决1.jni修改解码后的长宽修改Decoding接口,修改为如下: JNIEXPORT jint JNICALL Java_com_dao_iclient_FfmpegIF_Decoding(JNIEnv * env, jclass obj,const jbyteArray pSrcData,const jint ...
2014-01-21 13:32:57
3268
原创 Android ffmpeg解码
最近弄了下android ffmpeg解码,下面把流程总结一下方便大家参考1.ffmpeg移植网上有一些关于ffmpeg移植的文章,试了很多次但是最后生成的libffmpeg.so就只有几KB所以这里换一种方式,网上也有文章说到了,其实我觉得这种方式反而要好一点,只需要生成一个库就行了。我修改好的ffmpeg下载地址:http://download.csdn.net/detail/hc...
2014-01-20 10:12:05
23006
8
原创 Android4.0.3 Launcher应用程序图标放置区域修改
最开始不知道中间那块区域叫什么,只知道Lancher中间那块操作的地方叫做workspace 上网查了后 发现滑动的时候是CellLayout在进行切换,android4.0默认的CellLayout的区域如图:基本上已经把整个workspace全占了,同时有的应用程序安装运行后会自动生成桌面快捷方式,而且是生成在桌面左上角,如果不对CellLayout进行修改,生成的桌面快捷方式很可能只
2014-01-07 15:11:25
3345
转载 lcd fb参数如何计算
本文参考了:http://www.linuxidc.com/Linux/2011-01/31800.htm感谢该文的作者。Linux内核的amba lcd控制器使用clcd_panel结构体表示一个LCD屏的硬件参数:/* include/linux/fb.h */struct fb_videomode { const char *name; /* optiona
2014-01-06 17:27:08
1343
原创 s3c2416 u-boot增加LCD驱动(二)
接上一篇所说的 显示背景logo后 u-boot无法运行下去了,修改方法如下:修改include/lcd.h中的#define LCD_FRAMEBUFFER_ADDR (TEXT_BASE - 0x200000) 修改为#define LCD_FRAMEBUFFER_ADDR (TEXT_BASE - 0x1f0000) 然后在读取logo到0xc3c
2014-01-06 14:21:56
1713
原创 s3c2416 u-boot增加LCD驱动
这里使用的是广州斯道的icool2416开发板 u-boot版本1.3.4主要增加LCD驱动 同时增加LCD与串口同步输出修改如下:在drivers/video(以u-boot源码为要目录)目录下增加以下文件gzsd2416-lcd.c和gzsd2416-lcd.h内容如下:gzsd2416-lcd.c
2014-01-06 10:43:07
5669
转载 Linux设备驱动之USB hub驱动(续)
5.2.2:接口驱动中的hub_thread()函数我们之前在分析usb_hub_init()的代码的时候,忽略掉了一部份.代码片段如下所示:int usb_hub_init(void){ …… khubd_task = kthread_run(hub_thread, NULL, "khubd"); ……}Kthread_run()是kernel
2013-12-10 09:55:27
3558
原创 s3c2416解决无法下载大于60M文件系统(二)USB下载
前面写了一篇从TF卡下载解决无法下载大于60M文件系统的,这两天把USB下载也改了下。主要修改文件如下:common/cmd_usbd.ccpu/s3c24xx/usbd-hs.hcpu/s3c24xx/usbd-ctl-hs.c首先增加文件大小变量在usbd-hs.h里增加:extern unsigned int gzsd_read_size;在cmd_usbd.c里
2013-11-29 13:48:40
2447
原创 s3c2416解决无法下载大于60M文件系统
硬件配制内存64M,nandflash 128M,我的u-boot版本为1.3.4由于内存太小,无法下载大于60M的文件系统,我这里说下如何从TF更新大于60M的文件系统。首先从TF卡 启动更新系统你需要移植fat,mmc相关支持,这里我已经移植好了具体过程我就不说了.这些移植完成后。最开始是可以使用如下命令进行更新的:fatload mmc 0 0xc0000000 /gzsd/
2013-11-26 13:32:11
2745
转载 解决android4.0 触摸屏分辨率映射不准
转载自:http://blog.csdn.net/a181622974/article/details/8192334前言 几个月以前升级了android4.0,在触摸屏这块一直有个令人头疼的问题,通常触摸屏的分辨率应该是根据当前屏幕分辨率而定。但android4.0上就有点奇怪,不管怎么换屏幕的分辨率,触摸屏始终有不准的情况。最近着手研究了这块,通过修改input
2013-11-19 14:06:54
5540
原创 QT4.7隐藏鼠标指针
在qt源码下的src/gui/embedded/qwscursor_qws.h中加入#define QT_NO_QWS_CURSOR1qt编译加上linuxinput去掉tslib加入编译选项:-no-mouse-tslib -qt-mouse-pc -no-mouse-linuxtp -qt-mouse-linuxinput适合电容屏运行的时候加入环境变量export Q
2013-11-14 11:34:20
1525
原创 Android红外摇控与remote.conf
这几天在研究Amlogic的红外摇控,主要涉及到/system/etc/remote.conf和/system/usr/keylayout/Vendor_0001_Product_0001.kl这两个文件,其实一般情况下只需要修改/system/etc/remote.conf这个文件就可以了,下面我们来介绍下remote.conf怎么修改.换摇控之后,你按键会出现这样的打印信息:[ 72
2013-11-04 10:44:40
13774
原创 android串口键盘简例
这个类似如串口键盘,不过只实现了一些键值,因为这个项目只用到这些。原理:首先开启一个服务循环读取串口的数据,然后将串口读到的数据,写给驱动,驱动在判断是什么键值,然后进行上报。上层服务源码如下:#include #include #include #include #include #include #include #include #include #includ
2013-10-17 18:05:16
3382
原创 s5pv210与stm32 spi通信
spi通信不支持从设备主动给主设备发送数据,所以我把spi的用户空间驱动改了一下,实现过程是这样的,用一个中断来响应从设备的要求,即当STM32要主动给主设备发送数据的时候,将中断脚拉低,用户空间检测到中断后,主动给STM32发送一个空数据,这样spi就能读到STM32所要发送的数据了。SPI通信发数据与接数据是同时进行的,这个大家可以看下SPI协议。以下我我修改的用户空间的驱动:/*
2013-10-17 17:53:14
4530
1
原创 android2.3电池驱动优化
android2.3内核版本2.6.35.7,内核中已经自带了电池驱动,做项目是不能用的,下面是我修改过后的驱动源码:/** linux/drivers/power/s3c_fake_battery.c** Battery measurement code for S3C platform.** based on palmtx_battery.c** Copyright (C
2013-10-17 16:31:24
2032
原创 android4.0 FaceDetection笔记
这几天研究了下andoid4.0.3的FaceDetection这里写一下大致的流程,方便日后查阅。相关说明可以在这里找到:frameworks/base/docs/html/guide/topics/media/camera.jd起始代码可以在camera.jd里找到也可以在packages/apps/Camera/src/com/android/camera/Camera.ja
2013-10-08 18:34:38
7032
原创 S3C2416 LCD裸机配制
最近在调S3C2416的裸机驱动,下面将LCD部分贴出来,供大家参考文件名:lcd.c背光控制:TOUT0,这里是直接用IO控制了。这里使用的是7寸屏800*480显存地址:0x33b00000图片文件是用Image2Lcd工具生成的,色彩16位. #include "include.h"#define CFG_HIGH 1#define CFG_LOW
2013-09-29 12:25:44
3272
原创 s3c2416 3.5寸屏ili9486 BT035H驱动
这个型号的屏原来在6410上调过,昨天在2416上重新调了一次,把驱动贴上来给大家参考一上.这个是IO模拟SPI的屏,用到了LCD的信号线VD0,VD1,VD8,VD9,请在LCD初始化的时候不要把这几个初始化成LCD数据线。文件名:gzsd_ili9486.c内容如下:/* * drivers/video/samsung/gzsd_ili9486.c * * $Id: gz
2013-09-29 12:12:22
7384
原创 将s3c2416配制成路由器
这里我们使用的是rtl8192cu模块首先去Realtek下载驱动与工具包RTL8188C_8192C_USB_linux_v3.4.4_4749.20121105,也可以去这下载点击打开链接。hostapd移植解压后里面有一个driver文件夹,这里面是驱动,然后还有一个是wpa_supplicant_hostapd文件夹,这里面是wpa和hostapd工具,驱动的移植这里就不作说明
2013-09-02 10:10:45
3463
原创 s3c6410 linux gadget hid驱动
s3c6410 linux gadget hid驱动调了我一个多星期了今天终于搞定了,来跟大家分享下.上一个星期纠结了一个星期的寄存器,试了N次,不管把3.1和3.7的hid驱动移植过来也是一样的情况,所以这星期直接从问题本身着手一个个找,一个个对比,终于解决了。我用的内核是linux2.6.38的,最开始的时候开发板是可以当U盘用的,而使用hid功能的时候出现如下问题:g_hid g
2013-07-09 18:36:27
4194
2
原创 Android 启动过程logo修改
这里我们是在ubuntu下进行操作我是用root用户登陆的,首先安装netpbm库执行:apt-get install netpbm对于Android系统最开始显示logo是在内核当中,所以首先我们要修改内核中的logo.一.内核中相关修改编译linux内核logo制作脚本mklogo.sh,内容如下:#!/bin/shpngtopnm logo.png > linuxl
2013-05-20 15:33:16
1873
andorid4.4 ethernet
2016-03-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅