TI中文支持网
TI专业的中文技术问题搜集分享网站

关于C6678 EMIF Nor Flash启动

最近在做6678上的EMIF Nor-Flsh启动,把程序烧写进去后,加电自启动,然后就仿真器连接,发现PC指针停留在0x700XXXXX(flash的地址空间)的位置,按照论坛上别人说的方法,我查看了bootcomplete的值为1,DEVSTAT的值为1021, boot mode寄存器的值是70,代表EMIF启动。我的flash是挂在ce0上的,现在就有一个疑问:

(1)DSP加电自启的时候,是直接跳到nor flash里面去执行前1K代码,还是先将1K代码读到片上L2,执行这1K代码将flash 1K代码之后的应用程序搬移到L2去

执行,还是直接跳转到flash里面去执行。如果是第一种,那PC指针跳到了flash的地址该如何解释呢?

(2)flash的前1K空间,除了要烧写bootloader,是否还需要烧写启动参数表boot parameter table呢

就目前的状况,应该是启动没成功,不知道问题出在哪儿,希望大牛们给帮忙指导一下,非常感谢!

MaoQTian:

DSP在运行完RBL后是直接跳到0x70000000去执行的。这段代码应该是你自己的bootloader。

你的这个情况应该是在搬移了代码后没有跳转到_c_int00导致的。

fendou yang:

回复 MaoQTian:

MaoQTian:您好!我也最近研究这部分;有几个问题,想请教你一下1.emif-nor-boot引导,所编写带有bootloader工程应用程序,搬移flash程序代码是在xxx.asm中编写的吗?2.bootload都放在镜像中,应用程序用工具链做成XXX.BIN文件,然后用norwrite烧写下去,请问,这段bootload程序到底如何被加载到CPU中?如何搬移剩下的程序到0x70000xxx地址处的?谢谢!

Weiting Chan:

回复 fendou yang:

搬移程序是在bootload.asm中编写的,放在应用程序员一起进行编译,然后烧写到Flash前1KB的空间,应用程序烧写到Flash 1KB后的空间。DSP上电后,程序计数器跳转到Flash的空间执行搬移程序,搬移程序将应用程序搬移到DSP的4M共享内存上,搬移完成后,程序计数器跳转到DSP上开始执行应用程序。我现在EMIF单核和多核启动都成功了,而且非常稳定。

user1212849:

回复 Weiting Chan:

@Weiting Chan 能否将您的emif nor的固化资料发给我,我学习一下,谢谢?xuhoule@aliyun.com

user4683768:

回复 Weiting Chan:

您好,可以分享一下您的资料吗,十分感谢,1418080788@qq.com

user4683768:

回复 user1212849:

您好,请问您关于nor flash烧写,emif自启动的问题解决了吗,可以给我分享一下资料吗?非常感谢,这个问题折磨我很久,1418080788@qq.com

user3508153:

回复 Weiting Chan:

你好,我现在也在调试emif nor flash启动,但是一直不成功,您是否能发一下工程和工具链参考一下,406452332@qq.com,非常感谢!

赞(0)
未经允许不得转载:TI中文支持网 » 关于C6678 EMIF Nor Flash启动
分享到: 更多 (0)