- 博客(66)
- 资源 (5)
- 问答 (1)
- 收藏
- 关注
转载 Android与物联网设备通信:网络模型分层
这一层的主要目标是控制数据链路的物理参数和逻辑参数,以确保可靠的数据传输。在Android与物联网设备通信中,数据链路层涉及对数据的封装和解封装操作,以便在物理介质上传输。传输层负责数据的分段、传输和重组。在Android与物联网设备通信中,传输层负责将数据分割成较小的包,并通过适当的协议(如TCP或UDP)进行传输。例如,JSON和XML是常见的表示层协议,用于在Android应用程序和物联网设备之间传递数据。在Android与物联网设备通信中,物理层涉及通信接口的电气和机械特性,以确保信号的正确传输。
2024-06-03 17:57:32
106
转载 电池SOC的估算方法与流程
但是edv点对应的电量还是比较低,实际应用时也不容易达到,因此有电量计厂家就提出了一种利用电池使用过程中静置时读取电池电压作为电池ocv(open circuit voltage,指的是电池的开路电压,即电池不放电/充电,开路时电池两极之间的电位差),采用电池ocv对库仑计累计误差进行校准,这个方式不需要电池低电或者充满即可对库仑计进行校准,更大几率消除了累计误差的出现。
2023-09-27 09:48:06
697
转载 开发新产品的三个验证阶段(EVT/DVT/PVT)
测试得出的结论,是大规模生产的重要基础,包括工序是否太复杂,工具是否足够等Design for Manufacturering Fact的考量。这一阶段主要验证整机功能的完整性和设计的正确性,并可作出结论,这个产品可以拿去生产了。因为生产意味着更大的投入,所以,这将是最后的查错机会,你需要把设计和制造的问题全部考虑过。通常,如果是新平台,需要花的时间和精力可能更多,会有很多问题要解决,甚至有很多方案要对比;或者说设计可行性的验证。这一阶段,处理对象应该是设计完成的产品,也就是设计的验证工作可以告一段落。
2022-12-23 14:23:04
2339
转载 静态变量与多进程
但是, 当父子进程中的一方对静态变量(其实不只是静态变量,任何内存中的东西都是这样)进行写入操作时,就会触发写时复制机制,这个变量将在子进程中产生一个新的空间来存放,于是变量不再共享。同时由于fork时按页复制数据太耗时,于是子进程在刚被fork出来的时候,读取的其实是父进程中的内存数据(所以,这时候也可以说静态变量是共享的)所以,父进程和子进程中的变量是不可以被共享的,在程序员和进程的角度来看,每个进程的内存空间都是属于它自己的。首先我们先回顾子进程的诞生和其运行原理。
2022-08-23 11:11:19
966
转载 Android CallStack
在Android代码中可以通过了解函数的CallStack加速调试和分析过程,本文说明如何在Android运行时加入CallStack及Android P上的注意点。Java 12 import android.util.Log; Log.d("yourTag", Log.getStackTraceString(new Exception())); C++ 1234 #include <utils/
2021-08-12 13:05:53
1010
转载 avformat_open_input 阻塞 and 设置超时时间
在编写能够适配 h264 和 h265 编码的MP4播放器时遇到的问题.(PS如果iOS系统播放器能够满足这一点我也不至于会累成狗).于是有了以下的尝试.完美解析播放 本地mp4 (h264编码) 完美解析播放 本地mp4 (h265编码) 解析网络mp4 (海鸟) 视频地址 http://vjs.zencdn.net/v/oceans.mp4 卡顿超级严重 解析网络mp4 (驯龙高手) 视频地址 http://vfx.mtime.cn/Video/2019/02/04/mp4/1902040
2021-02-26 17:19:53
2497
1
转载 init 启动 Native Service 时出现Service xxxx needs a SELinux domain defined; please fix 警告的说明
[Description]init 启动 Native Service 时出现Service xxxx needs a SELinux domain defined; please fix 警告的说明 [Keyword]SELinux, Native Service, init, domain[Android Version]Version >= android 5.0
2017-04-01 17:01:41
4862
转载 android-5.0 sensor框架简介
Android Sensor 主要包括3 大部分,各个部分的主要功能如下:Application Framework这一部分主要包括Sensor Manager,功能是为Application提供 Java API接口,以便Application可以开启所需的 Sensor 并获取数据。Libraries这一部分主要有Sens
2016-10-25 14:58:58
1798
原创 android屏幕旋转显示流程
我们的PAD默认屏幕方向是竖着,需要将屏幕的默认显示方向顺时针旋转90度,android显示系统的核心是surfaceflinger,它为所有的应用程序提供显示服务,它能够将各种应用程序的2D,3D surface进行组合,合并最终得到的一个main surface数据送入framebuffer,显示的翻转和旋转也是由surfaceflinger完成的,我们大致分析下surfaceflinge
2016-10-20 16:17:28
4488
原创 MT6735平台屏幕旋转90度
1.屏幕显示逆时针旋转90度修改device/lentek/len6735_65u_vo/ProjectConfig.mk:MTK_LCM_PHYSICAL_ROTATION = 90此处会在device/mediatek/mt6735/device.mk通过ifneq ($(strip $(MTK_LCM_PHYSICAL_ROTATION)),)
2016-09-23 18:16:21
3409
转载 LinearLayout布局实现垂直水平居中
1、android:orientation="vertical"表示该布局下的元素垂直排列;2、android:layout_gravity="center_horizontal"表示该布局在父布局里水平居中,此时其父布局必须拥有android:orientation="vertical"属性;3、android:layout_gravity="center_vertical"表示
2016-06-28 17:25:03
44933
转载 Android下面打印进程函数调用堆栈(dump backtrace)的方法
为什么要打印函数调用堆栈?打印调用堆栈可以直接把问题发生时的函数调用关系打出来,非常有利于理解函数调用关系。比如函数A都有可能,如果打印出调用堆栈,直接就把谁调的打出来了。不仅如此,打印函数调用堆栈还有另一个好处。在Android工具看也未必容易看清函数调用关系。如果用了堆栈打印,很容易看到函数调用逻辑。那么一个问题来了,Android/kernel系统运行的境况下,打印出
2016-05-13 15:07:46
2486
转载 待机电流问题,如何查找EINT唤醒源
产生EINT的channel会记录在EINT_STA状态寄存器里面,这一点所有平台都一样;只要知道这个状态寄存器的值就可以知道哪个channel发生了中断;但是不同平台的log细节会有些不同。--->89/72/82在wakeup时,如果唤醒源是EINT,会主动打印出EINT_STA的值--->77默认不会打印这个寄存器,需要先开启EINT_DEBUG这个宏,才能看到EIN
2016-03-28 17:53:45
1799
转载 如何用adb控制MTKLogger
[DESCRIPTION] 如何通过adb command去控制MTKLogger开关,设定log路径等等。 [KEYWORD] MTKLogger adb控制 路径 大小 [SOLUTION]1. 开启/关闭adb shellam broadcast -a com.mediatek.mtklogger.ADB_CMD -e cmd_namestart
2016-03-18 14:41:03
9210
转载 如何使用wifi连接adb,不需要usb线
[DESCRIPTION] 有时候USB口被占用,如OTG使用时,如何使用wifi连接adb,不需要usb线 [SOLUTION]$adb tcpip 5555$adb connect 手机IP:5555拔掉usb线$adb shell 要想切回USB的方式,请输入adb usb或者直接开关一下设置里的USB Debugging选项。
2016-01-13 09:05:24
1647
转载 AOSP如何menuconfig
[DESCRIPTION]AOSP 如何menuconfig[KEYWORD]menuconfig ,kernel config[SOLUTION]编译命令:· source build/envsetup.sh && lunch (一个shell执行一次即可)· 在out\target\product\[pr
2015-11-25 09:26:04
1084
转载 Android L APP 如何获取sys file system 中节点的写权限
[Description]Android L APP 如何获取sys file system 中节点的写权限 [Keyword]L SELinux sys write[Android Version]Version >= android 5.0 [Solution]Google 默认禁止app , 包括system app, radio app 等直接写/sys
2015-11-25 09:24:18
2188
转载 修改驱动程序,解决“inf文件中找不到所需的段落”的问题
上周给同事装一个华塑的pcie转串口的卡的驱动,发现报一个错:inf文件中找不到所需的段落。上网搜了一下,大部分是转载的同一篇博客,要修改inf文件,加入Install32的段落,但只是说从另外一个inf文件中复制相关的行,没有说清楚加什么内容。还有的说要开启Smart Card服务,不过查看了一下,这个服务是开启的。另外,华塑的官网上提到是因为ghost版本windows的原因,缺少某些系统驱动
2015-11-23 16:32:24
7836
1
转载 [FAQ14812]如何快速对系统重启问题进行归类
[DESCRIPTION] 当手机发生系统重启,即导致kernel重启的异常时,会在手机中的/data/aee_exp目录下保存异常重启的db。工程师可以通过GAT的bug report功能,或者直接通过adb pull,把对应的db从手机中抓回来。进一步,对于异常重启的类型,需要通过GAT工具解开db档案(解开方式参考MTK-online上的文档GAT_User_Guide(Custo
2015-10-28 11:38:10
3446
转载 I2C总线协议
I2C协议2条双向串行线,一条数据线SDA,一条时钟线SCL。SDA传输数据是大端传输(字节高位先传),每次传输8bit,即一字节。支持多主控(multimastering),任何时间点只能有一个主控。总线上每个设备都有自己的一个addr,共7个bit,广播地址全0.I2C开始和结束信号开始信号:SCL为高电平时,SDA由高电平向低电平跳变,开始传送数据。结束信号:
2015-09-14 13:12:38
953
转载 深入分析看门狗框架(1)
深入分析看门狗框架 1 WDT原理 1. 原理 在手机Soc Chip中,里面的AP跑着linux操作系统软件,而任何软件都可能存在各种问题,如果遇到了这些异常,软件可能陷入死循环,导致手机变成“砖头”,如果没有其他硬件辅助,那么只能断电(拔电池)然后重新开机才行。为了避免出现这种情况,芯片内部增加了一个看门狗模块,这个模块专门检测CPU运行状态,
2015-09-11 17:12:00
8839
1
原创 冒泡排序法和选择排序法
#include void bubble_sort(int a[], int n){ int i, j, tmp; for(j = 0; j < n - 1; j++) { for(i = 0; i < n - 1 - j; i++) { if (a[i] > a[i + 1]) {
2015-09-11 16:34:33
743
转载 计算DSI数据速率的方式,以及如何配置时钟clk的方式
[DESCRIPTION]计算DSI数据速率的方式,以及如何配置时钟clk的方式[KEYWORD] dsi、data rate、mipi clk [SOLUTION]1、DSI vdo mode下的数据速率data_rate的大致计算公式为:Data rate= (Height+VSA+VBP+VFP)*(Width+HSA+HBP+HFP)* total_
2015-08-05 10:57:09
4809
转载 android lcd帧率
首先说一下屏幕帧率计算相关的硬件参数:Xres 、Yres:横、纵向物理分辨率left_margin、right_margin:左/右边界,即行切换回扫时间upper_margin、low_margin:上/下边界,即帧切换回扫时间hsync 、vsync:水平/垂直同步时间而在 LCD 驱动中,有一个重要的参数----点时钟,即 dot clock,在 LCD 的 dat
2015-06-15 16:06:46
1831
转载 ThunderBird的恼人特性:自动转换文本附件的换行
一直使用ThunderBird收发邮件,昨天突然发现ThunderBird的一个奇葩特性:自动转换文本附件的换行方式为windows下的\r\n。 事情是这样的:我用ThunderBird发送了一个patch给同事,这个patch打的时候提示:"Stripping trailing CRs from patch." 看意思是patch里面多了CR(\r)。这个真是奇怪。一番费力排查,确定是
2015-06-09 16:54:16
2181
转载 如何通过从kernel log分析AP suspend状态下的异常漏电
[DESCRIPTION] AP suspend状态下,会因为GPIO配置不当,subsys/pll/clock没关,或者其他的原因造成26M没关,而导致底电流升高; 这种情况,可以从kernel log中找到一些端倪,以确定进一步分析的方向 [SOLUTION] 【1】查找没有关闭的subsys/clock/pll[6589/6582/6592
2015-04-03 15:43:39
1017
转载 如何测试 Mediatek 平台各个场景的功耗数据?
[DESCRIPTION] 很多功耗问题都是因为测试手法不对,该FAQ列出一些常用场景功耗测试手法。 [SOLUTION] 测试功耗数据之前,请先确认以下配置:1、关闭 WIFI/BT/GPS,关闭数据连接,设置飞行模式。 (根据具体测试场景设置)2、关闭 mobile log/modem log/net log,打开LOG会增加电流。注意:确认 /sdcard
2015-04-03 15:11:25
1685
转载 linux下vim中,如何使搜索的关键字高亮
在有些linux的版本中,在vim中搜索出来的关键字是不带高亮的,这样很不利于我们阅读。可以通过以下命令是关键字高亮。1.使一个关键字高亮先用vim打开你要阅读的文件,然后进入命令模式,即在非编辑状态下,按":"。 然后使用下面命令: :match [color group] [/pattern/]参数说明: [color group] :这个参数是说明你想要关
2015-03-31 14:16:56
12088
转载 android打印调用栈的方法
打印调用栈是android平台问题定位的基本方法,如果需要知道谁在调用某个函数,可以在此函数中添加打印调用栈函数,弄清楚函数之间的调用关系。1.Java层打印调用栈方法RuntimeException here = new RuntimeException("here");here.fillInStackTrace();Log.w(TAG, "Called: " + thi
2015-03-19 09:54:09
559
转载 Ubuntu下安装360随身wifi方法
相信有不少开发者需要在UBUNTU下进行源码修改等操作,360随身wifi官方发布的是基于windows的驱动及管理软件,下面发布ubuntu下使用的方法。测试环境:ubuntu 12.10 64bit,理论上其他版本也支持。1、sudo apt-get install hostapd2、sudo apt-get install isc-dhcp-server3、下载附件ubu
2015-01-21 11:06:55
2974
1
原创 git config修改用户名和邮箱地址
Your name and email address were configured automatically basedon your username and hostname. Please check that they are accurate.You can suppress this message by setting them explicitly: g
2015-01-12 16:30:58
1336
转载 Ubuntu12.04用户组管理
自从升级到了Ubuntu12.04后,发现自带的用户帐号根本没有10.04的强大,要修改一下用户组还需要手动输入命令修改,而10.04可以通过用户和组这个设置来修改,那么Ubuntu12.04如何才能像10.04一样呢?其实很简单,输入一下命令:sudo apt-get install gnome-system-tools之后你会发现软件菜单中会出现一个用户和组的设置,现在
2015-01-09 16:43:55
770
原创 ubuntu64位下安装libjpeg.so.62
安霸平台编译过程中提示:error while loading shared libraries: libjpeg.so.62: cannot open shared object file: No such file or directory执行sudo apt-get install libjpeg62后仍提示找不到libjpeg.so.62,后来发现ubuntu 64位系统下默认
2015-01-09 15:08:24
16017
2
CDMA通信系统中的接入信道部分进行仿真与分析
2009-05-06
请教一个linux shell脚本的意思
2014-12-05
TA创建的收藏夹 TA关注的收藏夹
TA关注的人