OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 7146|回复: 22

在uboot下使用TFTP向开发板烧写裸机例程,是不是还要添加头部?

[复制链接]

9

主题

50

帖子

0

精华

初级会员

Rank: 2

积分
128
金钱
128
注册时间
2019-7-23
在线时间
10 小时
发表于 2019-11-16 20:47:33 | 显示全部楼层 |阅读模式
1金钱
在uboot下使用TFTP向开发板烧写裸机例程,是不是还要添加头部?该怎么添加呢

最佳答案

查看完整内容[请看2#楼]

裸机实验在uboot下本来就不用烧写到SD卡的,loadb、loadx、loady指令了解下, loadb 87800000 (回车,然后uboot会等待我们要发送的.bin,SecureCRT中选择Transfer--->Send Kermit--->...\ap3216c.bin,然后点OK即可) go 87800000 这两个命令就可以直接运行裸机实验的bin文件
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

33

主题

1622

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6539
金钱
6539
注册时间
2015-8-25
在线时间
1024 小时
发表于 2019-11-16 20:47:34 | 显示全部楼层
challenger 发表于 2019-11-24 19:47
楼主,赶快实验,成功之后,把经验分享一下。我们以后,可以不用sd  card烧了。

裸机实验在uboot下本来就不用烧写到SD卡的,loadb、loadx、loady指令了解下,
loadb 87800000
(回车,然后uboot会等待我们要发送的.bin,SecureCRT中选择Transfer--->Send Kermit--->...\ap3216c.bin,然后点OK即可)
go 87800000
这两个命令就可以直接运行裸机实验的bin文件
He who fights with monsters should look to it that he himself does not become a monster, when you gaze long into the abyss, the abyss also gazes into you.
过于执着就会陷入其中,迷失自己,困住自己。
回复

使用道具 举报

33

主题

1622

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6539
金钱
6539
注册时间
2015-8-25
在线时间
1024 小时
发表于 2019-11-17 20:43:55 | 显示全部楼层
tftp 直接下载bin文件然后用go命令直接运行不需要添加头部
回复

使用道具 举报

9

主题

50

帖子

0

精华

初级会员

Rank: 2

积分
128
金钱
128
注册时间
2019-7-23
在线时间
10 小时
 楼主| 发表于 2019-11-18 13:19:21 | 显示全部楼层
szczyb1314 发表于 2019-11-17 20:43
tftp 直接下载bin文件然后用go命令直接运行不需要添加头部

那样不行的,     那样会卡住,  我怀疑是没添加头部的原因,但具体的不知道
回复

使用道具 举报

33

主题

1622

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6539
金钱
6539
注册时间
2015-8-25
在线时间
1024 小时
发表于 2019-11-18 17:05:23 | 显示全部楼层
本帖最后由 szczyb1314 于 2019-11-18 17:06 编辑
bingtangxueli 发表于 2019-11-18 13:19
那样不行的,     那样会卡住,  我怀疑是没添加头部的原因,但具体的不知道

原子的板子的bin文件的链接地址是0x87800000,也就是说你的bin文件的下载后的运行地址是0x87800000,你要是tftp下载的bin文件地址不在这个地址上绝对卡住了,添加一大堆头部信息你去比对下,最终也是保证了bin文件的起始地址是在87800000处,和你直接下载bin文件到87800000处然后直接go命令是一样的。
tftp 87800000 xxx.bin
go xxx.bin
这两句命令不能运行那就是你的板子有问题了,前提是你用的是原子的板子EMMC版本
He who fights with monsters should look to it that he himself does not become a monster, when you gaze long into the abyss, the abyss also gazes into you.
过于执着就会陷入其中,迷失自己,困住自己。
回复

使用道具 举报

1

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
84
金钱
84
注册时间
2013-12-27
在线时间
16 小时
发表于 2019-11-22 10:00:12 | 显示全部楼层
顶,还未实验tftp
回复

使用道具 举报

9

主题

50

帖子

0

精华

初级会员

Rank: 2

积分
128
金钱
128
注册时间
2019-7-23
在线时间
10 小时
 楼主| 发表于 2019-11-24 10:56:27 | 显示全部楼层
szczyb1314 发表于 2019-11-18 17:05
原子的板子的bin文件的链接地址是0x87800000,也就是说你的bin文件的下载后的运行地址是0x87800000,你要 ...

是的 ,我的板子是原子的emmc版本 ,很奇怪,到现在也没成功
回复

使用道具 举报

9

主题

890

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
2391
金钱
2391
注册时间
2019-9-25
在线时间
397 小时
发表于 2019-11-24 17:59:16 | 显示全部楼层
研究一下imxdownload.c这个工具怎么添加的,可以简单改造一下,使用imxdownload来生成lod.imx文件
回复

使用道具 举报

9

主题

50

帖子

0

精华

初级会员

Rank: 2

积分
128
金钱
128
注册时间
2019-7-23
在线时间
10 小时
 楼主| 发表于 2019-11-24 18:03:42 | 显示全部楼层
仰望星空之云 发表于 2019-11-24 17:59
研究一下imxdownload.c这个工具怎么添加的,可以简单改造一下,使用imxdownload来生成lod.imx文件

好好研究一下,左老师也可以出个视频啊
回复

使用道具 举报

33

主题

1622

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6539
金钱
6539
注册时间
2015-8-25
在线时间
1024 小时
发表于 2019-11-24 19:42:38 | 显示全部楼层
bingtangxueli 发表于 2019-11-24 10:56
是的 ,我的板子是原子的emmc版本 ,很奇怪,到现在也没成功

确认你的bin文件是ok的?拿个你验证过的bin文件去试试,最好是用带LCD屏幕显示的bin文件,可以很直观的看出来到底对不对
He who fights with monsters should look to it that he himself does not become a monster, when you gaze long into the abyss, the abyss also gazes into you.
过于执着就会陷入其中,迷失自己,困住自己。
回复

使用道具 举报

95

主题

549

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3293
金钱
3293
注册时间
2016-1-7
在线时间
541 小时
发表于 2019-11-24 19:47:34 | 显示全部楼层
楼主,赶快实验,成功之后,把经验分享一下。我们以后,可以不用sd  card烧了。
回复

使用道具 举报

95

主题

549

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3293
金钱
3293
注册时间
2016-1-7
在线时间
541 小时
发表于 2019-11-24 20:01:10 | 显示全部楼层
好的。回头试一下。
回复

使用道具 举报

9

主题

50

帖子

0

精华

初级会员

Rank: 2

积分
128
金钱
128
注册时间
2019-7-23
在线时间
10 小时
 楼主| 发表于 2019-11-25 21:51:47 | 显示全部楼层
szczyb1314 发表于 2019-11-24 19:42
确认你的bin文件是ok的?拿个你验证过的bin文件去试试,最好是用带LCD屏幕显示的bin文件,可以很直观的看 ...

bin文件是ok的,我明天再试试
回复

使用道具 举报

9

主题

50

帖子

0

精华

初级会员

Rank: 2

积分
128
金钱
128
注册时间
2019-7-23
在线时间
10 小时
 楼主| 发表于 2019-11-25 21:52:51 | 显示全部楼层
szczyb1314 发表于 2019-11-24 19:55
裸机实验在uboot下本来就不用烧写到SD卡的,loadb、loadx、loady指令了解下,
loadb 87800000
(回车, ...

我明天试试你这个方法,但感觉和go那个指令差不多
回复

使用道具 举报

9

主题

50

帖子

0

精华

初级会员

Rank: 2

积分
128
金钱
128
注册时间
2019-7-23
在线时间
10 小时
 楼主| 发表于 2019-11-26 11:13:03 | 显示全部楼层
szczyb1314 发表于 2019-11-24 19:55
裸机实验在uboot下本来就不用烧写到SD卡的,loadb、loadx、loady指令了解下,
loadb 87800000
(回车, ...

我今天测试了一下,果然可以!大神,请接受我的膜拜^^^.。为什么我之前用tftp下载不可以?
是不是我tftp做的方法不对,我在测试一下。  当时tftp不行,我还斥巨资买了内存卡,内存卡到了,我发现我的读卡器坏了,我昨天刚买了读卡器,还没送到我的手中。。。。。。在这我想对原子哥提个建议:为什么不直接这样下载程序呢?比直接烧到内存卡中更方便
回复

使用道具 举报

9

主题

50

帖子

0

精华

初级会员

Rank: 2

积分
128
金钱
128
注册时间
2019-7-23
在线时间
10 小时
 楼主| 发表于 2019-11-26 11:13:53 | 显示全部楼层
challenger 发表于 2019-11-24 19:47
楼主,赶快实验,成功之后,把经验分享一下。我们以后,可以不用sd  card烧了。

成功了,成功了
回复

使用道具 举报

33

主题

1622

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6539
金钱
6539
注册时间
2015-8-25
在线时间
1024 小时
发表于 2019-11-26 11:33:14 | 显示全部楼层
本帖最后由 szczyb1314 于 2019-11-26 11:35 编辑
bingtangxueli 发表于 2019-11-26 11:13
我今天测试了一下,果然可以!大神,请接受我的膜拜^^^.。为什么我之前用tftp下载不可以?
是不是我tftp ...

烧录到SD卡在启动是不经过uboot的,烧录到SD卡启动此时直接就运行裸机实验了,uboot相当于一个大型的功能较强大的裸机实验。

另外用loadb、loadx、loady指令下载led.bin时有问题,led.bin裸机实验程序写的很简单,ledc.bin 例子,使用boot烧写和SD卡烧写现象不一致,使用Uboot烧写延时函数需要方大十几倍才能达到和SD卡一样的现象,有人请教了左工,他说是因为Uboot开了I Cache导致的,结论未做验证,裸机实验后面的例子比如RTC例子可以是因为后面例子的延时都是使用的硬件做的精准延时,不受I Icache影响。

tftp下载然后go跟这几个load指令是一样的,不过我还真没试过
He who fights with monsters should look to it that he himself does not become a monster, when you gaze long into the abyss, the abyss also gazes into you.
过于执着就会陷入其中,迷失自己,困住自己。
回复

使用道具 举报

9

主题

50

帖子

0

精华

初级会员

Rank: 2

积分
128
金钱
128
注册时间
2019-7-23
在线时间
10 小时
 楼主| 发表于 2019-11-26 12:03:57 | 显示全部楼层
szczyb1314 发表于 2019-11-18 17:05
原子的板子的bin文件的链接地址是0x87800000,也就是说你的bin文件的下载后的运行地址是0x87800000,你要 ...

再次测试tftp,不行,loadb确实可以
回复

使用道具 举报

95

主题

549

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3293
金钱
3293
注册时间
2016-1-7
在线时间
541 小时
发表于 2019-11-26 13:06:52 | 显示全部楼层
szczyb1314 发表于 2019-11-24 19:55
裸机实验在uboot下本来就不用烧写到SD卡的,loadb、loadx、loady指令了解下,
loadb 87800000
(回车, ...

非常实用的方法。回去试一下。如果用这两条命令操作,那开发板的启动方式,是用默认的emmc启动吗?还是要更改一下。
回复

使用道具 举报

33

主题

1622

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6539
金钱
6539
注册时间
2015-8-25
在线时间
1024 小时
发表于 2019-11-26 13:10:34 | 显示全部楼层
bingtangxueli 发表于 2019-11-26 12:03
再次测试tftp,不行,loadb确实可以

tftp下载得bin文件有没有chmod 777 xxx.bin给与权限?
ubuntu主机里存放bin文件得文件夹有没有给与权限?
这两个是需要的。
He who fights with monsters should look to it that he himself does not become a monster, when you gaze long into the abyss, the abyss also gazes into you.
过于执着就会陷入其中,迷失自己,困住自己。
回复

使用道具 举报

33

主题

1622

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6539
金钱
6539
注册时间
2015-8-25
在线时间
1024 小时
发表于 2019-11-26 13:17:24 | 显示全部楼层
challenger 发表于 2019-11-26 13:06
非常实用的方法。回去试一下。如果用这两条命令操作,那开发板的启动方式,是用默认的emmc启动吗?还是要 ...

不用改,我就是直接用的,它需要启动进入uboot才行,你改了启动方式就无法进入uboot了。
另外,直接下载bin文件不是加了头部信息的imx文件(我理解imx也可以但是下载地址肯定是0x87800000-3072处才可以保证bin文件数据在0x87800000处),go命令跳转执行了bin文件后是没办法再回到uboot的只能按复位重新启动进入uboot,还有裸机实验的前面几个实验用load指令下载执行时可能现象不对,主要是前面的几个裸机实验没有开启I-Cashe而uboot开启了导致的。我用后面几个用硬件定时器实现精度延时的实验就没问题。
He who fights with monsters should look to it that he himself does not become a monster, when you gaze long into the abyss, the abyss also gazes into you.
过于执着就会陷入其中,迷失自己,困住自己。
回复

使用道具 举报

9

主题

50

帖子

0

精华

初级会员

Rank: 2

积分
128
金钱
128
注册时间
2019-7-23
在线时间
10 小时
 楼主| 发表于 2019-11-27 09:07:08 | 显示全部楼层
szczyb1314 发表于 2019-11-26 13:10
tftp下载得bin文件有没有chmod 777 xxx.bin给与权限?
ubuntu主机里存放bin文件得文件夹有没有给与权限 ...

文件夹开了权限,文件没有打开权限
回复

使用道具 举报

33

主题

1622

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6539
金钱
6539
注册时间
2015-8-25
在线时间
1024 小时
发表于 2019-11-27 10:50:01 | 显示全部楼层
bingtangxueli 发表于 2019-11-27 09:07
文件夹开了权限,文件没有打开权限

两个都需要权限,两个都给权限再试试
He who fights with monsters should look to it that he himself does not become a monster, when you gaze long into the abyss, the abyss also gazes into you.
过于执着就会陷入其中,迷失自己,困住自己。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-23 05:25

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表