mtk 的SDK 下的例程,为了尝试FOTA 功能, 程序烧录进去后 发现 bootloader 起不来~~~然后烧录其他例程 也都是起不来~~~~
离线
是在应用升级吗?把bootloader干掉了?
试着把升级前后的flash读出来,在电脑上面用比较工具试一试,
是不是写错地址了。
还没开始升级呢,~~~它提供了一个例程, 我没有做任何修改, 安装步骤编译好之后,烧录程序到芯片上。
然后芯片就起不来了~~~~
▒▒▒
F1: 5004 0000
00: 1029 0001
01: 1005 0000
U0: 0000 0001 [0000]
T0: 0000 3B6E
Boot failed, reset ...
▒
F1: 0000 0000
V0: 0000 0000 [0001]
00: 1029 0001
01: 0000 0000
U0: 0000 0001 [0000]
T0: 0000 3B89
Leaving the BROM
后面格式化 flash ,重新烧录 其他程序(之前正常的普通程序,点亮LED灯) , 结果也是显示boot failed.....
我就奇怪 难道例程 本身就有问题 ????
但退一万步, 就算例程有问题~~~
那么难道还会 一烧录 程序 ,芯片就坏掉了????
离线
如果是开发板,可以问下供应商。
如果是自己hack产品,那有可能芯片设置了秘钥,比如NUC972就有这个东东,
要把你的程序用同一把钥匙加密,再烧入flash,才能被启动。
MTK 的东西真心的 坑,
如果你硬件只连接一个串口,而且是串口0,那么打印到这里就没有输出了。
而官方开发板中, 打印信息却可以从MK20 的USB 口打印输出,这是因为应用程序打印的log 是通过log_uart_init()来设定,而例程中 默认情况下是使用串口2.
所以需要在system_init() 函数中 将log 打印串口设置为串口0 ,那么system log 打印完 就会紧接着打印 应用层的log
离线