- 博客(38)
- 资源 (2)
- 收藏
- 关注
原创 在android P上添加HIDL模块编译报错error: VNDK library list has been changed
/bin/bash -c "(( diff --old-line-format=\"Removed %L\" --new-line-format=\"Added %L\" --unchanged-line-format=\"\" build/make/target/product/vndk/28.txt out/target/product/evk_8mq/obj/PACKAGING/vndk_intermediates/libs.txt || ( echo ...
2020-09-17 16:22:31
2501
转载 jira发送邮件的报错
jira发送邮件的报错【传送门:https://www.cnblogs.com/heyongboke/p/9307433.html】1.安装完jira后,配置发送邮件出错具体报错如下:An error has occurred with sending the test email:com.atlassian.mail.MailException: javax.mail.Messa...
2019-05-27 17:20:00
1306
转载 【转】Maven Install报错:Perhaps you are running on a JRE rather than a JDK?
传送门:https://www.jianshu.com/p/1ed0ec397575所遇问题:英文描述:[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.5.1:compile (default-compile) on project busiservi...
2019-05-11 22:14:41
518
转载 【转】更新ESP32-idf之后,安信可提供的AiThinkerIDE_V0.5开发环境编译出现了错误
传送门:https://blog.csdn.net/u014377238/article/details/80169985错误提示如下:$ make menuconfigmake[1]: 进入目录“/cygdrive/d/AiThinkerIDE_V0.5/cygwin/home/aithinker/project/...
2019-05-05 18:17:46
1778
原创 ESP8266学习二---SOCKET-TCP_CLIENT
上次学习了wifi热点信息扫描的东西。本次测试学习下tcp client的内容。 全部源码如下:/* BSD Socket API Example This example code is in the Public Domain (or CC0 licensed, at your option.) Unless required by applicable...
2019-05-05 15:28:18
1814
原创 ESP8266学习一---通过ESP8266扫描周边AP信息
最近刚刚开始ESP-IDF架构的学习,为了了解其架构,我首先选择尝试编写一个扫描AP信息的功能程序。 一、 由于我接下来准备测试tcp client功能,因此我选择的是tcp client测试用例 作为基本环境。位置为/esp/ESP8266_RTOS_SDK/examples/protocols/sockets/tcp_client, 将这个文件拷贝到~/esp/下面。 ...
2019-05-05 15:08:07
1610
原创 ESP8266_NONOS_SDK代码学习1---通用版本信息查询
本章学习这个命令是怎么解析的:curl -X GET http://ip/client?command=info 申明:本人不懂http相关的协议,而且从来没看过这个esp8266, json也不懂, ~~~~~~ 一、通过curl工具发送curl -X GET http://ip/client?command=info 信息到esp8266板子。板子返回如下信息"Vers...
2018-03-30 15:41:18
1015
原创 MTK 平台lcm驱动框架分析1
源码路径: kernel-3.18/arch/arm/boot/dts/mt6580.dtsi kernel-3.18/drivers/misc/mediatek/video/common/mtkfb.c kernel-3.18/drivers/misc/mediatek/video/mt6580/primary
2017-03-09 15:31:25
4844
原创 MTK 冻屏问题分析
一、 问题定位1. 可能的问题故障点2. 软件问题说明二. 注意事项。1. 保留现场,避免断电2. 准确记录时间点3. 检查adb是否可用, uart是否有数据输出。三、现场确认事项1. 抓取系统状态与CPU的使用率--->使用dumpstate(状态抓取器),查看cpu使用率,和log情况2. 检查按键或者触摸是否有正常输入--->看看使用有正常的按键或者触摸
2017-03-01 15:48:35
2084
转载 Flash 兼容(Combo)的实现及现状
内容[KEYWORDS]Flash Combo;eMMC Combo;Flash兼容[DESCRIPTION] Flash combo可以简单分为两个部分,一个是DRAM的combo,同一份load中兼容若干颗ID/Type/Size不同的Flash,在开机过程preloader阶段,正确识别主板上使用的Flash,进行EMI时序的配置;另一种是ROM的com
2016-12-12 16:37:28
1435
转载 26 BUG at _i2c_deal_resualt
异常现场:在__exp_main.txt和SYS_KERNEL_LOG里看到如下log:死机位置在函数dpm_wd_handler()中,是这里的BUG()触发了Exception [ 21.758078]-(1)[155:bat_thread_kthr]Kernel BUG at c0660080 [verbose debug info unavailable
2016-11-28 10:19:35
645
转载 25 BUG at check_bytes_and_report
异常现场:当你在SYS_KERNEL_LOG里看到如下log,那么就属于BUG at check_bytes_and_report一类问题了:[ 492.558572]-(0)[1163:system_server]=============================================================================[ 4
2016-11-28 10:17:54
1288
转载 24 dpm_drv_timeout()和dpm_wd_handler()一样,请参考《BUG at dpm_wd_handler》章节
dpm_drv_timeout()和dpm_wd_handler()一样,请参考《BUG at dpm_wd_handler》章节
2016-11-28 10:17:07
521
转载 23 PC is at dpm_wd_handler+0x2c/0x30
异常现场:在__exp_main.txt和SYS_KERNEL_LOG里看到如下log:死机位置在函数dpm_wd_handler()中,是这里的BUG()触发了Exception [ 341.525222] 2)PC is at dpm_wd_handler+0x2c/0x30[ 328.440667] 2)[57] bus device_suspen
2016-11-28 10:16:03
2372
2
转载 22、 BUG at __get_vm_area_node()
异常现场:当你在SYS_KERNEL_LOG里看到如下log,那么就属于BUG at __get_vm_area_node一类问题了[ 271.881362]-0)Internal error: Oops: 96000045 [#1] PREEMPT SMP......[ 280.012666]-0)PC is at __get_vm_area_node.isra.
2016-11-28 10:15:25
1404
转载 深入分析Linux kernel exception框架
异常现场:当你在SYS_KERNEL_LOG里看到如下log,那么就属于BUG at __schedule_bug一类问题了[14005.496163]-(5)[1020:AudioOut_2]BUG: scheduling while atomic: AudioOut_2/1020/0x00000002[14005.496257]-(5)[1020:AudioOut_
2016-11-28 10:14:03
1244
转载 FHD 大尺寸LCD xxhdpi资源支持
[DESCRIPTION]MT6589T上如果使用FHD 大尺寸的LCD,应该使用xxhdpi的资源。现在系统里只有xhdpi的资源,整体显示效果都偏小。 如下: [SOLUTION]问题的root cuae是由于系统没有指定ro.sf.lcd_density的值,则系统会根据屏幕分辨率范围,指定默认density,即320 (xhdpi),而正确值应
2016-11-16 17:59:25
515
转载 设备信息的XDPI,YDPI显示问题
内容[DESCRIPTION]CTS报告中反馈设备信息需要修改:默认如下:QVGA240x3202.6 - 3.0 Small screenLow density (120) ldpiWQVGA240x400 3.2 - 3.5Normal screenLow densit
2016-11-16 17:24:56
7402
2
转载 13 什么是Crash?
什么是Crash? 当linux系统内核发生崩溃的时候,可以通过KEXEC+KDUMP等方式收集内核崩溃之前的内存,生成一个转储文件vmcore。内核开发者通过分析该vmcore文件就可以诊断出内核崩溃的原因,从而进行操作系统的代码改进。那么Crash就是一个被广泛使用的内核崩溃转储文件分析工具。 前面讲过gdb调试方法,但gdb始终是调试native的工具,不支持ker
2016-11-16 11:00:05
3752
转载 12 如何分析kernel panic?
内容[DESCRIPTION]当kernel发生异常时,会在重启后生成对应的db,用GAT的logviewer可以解开,如果是普通的KE或HWT,并且存在SYS_MINI_RDUMP或者SYS_COREDUMP,则可以借助gdb/crash进一步debug,否则只能查看log分析问题的可能性了。 [SOLUTION]以下两个方法都需要对应的vmlinux,详
2016-11-16 10:59:13
1578
转载 进阶篇: ramdump分析--9 ram dump文件种类
为什么要用ramdump?虽然debug方法有多种,但是都有其局限性。拿Logging来讲,Logging应该算是轻量级的Debug工具,并且在linux kernel默认就是打开的,在内核出现异常的时候我们可以很方便的得到下面这些信息:出现问题前的log, log时间的长度取决于编译内核时配置的log buffer的大小。问题发生时的call stack, 即当时的函数调用层次关
2016-11-16 10:56:56
9468
1
转载 8 nested panic
有时die()/panic()流程不一定能正常走完,可能走到某一步又发生了异常,则就形成了嵌套,这种情况,我们一般不会关注后面的异常,而是关注最开始的那个异常。 为了避免异常嵌套,在发生第2次异常时,我们就拦截下来,我们在3个地方用于拦截nested panic:do_PrefetchAbort()do_DataAbort()do_undefinstr()拦截
2016-11-16 10:55:46
746
转载 7 panic()流程
流程走到panic()就里死(异常重启)不远了,关键的信息已输出到kernel log。那么panic()做了什么呢?panic()流程 panic()有标志性的log输出,大致如下:因此我们也可以通过搜索关键字Kernel panic查找是否有panic发生。 panic通知链 panic()会调用栈通知链上的回调函数同
2016-11-16 10:54:58
608
转载 6 die()总流程
经过前面的流程,走到了die()函数,该函数主要输出便于调试的寄存器信息/堆栈信息等重要资料,我们通过log分析KE就是分析这些资料,因此要知道整个流程。die() => panic()的大致流程如下:在学习这些流程时,建议结合代码和KE的log一起看,你就知道log里那些信息在代码哪处打印出来的了。die()总流程 先从die()入手,看下die()总流程:
2016-11-16 10:54:16
495
转载 5前期异常捕获
CPU异常捕获对于野指针、跑飞之类的异常会被MMU拦截并报告给CPU,这一系列都是硬件行为,具体请看:MediaTek On-Line> Quick Start> 深入分析Android native exception框架> 流程-异常处理在上面章节里的内核异常处理流程,有一处不同,走到arm_notify_die()后,判断是kernel mode就直接调用die()了,而
2016-11-16 10:53:38
323
转载 4 ram console
什么是ram console? 请参考:MediaTek On-Line> Quick Start> Deep in MTK Turnkey Solution Logging Tools系统重启时关键信息 ram console除了保持last kmsg外,还有重要的系统信息,这些非常有助于我们调试。这些信息保存在ram console的头部ram_
2016-11-16 10:52:56
862
转载 3 了解printk
kernel log最初学编程时,大家一定用过printf(),在kernel里有对应的函数,叫printk()。最简单的调试方法就是用printk()印出你想知道的信息了,而前面章节讲到oops/panic时,它们就通过printk()将寄存器信息/堆栈信息打印到kernel log buffer里。了解kernel log对问题的调试将非常重要,这里有专门的课程介绍,请
2016-11-16 10:52:10
354
转载 深入分析Linux kernel exception框架
kernel space在分析KE前,你要了解kernel内存布局,才知道哪些地址用来做什么,可能会是什么问题。目前智能机已进入64bit,因此就存在32bit布局和64bit布局,下面一一讲解。ARM32bit kernel布局这是一张示意图(有些地址可能会有差异)整个地址空间是4G,kernel被配置为1G,程序占3G。任何程序都有TEXT(可执
2016-11-16 10:50:13
746
转载 基础篇: 通过log分析KE--深入分析Linux kernel exception框架
KE概念Android OS由3层组成,最底层是kernel,上面是native bin/lib,最上层是java层:任何软件都有可能发生异常,比如野指针,跑飞、死锁等等。异常发生在kernel层,我们就叫它为KE(kernel exception),同理,发生在native就是NE,java层就是JE。这篇文章仅关注底层的KE。KE类别kernel
2016-11-16 10:48:35
2308
原创 捣鼓openwrt不死bootloader (2)----兼容sdk固件
有时在工作中会遇到同时使用openwrt和SDK固件的情况, 这样就会出现使用麻烦, 烧砖的风险也大大增加, 那么有没有什么办法能做到boot为一个, 以后也尽可能不改变呢, 网上也有,比如openwrt社区论坛的大H的不死bootloader。 但是他的不开源, 无法做到定制化,比如说我们的flash有16M的,也有8M的,也有4M等等,这样就制约了我们的工作,看来还是得自己来弄了。
2016-07-22 14:29:08
2584
1
原创 捣鼓openwrt不死bootloader (2)---用网路代替TTL
由于用TTL去生产就非常的麻烦, 工人也不是那么好使用,容易出问题。 因此很有必要来搞下这个网路升级东西。 在https://github.com/pepe2k/u-boot_mod项目中也提到Network Console这个东西, 没错就是要它了。下面就看看怎么用它吧。 1 . 在windows的cmd中输入nc, 如果出现以下样子就表示已经有nc(netc
2016-07-11 13:48:38
1482
原创 捣鼓openwrt不死bootloader (1)
最近有个项目需要用到openwrt, 平台是ar9331和ar9341, 本项目的老同事采用的是大H的不死boot, 但是没有源码,不能做定制化,生产就受到很大的牵制, 于是就想着自己来捣鼓下这个bootloader。 首先问题就来了,从哪开始着手会快些呢。当然这个问题只能问度娘,于是找到,它给了我很大帮助, 其中提到了pepe2k的开源项目, 大H的早期不死boot
2016-07-07 09:39:19
5527
转载 第7期——AP上线过程
话说AP家有兄弟俩,哥哥胖AP(FAT AP)身强体健,单打独斗,无人能出其右,弟弟瘦AP(FIT AP)天生体质薄弱,独自一人无法支撑大梁。有天弟弟对哥哥说:“大哥,我真是羡慕你,一个人就能轻松承担无线用户接入、用户数据加密和转发等功能,而我自己一人,却什么都干不了啊。”哥哥说到:“弟弟莫要灰心,俗话说,天生我材必有用,虽说单打独斗你不是我对手,可是我的能力也仅限于小型企业、商店、SOH
2015-05-02 23:23:24
707
1
转载 第8期——STA接入过程
【转】 第8期——STA接入过程上期和大家分享了FIT AP在AC上的上线过程,其实无论是FAT AP还是上线的FIT AP,最终目的都是要用来提供无线网络覆盖环境,以供无线终端STA接入。这样我们才能在日常的生活和工作中,在无线网络覆盖范围内,通过便捷的无线方式,经AP连接到网络中,进行娱乐或办公。本期将要为大家介绍的是在无线网络环境中,STA是如何接入到AP上的——STA接入过
2015-05-02 23:23:23
1025
转载 第6期——WLAN常用概念
最近小编在微博上看到一个笑话,说是:楼主一时心血来潮,把家里的WIFI名设置成了who will love me,密码是nobody。结果第二天,整栋楼都连上了楼主的WIFI。这个笑话是略夸张了,不过里面出现的WIFI名正好引出本期的主题——本期小编将为大家介绍一下WLAN的基础概念。首先为大家隆重介绍的就是微博中提到的“who will love me”,WLAN术语称之为S
2015-05-02 23:22:26
677
转载 第3期——WLAN标准协议
【转】http://support.huawei.com/ecommunity/bbs/10216793.html在WLAN的发展历程中,一度涌现了很多技术和协议,如IrDA、Blue Tooth和HyperLAN2等。但发展至今,在WLAN领域被大规模推广和商用的是IEEE 802.11系列标准协议,WLAN也被定义成基于IEEE 802.11标准协议的无线局域网。我们对
2015-05-02 23:20:01
1611
转载 第2期——WLAN射频和信道
【转】http://support.huawei.com/ecommunity/bbs/10212257.html有这样一个段子“嫁到俺村吧,俺村条件不赖,穿衣基本靠纺,吃饭基本靠党,致富基本靠抢,娶妻基本靠想,交通基本靠走,通信基本靠吼,治安基本靠狗,取暖基本靠抖……”。拿这个段子作为本期的开篇,是想让大家开心一笑,然后借用里面的“通信基本靠吼”进入本期的主题。 通信
2015-05-02 23:19:07
2833
1
转载 【WLAN从入门到精通-基础篇】第1期——WLAN定义和基本架构
关于WLAN,相信大家对它早已不陌生了。几乎每天我们都能体验到WLAN给我们的生活带来的高效和便捷。在家里,通过无线路由器,我们不必再端端正正的坐在电脑旁,可以坐在沙发上,躺在床上,甚至可以坐在马桶上收发邮件,在线欣赏欧美大片,尽情享受摆脱有线束缚带来的自由。在候车室,手捧笔记本和Pad的人们正逐渐代替手捧报纸和杂志的人们。走进咖啡厅,越来越多的人第一件事不是点餐,而是询问咖啡厅无线网络的密码……
2015-05-02 23:18:00
493
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人