您尚未登录。

楼主 # 昨天 11:38:19

Quotation
会员
注册时间: 2018-10-04
已发帖子: 305
积分: 264.5

xboot在T113-S3上无法从Flash运行

现象很奇怪,请坛友帮忙分析可能是什么原因?

1. xboot通过xfel在DRAM中运行正常。
2. 烧写到NAND Flash无法运行,把NAND换成NOR Flash也同样无法运行,串口没有输出。用xfel读出Flash,数据正确。
3. 板子断电重新上电,读NOR Flash持续约100ms。但按reset开关,读Flash只有约18ms,肯定没有读完整。
4. 把另一个spl(https://github.com/szemzoa/sun8iw20_spl)烧写到Flash,spl本身可以运行,看到串口有输出。

离线

#1 昨天 11:42:43

晕哥
管理员
所在地: wechat: whycan_cn
注册时间: 2017-09-06
已发帖子: 9,422
积分: 9202

Re: xboot在T113-S3上无法从Flash运行

烧到flash或tf卡需要带魔术头,关键词 mksunxi.c





离线

楼主 #2 昨天 12:13:01

Quotation
会员
注册时间: 2018-10-04
已发帖子: 305
积分: 264.5

Re: xboot在T113-S3上无法从Flash运行

晕哥 说:

烧到flash或tf卡需要带魔术头,关键词 mksunxi.c

这个有的,xboot的makefile里执行了mksunxi。

离线

楼主 #3 昨天 22:29:50

Quotation
会员
注册时间: 2018-10-04
已发帖子: 305
积分: 264.5

Re: xboot在T113-S3上无法从Flash运行

通过一步步打log,定位到了非常非常奇怪的地方。
在初始化DDR的时候有这么一段代码,就是简单的条件分支、赋值,但走到某个分支就执行不下去了,死在那了!
把这一大堆全注释掉,直接替换成一句赋值`cfg = ac_remapping_tables[5]`,就可以执行下去了。(然后到很后面又在某个地方死了)
暂且不管后面的,单说这一小段平平无奇的代码,什么原因可能导致出错呢?

if(fuse == 8)
{
	cfg = ac_remapping_tables[2];
}
else if(fuse == 9)
{
	cfg = ac_remapping_tables[3];
}
else if(fuse == 10)
{
	//!!! 这里执行不下去了
	if(chipid == 0x6800)
	{
		cfg = ac_remapping_tables[0];
	}
	else
	{
		cfg = ac_remapping_tables[5];
	}
}
else if(fuse == 11)
// ......

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn


太原小智科技有限责任公司 - 东莞哇酷科技有限公司联合开发