4724|6

5

帖子

0

TA的资源

一粒金砂(中级)

DM648二次boot问题 [复制链接]

5芯积分
碰到的问题和这个帖子有点类似。https://bbs.eeworld.com.cn/forum.php?mod=viewthread&tid=437457&highlight=%C7%EB%BD%CCTMS320VC5509A%B6%FE%B4%CEBoot%CE%CA%CC%E2


自己按照DM648评估板提供的二次boot程序进行了修改,用在自己的648板子上。连接仿真器时,二次boot程序可以把flash中的用户程序搬到运行空间里,且用户程序运行正常。当把二次boot程序烧写到flash第一扇区后,裸板运行时发现二次boot没有成功。
会是什么问题??  板子硬件是否存在问题呢??

最新回复

你好   能否请教您一个问题 是这样的,我在调试DM648的NOR Flash启动,遇到一些问题,看到您的帖子和我的情况有点类似。我遇到的情况具体是这样的,有时候NOR Flash启动会不成功,但是通电一段时间,再尝试NOR Flash启动就能成功,仿真器启动时是正常的。 我看到您的情况是UBL程序中的DDR参数没有写入到寄存器中,请问您是怎么发现的,NOR Flash启动是没法连接仿真器查看寄存器数据的啊。  详情 回复 发表于 2016-4-18 09:48

回复
举报

1025

帖子

1

TA的资源

纯净的硅(高级)

boot方式选择正确吗?

二次boot的这个boot是bootrom直接跳转的吧?烧入flash的是bin文件吗?bootrom不识别其他格式的文件的哦

点评

感谢回复! boot方式是按照datasheet选择的。复位之后,DM648从内部ROM空间运行程序RBL,地址为0x0080 0000.RBL程序读取EMIFA接口中地址为0XA000 0000的代码和数据,该地址为NOR flash的第一扇区起始地址,存放的是  详情 回复 发表于 2015-2-2 10:18

回复

5

帖子

0

TA的资源

一粒金砂(中级)

lelee007 发表于 2015-1-29 17:32
boot方式选择正确吗?

二次boot的这个boot是bootrom直接跳转的吧?烧入flash的是bin文件吗?bootrom不识别其他格式的文件的哦
感谢回复! boot方式是按照datasheet选择的。复位之后,DM648从内部ROM空间运行程序RBL,地址为0x0080 0000.RBL程序读取EMIFA接口中地址为0XA000 0000的代码和数据,该地址为NOR flash的第一扇区起始地址,存放的是我的bootloader程序UBLUBL配置PSC,PLL,DDR,EMIF,MUX等,然后从flash其他扇区拷贝应用程序到运行地址空间。
UBL和自己的程序两个ais文件烧入flash,通过memory查看flash中的数据是正常的,此时直接通过仿真器运行UBL程序,可以成功把
自己的程序搬进来并正常运行。之后我断电,通过开关设置
bootmode方式,再上电运行,boot不成功,说明UBL程序没有跑起来。



回复

1025

帖子

1

TA的资源

纯净的硅(高级)

简单一点说,你这样的boot方式,应该是要把.out里边的text段直接放在nor flash的起始扇区

所以,你要check一下,你烧写的时候,是把.out镜像文件烧到flash中去了,还是把镜像文件中的各个segment烧到flash中去了,如果是直接把镜像文件烧到flash中去了,拿肯定没法直接启动。

镜像文件烧到flash中,用仿真器运行,仿真器是可以解析里边的各个segment,然后加载到运行地址,这个完全没有问题

点评

DM648下,flash加载需要将.out格式转换为.ais格式。也就是说,烧写的时候是把UBL程序以ais格式烧到flash中。上电启动时,固化在ROM中的程序自动从nor flash的第一扇区读取ais命令字,然后将UBL程序各个数据段复制到R  详情 回复 发表于 2015-2-2 13:37

回复

5

帖子

0

TA的资源

一粒金砂(中级)

lelee007 发表于 2015-2-2 12:19
简单一点说,你这样的boot方式,应该是要把.out里边的text段直接放在nor flash的起始扇区

所以,你要check一下,你烧写的时候,是把.out镜像文件烧到flash中去了,还是把镜像文件中的各个segment烧到flash中去了,如果是直接把镜像文件烧到flash中去了,拿肯定没法直接启动。

镜像文件烧到flash中,用仿真器运行,仿真器是可以解析里边的各个segment,然后加载到运行地址,这个完全没有问题
DM648下,flash加载需要将.out格式转换为.ais格式。也就是说,烧写的时候是把UBL程序以ais格式烧到flash中。上电启动时,固化在ROM中的程序自动从nor flash的第一扇区读取ais命令字,然后将UBL程序各个数据段复制到RAM的运行空间。自己的应用程序也是以ais格式烧进flash的,在UBL中通过解析ais命令字,将各个数据段复制到指定的地址。   按照你回复中说的,这种方式应该不会导致连接仿真器时可以加载成功,烧进flash后加载不成功吧?





回复

5

帖子

0

TA的资源

一粒金砂(中级)

问题已经解决。UBL程序中的DDR参数没有按照预期写入到寄存器中,导致程序虽然加载进了地址空间,但没有运行。

回复

7

帖子

0

TA的资源

一粒金砂(中级)

saintstar 发表于 2015-2-4 09:57
问题已经解决。UBL程序中的DDR参数没有按照预期写入到寄存器中,导致程序虽然加载进了地址空间,但没有运行 ...

你好   能否请教您一个问题
是这样的,我在调试DM648的NOR Flash启动,遇到一些问题,看到您的帖子和我的情况有点类似。我遇到的情况具体是这样的,有时候NOR Flash启动会不成功,但是通电一段时间,再尝试NOR Flash启动就能成功,仿真器启动时是正常的。
我看到您的情况是UBL程序中的DDR参数没有写入到寄存器中,请问您是怎么发现的,NOR Flash启动是没法连接仿真器查看寄存器数据的啊。

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表