
linux
大妞
这个作者很懒,什么都没留下…
展开
-
低内存管理lower memory killer
在开发过程中发现,经过长时间运行的系统,会发生c层service重启的情况。如果service重启了,一般就是内存泄漏或者指针错误。经过使用dumpsys meminfo查看发现经过一段时间,这个内存是不断增加的,就判断发生了oom现象。通过这个命令,可以查看内存oom_adj临界值: cat /sys/module/lowmemorykiller/parameters/adj原创 2014-12-04 10:28:37 · 1994 阅读 · 0 评论 -
android4.0增加遥控器按键步骤<2>
上次总结的不大对,驱动可以响应遥控器,但是上层收不到按键。使用adb shell input keyevent 的方式发送按键,是可以获取到的。也就是说从驱动到上面映射的过程中有个通路断掉了。进入机顶盒,查看system/usr/keylayout/ 有个kl文件,说明从驱动到kl 是正确的。上网查,在framework/base/include/ui下面有个Keycod原创 2013-07-26 13:33:19 · 705 阅读 · 0 评论 -
android4.0增加遥控器按键步骤
1、ir_keyboard.h增加物理键值。 遥控器的物理键值可以通过在IR_Keypad_IntIsr函数里面(ir_keyboard.c) 打印IR_Keypad_GetValue的返回值,这个地方属于内核打印,直接使用printk打印不出来,需要提高级别 printk("0""print str");这样就能够打印出来了。2、在ir_keyboa原创 2013-07-25 15:33:20 · 4063 阅读 · 4 评论 -
遥控器待机键的添加
上个文章说了如何添加遥控器按键遥控器有个特色按键,待机键,使用上篇文章在应用启动之后可以响应待机键,但是却不能唤醒。在 driver/hisilicon/godbox/driver/sdk/msp/ecs/drv_c51.c 里面修改了irVallow这个数组,这个数组最大允许增加5个待机唤醒键。添加上,编译驱动,将编译出来的hi_c51.ko 加载到系统上即可。c51是个单片机,原创 2013-07-25 16:57:32 · 2622 阅读 · 0 评论 -
android4.0添加遥控器按键整理篇
1、ir_keyboard.h增加物理键值。http://blog.youkuaiyun.com/zvivi521/article/details/94693672、ir_keyboard.c数组里面Key_Code ,增加物理键值以及linux/input.h 对应关系表。如果input.h里面没有你需要的,可以自己定义。 为了更改方便,新增的按键,我定义到了ir_keyboard.h里面了原创 2013-07-31 10:04:39 · 2033 阅读 · 0 评论 -
遥控器需要修改keycodelabels.h
我以为这个文件没有用,在keylayoutmap时候会用到E/KeyLayoutMap( 1382): //system/usr/keylayout/Vendor_0001_Product_0001.kl:405: Expected key code label, got 'uRECALLq'.I/EventHub( 1382): New device: id=3, fd=103,原创 2013-07-31 09:27:16 · 3055 阅读 · 0 评论 -
linux命令好薄弱记录一下
删除目标文件夹下某一个文件夹,比如.svn目录cp -a hisense/src_files/ping hardware/find hardware/ping -name ".svn" |xargs rm -rf原创 2013-07-24 13:49:27 · 544 阅读 · 0 评论 -
按键映射位置
find -name *.kl./frameworks/base/data/keyboards/Vendor_046d_Product_c299.kl./frameworks/base/data/keyboards/Vendor_046d_Product_c294.kl./frameworks/base/data/keyboards/Vendor_046d_Product_c532.k原创 2013-07-30 09:47:55 · 1698 阅读 · 0 评论 -
kcm文件(不知道干啥用的)
find -name *.kcm./frameworks/base/data/keyboards/Virtual.kcm./frameworks/base/data/keyboards/qwerty.kcm./frameworks/base/data/keyboards/qwerty2.kcm./frameworks/base/data/keyboards/Generic.kcm原创 2013-07-30 09:56:13 · 2202 阅读 · 0 评论 -
按键配置文件位置
find -name *.idc./frameworks/base/data/keyboards/qwerty2.idc./frameworks/base/data/keyboards/qwerty.idc./out/target/product/godbox/system/usr/idc/qwerty2.idc./out/target/product/godbox/system/原创 2013-07-30 09:47:00 · 1006 阅读 · 0 评论 -
mount -t yaffs2 /dev/block/mtdblock7 /mnt
挂载一个新分区到mnt下,出现错误。但是在之前的nand flash上, 执行是ok的,原来的flash 128k block,7分区10M现在的flash 1M block 7分区6M,执行不是ok的,扩大分区后成功。要存储一些必要的信息,不能太小了。改成100M就ok了。原创 2013-07-04 14:08:27 · 3008 阅读 · 0 评论 -
init: sys_prop: permission denied uid:1000 name:app.is.3d
在init里面增加了ro属性的设置后出现这个打印,并且system启动不了了。看样子是权限的问题,之前设置的是AID_SYSTEM的权限,现在改成AID_APP测试一下看看。还是不行。前面也有错误,service flash_recovery /system/etc/install-recovery.sh执行不了cannot find '/system/etc/install-reco原创 2013-07-19 16:12:14 · 3402 阅读 · 0 评论 -
android kernel 启动的init加打印
system/core/include/curtils/klog.h#define KLOG_DEFAULT_LEVEL 7 /* messages 默认是3,但是ERROR,log.h文件打印没有打印出来,改成7就ok了,发布的时候记得修改过来cat /proc/sys/kernel/printk如果想什么都打印出来,就echo 8 > /proc/sys/原创 2013-07-01 09:59:45 · 2287 阅读 · 0 评论 -
error: format not a string literal and no format arguments
android 上编译sprintf((char *)param[j],(char *)argv[j]);出现如题目错误,修改为sprintf((char *)param[j],"%s",(char *)argv[j]);问题解决了。原因不明了原创 2013-07-11 16:51:20 · 2156 阅读 · 1 评论 -
使用adb shell命令发送按键
http://blog.chinaunix.net/uid-20665441-id-1970589.html使用Adb shell command直接送key event給Androidadb shell input keyevent 7 # for key '0'adb shell input keyevent 8 # for key '1'翻译 2013-07-26 10:01:34 · 2983 阅读 · 0 评论 -
android init里面集成nand命令
1、从网上下载了mtd-utils源码2、集成需要擦,写,读 使用文件nand_write.c ,nand_dump.c, flash_erase.c3、因为这些命令是命令行下运行的。 在传递argv的时候耗时很久。 int nand_dump(int argc, char * const argv[]) 以nand_dump为例,参数传递方法如下原创 2013-08-02 14:37:44 · 589 阅读 · 0 评论 -
android 平台自定义可读写的ro属性
1、将flash作为一个媒介,进行这些属性的存储2、上次集成了nand的一些命令,通过这些命令,我们可以从flash里面将数据读取出来3、通过一系列的解析操作,将数据整理成我们可操作的内存结构4、如果设置了一个自定义的ro属性值,则使用nand_write命令写入flash进行保存,并保存到属性区域 能够使用getprop 和setprop进行读取和设置原创 2013-08-02 14:43:34 · 2480 阅读 · 0 评论 -
Android 框架之创建设备节点文件
Android 与linux一样使用设备驱动来访问硬件设备,设备节点文件是设备驱动的逻辑文件,应用程序使用设备节点文件来访问设备驱动程序,linux使用mknod来创建设备节点文件,Android 有自己法子。Android 使用Init 进程来创建设备节点文件,分两种情况:静态节点文件和动态节点文件,以应对已经定义好的冷插拔和系统运行起来后插入的热插拔设备。对于冷插拔设备转载 2014-09-29 10:38:28 · 671 阅读 · 0 评论 -
struct pollfd
int poll (struct pollfd *fds, size_t nfds , int timeout);struct pollfd {int fd; /* 文件描述符 */short events; /* 等待的事件 */short revents; /* 实际发生了的事件 */};#include int poll(struct po转载 2014-09-28 17:14:16 · 525 阅读 · 0 评论 -
poll 函数
# include sys/ poll. h> int poll ( struct pollfd * fds, unsigned int nfds, int timeout) ; 和 select()不一样,poll()没有使用低效 的三个基于位的文件描述符set,而是采用了一个单独的结构体pollfd数组,由fds指针指向这个组 。pollfd结构体定义如下:#转载 2014-09-28 17:14:12 · 443 阅读 · 0 评论 -
linux 查找命令
老是记不住,备份一下find / -type f -name "*.log" | xargs grep "ERROR"原创 2013-11-22 16:13:10 · 445 阅读 · 0 评论 -
android ndk9 编译第三方so库
因为不了解,做个备份。希望以后通过学习能够明白。在开发过程中,遇到这样的问题。使用第三方提供的so动态库,去实现jni。结果放到系统之后,出现 E/dalvikvm( 1986): dlopen("/system/lib/libadvcactit_jni.so") failed: Cannot load library: soinfo_link_image(linker.cpp原创 2013-09-26 14:06:02 · 4425 阅读 · 2 评论 -
init.rc翻译
每次看init.rc都看不懂。索性翻译一下。给自己个备份。翻译的是system/core/init/readme.txtAndroid Init Language---------------------The Android Init Language consists of four broad classes of statements,which are翻译 2013-09-24 18:22:20 · 783 阅读 · 0 评论 -
gcc linux服务器编译运行
例子test.cint main(void){ char qq[41]; printf("sizeof[qq] = %d\n",sizeof(qq));}linux gcc :gcc test.c -o test执行: ./test打印如下: ./testsizeof[qq] = 41原创 2013-09-03 10:48:34 · 529 阅读 · 0 评论 -
hi_keypad.ko编译
需要sdk下执行make mpi.mk -jmm -j原创 2013-07-30 16:45:22 · 744 阅读 · 0 评论 -
linux 根目录的来由
http://blog.chinaunix.net/uid-20554258-id-2815914.html用linux,有这样一个疑问:要访问一个文件就得先访问一个目录,才能根据文件名从目录中找到该文件的目录项,进而找到i节点;可是目录本身也是文件,它本身的目录项又在另一个目录项中,这样一来不是成了 “先有鸡还是先有蛋”的问题,或者是递归了吗?这个圈子的出口在哪里呢? 答案是转载 2013-08-07 10:15:19 · 772 阅读 · 0 评论 -
linux下文件read only file system
最近修改init进程,在创建文件的时候,提示read only file system.就使用了mount命令重新挂载了一下,mount("/","/",NULL,MS_REMOUNT,0);这样我就能够进行文件操作了,创建、读写、删除文件。为了不影响别的功能,我想在执行mount("/","/",NULL,MS_RDONLY,0);给改回去。但是这个情况下,会不会把已经修改了权限原创 2013-08-07 10:29:57 · 4994 阅读 · 0 评论 -
framework 下的api在frameworks/base/api/这个路径下
frameworks/base/api/15.txt原创 2013-07-29 13:11:31 · 1811 阅读 · 0 评论 -
init: property_set name system.onLowMemory
在system/init里面集成了一部分东西,导致这个错误老是打印。不知道android上内存这块是怎么分配的?原创 2013-08-02 14:47:03 · 603 阅读 · 0 评论 -
android4.0增加遥控器按键<3>
system/core/rootdir/Android.mk:42: warning: ignoring old commands for target `out/target/product/godbox/root/init.rc'Docs droiddoc: out/target/common/docs/doc-comment-checkChecking API: checkapi-l原创 2013-07-26 15:40:35 · 614 阅读 · 1 评论 -
DHCP request error:Timed out waiting for dhcpcd to start
[init.svc.dhcpcd_eth0]: [stopped]I/ServiceManager( 2040): Waiting for service android.tvs.daemon...D/NetUtils( 1412): android_net_utils_runDhcpCommon, result:-1E/EthernetDataTracker( 1412):原创 2013-06-25 09:15:59 · 5075 阅读 · 3 评论 -
更换kernel 或者重新编译init后,注意[init.svc.dhcpcd_eth0]: [running]
注意这个变量是否是running状态有人建议更改init.rc手动启动这个服务1. on property:init.svc.dhcpcd_eth0=stopped2. start dhcpcd_eth03. 4. service dhcpcd_eth0 /system/bin/dhcpcd -ABKL -f /system/etc/dhcpcd/d原创 2013-06-25 09:57:04 · 3236 阅读 · 2 评论 -
DHCP协议、报文,dhcpcd分析
http://blog.youkuaiyun.com/haomcu/article/details/8313926第一部分 DHCP工作过程DHCP的工作过程主要分为以下六个阶段: 发现阶段,即DHCP客户端寻找DHCP服务器的阶段。DHCP客户端首先以广播方式发送DHCP DISCOVER发现信息来寻找DHCP服务器(因为DHCP服务器的IP地址对于客户端来说是未知的),即客转载 2013-06-25 09:34:16 · 2336 阅读 · 3 评论 -
ubuntu上samba服务器搭建
sudo apt-get install sambasudo apt-get install smbfs备份现有的配置文件 cp /etc/samba/smb.conf smb.conf.bk在smb.conf 文件最后添加[share]path = /home/phinecos/shareavailable = yesbrowsealbe = y原创 2013-06-13 17:54:48 · 434 阅读 · 0 评论 -
Ubuntu 12.04 编译Android 4.0.3 的环境配置
http://www.linuxidc.com/Linux/2012-11/73918.htm[日期:2012-11-10]来源:Linux社区 作者:lylianlll[字体:大 中 小] 本来不喜欢写博客的,在Ubuntu 12.04 下编译了Android 4.0.3发现了一大堆错误,网上找了一堆的更改源码啊,Android.mk的解决方法,转载 2013-06-14 09:23:39 · 632 阅读 · 3 评论 -
ubuntu android 找不到arm-hisiv200-linux-gcc解决办法
env 查看path,确实不包含这个路径如何修改呢,/etc/profile 原来之前export PATH="/home/tar:$PATH"没写对,改成export PATH=/home/tar:$PATH重启虚拟机,怎么重启还是原来的啊,还是没加上呢。怎么回事,看来还是没加对啊继续修改,用个变量设置为/home/tar路径,PATH = .:$toolchain:$PAT原创 2013-06-13 17:27:56 · 3379 阅读 · 0 评论 -
ubuntu 12.04上面安装java jdk
记得之前把虚拟机弄好了啊,怎么执行java -version又不行了呢。sudo apt-get install sun-java6-jre执行出现Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable)E: Unable to lock the administratio原创 2013-06-13 13:32:17 · 545 阅读 · 0 评论 -
注意使用 /proc文件
/proc文件夹下有好多信息像是bootargs 在/proc/cmdline在/proc/msp/adec00 vdec00 可以查看解码器信息/proc/devices 可以查看设备信息/proc/version 可以查看linux版本号 gcc版本信息。原创 2013-06-09 17:37:48 · 543 阅读 · 0 评论 -
linux inotify研究5
上次监测/dev目录,只有在鼠标插拔的时候,event0文件属性才会发生变化,移动鼠标、按键都是没有反应的,这是为什么呢?Linux 中的设备有2种类型:字符设备(无缓冲且只能顺序存取)、块设备(有缓冲且可以随机存取)。每个字符设备和块设备都必须有主、次设备号,主设备号相同的设备是同类设备(使用同一个驱动程序)。这些设备中,有些设备是对实际存在的物理硬件的抽象,而有些设备则是内核自身提供的功能原创 2012-08-28 14:45:12 · 540 阅读 · 0 评论 -
linux inotify解析3
仔细查看,无论如何操作,event0文件都没有变化,难道内核有问题?没有将这个文件修改?烧成之前的内核,event0也是没有变化的,这是为什么呢?昨天做过这样的测试,监测一个文件,我在windows下,不停地修改这个文件,结果开发板也没用得到modify的消息。eventX代表的是所有输入设备(input核心)的事件,比如按键按下,或者鼠标移动,或者游戏遥控器等等,原创 2012-08-24 16:22:26 · 542 阅读 · 0 评论