MTK 平台memory(emmc)移植常见问题总结
2018-02-02 20:12
381 查看
memory移植常见问题有:1、无法下载;2、下载后无法开机;
一、无法下载MTK平台会有以下几种情况:在下载过程中经常出现enable Dram fail的错错误,遇到这种情况第一反应先format 一下memory,然后再down,如果format不行过着还是没法dwon的话,那么再做如下分析;
一旦出现此问题,需做确认以下三点:
1,必须用最新版本的flash tool下载;
2,memory是不是经过MTK验证过;
3,板子必须跑过ett测试,preloader里面的MDL(memorydevicelist)里面配置Dram
timing必须是ett log输出的对应的Dram timing;
去确认后还是无法下载那么就做如下分析:
a.软件原因(一般问题出在研发端):
a1.EMI没有配置手机硬件本身用的memory信息,此问题一般在研发端下载未知的软件版本时候发生,具体可以check 此文件:Custom_MemoryDevice.h是否配置了硬件本身用的memory的partnumber;
2 a2.修改了emigen.pl或者修改其他preloader的某些文件,导致tool解析不出build出的preloader.bin的EMI参数,此类一般是preloader客制化问题引起的,可以咨询一下MTK;
a3.DRAM 的时序timing有误,可以对比一下ETT测试输出的DRAM
timing;
b.硬件原因;
b1.memory本身的问题,此时需要做交叉对比实验确定是memory问题,还是板子问题,若是memory问题,请找memoryvendor;b2.板子硬件有问题,此类问题一般是由于Memory周边的器件有贴错或者虚焊导致;需要拿到硬件分析;
二、下载后无法开机;
抓取串口log进行分析
1、我遇到的情况是温度过高强制断电,原因可能是在焊接memory的时候将板子搞得有点问题了。如下的log
[plain] view
plain copy
[ 4.864498].(4)[68:bat_thread_kthr][Power/BatMeter] [force_get_tbat] 0,108,0,0,0,60
[ 4.865459].(4)[68:bat_thread_kthr][Power/BatMeter] [oam_run_inf] 4045, 4045, 4010, 2592, 2592, 135, 135, 2, 2, 1782, 60, 16
[ 4.866864].(4)[68:bat_thread_kthr][Power/BatMeter] [oam_result_inf] 16, 16, 16, 16, 16, 0
[ 4.867902].(4)[68:bat_thread_kthr][Power/Battery] AvgVbat=(4010),bat_vol=(4010),AvgI=(0),I=(0),VChr=(359),AvgT=(60),T=(60),pre_SOC=(84),SOC=(84),ZCV=(4044)
[ 4.869657].(4)[68:bat_thread_kthr][Power/Battery] [Battery] Tbat(60)>=60, system need power down.
[ 4.871358].(4)[68:bat_thread_kthr][Power/Battery] charging_set_power_off=0
[ 4.872229].(4)[68:bat_thread_kthr]mt_power_off
电池温度过高,导致板子强制下电;。我们只需要验证一下memory时候Ok就可以了,所以我们可以先在代码中将温度检测关闭掉
具体做法如下:kernel/drivers/power/battery_common.c文件修改
- if(BMT_status.temperature >= 60)
+ if(0)//(BMT_status.temperature >= 60)
编译重新down一下kerne看看是否OK;
2、遇到如下log:
[cpp] view
plain copy
[ 7.837171].(7)[191:thermal_manager]Power/battery_Thermal: reset, reset, reset!!!@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*****************************************@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[ 7.839444]-(7)[191:thermal_manager]------------[ cut here ]------------
[ 7.840299]-(7)[191:thermal_manager]kernel BUG at /home/qinzhonghua/MTK_Project/base_6592/6592/kernel/mediatek/platform/mt6592/kernel/drivers/thermal/mtk_ts_battery.c:394!
[ 7.842208]-(7)[191:thermal_manager]Internal error: Oops - BUG: 0 [#1] PREEMPT SMP ARM
将这一段找到对应的代码,mediatek/platform/mt6592/kernel/drivers/thermal/mtk_ts_battery.c,让代码跳过这一段代码,修改代码:
[cpp] view
plain copy
529 int mtktsbattery_register_cooler(void)
530 {
531 /* cooling devices */
532 cl_dev_sysrst = mtk_thermal_cooling_device_register("mtktsbattery-sysrst", NULL,
533 &mtktsbattery_cooling_sysrst_ops);
534 return 0;
535 }
修改为:
[cpp] view
plain copy
529 int mtktsbattery_register_cooler(void)
530 {
531 /* cooling devices */
534 return 0;
535 }
就可以正常的开机了。
相关文章推荐
- MTK 平台memory(emmc)移植常见问题总结
- MTK 平台memory(emmc)移植常见问题总结
- MTK 平台memory(emmc)移植常见问题总结
- MTK 驱动(7)---memory(emmc)移植常见问题总结
- MTK中E-MAIL常见问题总结
- Linux总结之Ralink雷凌rt3070驱动的ARM平台移植问题
- 基于MTK平台的camera 移植总结
- mtk平台,相关问题总结
- 64位平台编译常见问题汇总(个人移植问题仅供参考)
- Windows Phone 8 APP 移植到Windows Phone 8.1 常见问题总结
- mtk平台,相关问题总结
- MTK代码DCT修改dws文件常见问题总结
- MTK 6735平台 高温停止充电问题总结
- highcharts图表常见问题:关于如何设置数据点起始位置为坐标原点的问题分析与总结篇(独家爆料)
- ios编程时常见问题总结
- 解决Android平台移植ffmpeg的一揽子问题
- 移植过程问题总结
- 婴儿常见问题总结
- .Net 内存溢出(System.OutOfMemoryException)的常见情况和处理方式总结
- 一个XSS带来的一些收获和警示&常见安全问题总结