您尚未登录。

楼主 #1 2018-02-05 21:42:02

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,343
积分: 9202

今天弄了一天全志Allwinner V3s JLink启动u-boot,结果还是没起来。

今天弄了一天全志Allwinner V3s JLink启动u-boot,结果还是没起来。

插入JLINK, 开启 【JLink commander】
输入命令:

loadbin f:\u-boot-spl.bin,0
setpc 0
g

发现串口无输出,所以根本就跑不起来.





离线

楼主 #2 2018-02-05 21:42:22

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,343
积分: 9202

Re: 今天弄了一天全志Allwinner V3s JLink启动u-boot,结果还是没起来。

在网友的提醒下, 改用 sunxi-spl.bin 串口输出就正常了。

loadbin f:\sunxi-spl.bin,0
setpc 0
g

但是带来一个新的问题,
spl跑起来之后,
V3s 的 JTAG口 切换到 MMC(SD)了,导致jlink连接失败。





离线

楼主 #3 2018-02-05 21:42:25

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,343
积分: 9202

Re: 今天弄了一天全志Allwinner V3s JLink启动u-boot,结果还是没起来。

接下来在 u-boot 的 .config 里面屏蔽 MMC 配置,
重新编译烧写,
串口输出正常,并且JLINK在 sunxi-spl.bin 跑起来之后可以继续用。





离线

楼主 #4 2018-02-05 21:42:27

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,343
积分: 9202

Re: 今天弄了一天全志Allwinner V3s JLink启动u-boot,结果还是没起来。

QQ20180206082643.jpg

现在我把spl里面的mmc屏蔽了, spl运行之后 jlink还能用,
但是

speed 1000
loadbin f:\u-boot.bin, 0x43e00000
setpc 0x43e00000
g

u-boot.bin 写到 0x43e00000(标准版是0x42e00000, 我后来为了malloc 改了, 但是这个应该没影响),
然后发现串口无输出.





离线

楼主 #5 2018-02-05 21:42:31

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,343
积分: 9202

Re: 今天弄了一天全志Allwinner V3s JLink启动u-boot,结果还是没起来。

QQ20180206083313.jpg

死马做活马医,
为了模拟 u-boot 用jlink下载到 0x43e00000不执行的问题,
我修改了spl的代码, 在跳转前执行死循环,
然后用jlink命令执行setpc, g
串口仍然没有反应.

这个是spl自己的拷贝,我在中间加延时,进入jlink,把pc设置43e00000仍然不能启动。
理论上spl执行的跳转和我setpc 效果是一样的。





离线

楼主 #6 2018-02-05 21:42:35

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,343
积分: 9202

Re: 今天弄了一天全志Allwinner V3s JLink启动u-boot,结果还是没起来。

QQ20180206083834.jpg

QQ20180206084154.jpg

为了排除问题,
我只加了60秒纯延时,
在延时中进 jlink,
setpc 0x43e00000,
g
仍然都跑不起来





离线

楼主 #7 2018-02-05 21:42:45

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,343
积分: 9202

Re: 今天弄了一天全志Allwinner V3s JLink启动u-boot,结果还是没起来。

占位





离线

#8 2018-02-06 11:59:13

BugActiveDaughter
会员
注册时间: 2017-10-17
已发帖子: 118
积分: 117.5

Re: 今天弄了一天全志Allwinner V3s JLink启动u-boot,结果还是没起来。

威武

离线

楼主 #9 2018-02-07 11:20:08

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,343
积分: 9202

Re: 今天弄了一天全志Allwinner V3s JLink启动u-boot,结果还是没起来。

QQ20180207111646.jpg

感谢网友 【冰水寒】 帮忙
昨天下午,他帮我验证了一次,并且发了sunxi-spl和u-boot.bin固件给我,
经测试, 如果spl的 ResLen == 0 的时候执行 jlink loadbin u-boot.bin,setpc, g 就很正常。
但是 ResLen > 0之前执行就不行。

不论如何,都给解决了u-boot不能启动的问题带来一丝曙光!





离线

楼主 #10 2018-02-07 11:22:38

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,343
积分: 9202

Re: 今天弄了一天全志Allwinner V3s JLink启动u-boot,结果还是没起来。

今天早上再次验证了,
如果用 Q友【冰水寒】 的 sunxi-spl.bin,
再加上我自己改回 0x42e00000地址的u-boot,
也可以启动u-boot.





离线

楼主 #11 2018-02-07 11:23:54

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,343
积分: 9202

Re: 今天弄了一天全志Allwinner V3s JLink启动u-boot,结果还是没起来。

然后继续验证,
如果用 我自己 改回 0x42e00000地址的 sunxi-spl.bin,
再加上我自己改回 0x42e00000地址的u-boot,
结果是还是不能启动 u-boot,
一个悲伤的结局????





离线

楼主 #12 2018-02-07 11:25:19

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,343
积分: 9202

Re: 今天弄了一天全志Allwinner V3s JLink启动u-boot,结果还是没起来。

后来无意中发现, 如果多setpc, g 一次居然可以启动u-boot,
这个发现太意外了!

loadbin f:\sunxi-spl.bin,0
setpc 0
g
sleep 100
h
speed 6000
loadbin f:\u-boot.bin, 0x43e00000
setpc 0x43e00000
g
sleep 100

h
setpc 0x43e00000
g





离线

楼主 #13 2018-02-07 11:30:45

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,343
积分: 9202

Re: 今天弄了一天全志Allwinner V3s JLink启动u-boot,结果还是没起来。

QQ20180207112946.jpg

根据楼上的意外发现, 我再次把 sunxi-common.h 改回#define CONFIG_SYS_TEXT_BASE        0x43e00000
惊喜发现也能启动u-boot,
然后接着也能启动整个linux kernel.

目前只剩下一个问题了,那就是:
为什么要两次 setpc, g ???





离线

页脚

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

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