关于mt6572不能开机问题

文章详细记录了在使用MTK平台过程中遇到的问题,包括配置闪存失败导致系统无法正常启动,以及预加载器不断重启的情况。通过修改配置参数,将日志输出更改为UART1,并提高波特率,最终解决了闪存ID不匹配和DRAM信息缺失的问题,成功启动系统。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

刚接触mtk的平台,就遇到一个问题,新代码配置好flash之后,烧写到板子上,系统不能够正常启动,配置串口为115200,只能得到如下信息:

[DL] 00001388 00000015 010301

F0: 1028 0000
F3: 0000 0000
V0: 0000 0000 [0001]
00: 1027 0002
01: 0000 0000
BP: 0000 0051
G0: 0090 0003
T0: 0000 1499
EC: 0000 0080 [0000]
Jump to BL

一直循环打印这段信息,也没有太多信息输出。不是吧,连preloader都没进入,因为之前看过一点preloader的代码,至少也有几个print函数,难道flash配置有问题,或者是ddr配置的问题,查找了一下代码,也没有看见哪里配置ddr(后来才知道ddr和nand flash是一个模块)。后来也没有找到原因,都快要放弃了的时候,在网上找到了同样的问题,修改mediatek/custom/projec_dir/preloader/inc/cust_bldr.h文件,修改部分如下:

-#define CFG_UART_LOG                (UART2)
+#define CFG_UART_LOG                (UART1)

也就是log信息改成从UART1输出,波特率为921600,重新编译烧写preloader之后,preloader的信息得到了,输出信息的最后发现了问题,问题如下:

[EMI] no flash ID match, no DRAM info match !
<ASSERT> mt_emi.c:line 1048 0
PL fatal error...
PL delay for Long Press Reboot
pl pmic powerkey Release
[PLFM] emergency download mode(timeout: 5s).
mtk_arch_reset at pre-loader!

哦,preloader是进入了的,也就是说并不是之前想象的停留在mtk rom当中,还是跳转到了preloader中,只是flash没有匹配正确,造成preloader不断重启,再重新配置好flash之后,系统启动起来了。
这里也有一点疑问,如果说flash都配置不正确的话,那么烧写也应该是不能成功的,难道preloader执行下载模式时不检测flash ID?

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值