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

TMS320F2812外部SPI引导错误

该工程我采用的是SPI外部引导,上电后可以成功的将EEPROM内容复制到ram中,但是如果将内部引导的文件codestartbranch.asm文件删除(即首地址0x3f7ff6存放的两个字),程序不能正常运行,所以我怀疑DSP还是运行的内部引导程序,我在DATASHEET上看到,如果能够复制EEPROM的内容,就不能再回到地址0x3f7ff6,因此,实验的现象似乎与TI 手册相矛盾,想问问有没有人做过SPI引导,给我些意见,非常感谢!

Green Deng:你好,首先,SPI外部引导是属于bootload的范畴,而“EEPROM内容复制到ram中运行”是属于Memcopy函数的功能。前者主要用于烧写程序,后者是程序执行。这两者应该是没有很大关系的。同样的,codestartbranch.asm是用于flash启动的。可以参考以下链接的说明:processors.wiki.ti.com/…/C2000_Piccolo_One-Day_Workshop_Module_4

该工程我采用的是SPI外部引导,上电后可以成功的将EEPROM内容复制到ram中,但是如果将内部引导的文件codestartbranch.asm文件删除(即首地址0x3f7ff6存放的两个字),程序不能正常运行,所以我怀疑DSP还是运行的内部引导程序,我在DATASHEET上看到,如果能够复制EEPROM的内容,就不能再回到地址0x3f7ff6,因此,实验的现象似乎与TI 手册相矛盾,想问问有没有人做过SPI引导,给我些意见,非常感谢!

user5985206:

回复 Green Deng:

你好!我遇到的这个问题可能文字表达不清楚,我们可以电话沟通么,你可以留一下你的电话么,或者给我打电话,我电话是13134454407,不会打扰你太多时间的,这个问题对我来说真的是太重要了,非常感谢!

该工程我采用的是SPI外部引导,上电后可以成功的将EEPROM内容复制到ram中,但是如果将内部引导的文件codestartbranch.asm文件删除(即首地址0x3f7ff6存放的两个字),程序不能正常运行,所以我怀疑DSP还是运行的内部引导程序,我在DATASHEET上看到,如果能够复制EEPROM的内容,就不能再回到地址0x3f7ff6,因此,实验的现象似乎与TI 手册相矛盾,想问问有没有人做过SPI引导,给我些意见,非常感谢!

Green Deng:

回复 user5985206:

不好意思,这边不允许用私人联系方式。你可以尝试一下使用高级编辑器(回帖框的右下角),上传类似视频、文档等等方式描述一下你的问题。

该工程我采用的是SPI外部引导,上电后可以成功的将EEPROM内容复制到ram中,但是如果将内部引导的文件codestartbranch.asm文件删除(即首地址0x3f7ff6存放的两个字),程序不能正常运行,所以我怀疑DSP还是运行的内部引导程序,我在DATASHEET上看到,如果能够复制EEPROM的内容,就不能再回到地址0x3f7ff6,因此,实验的现象似乎与TI 手册相矛盾,想问问有没有人做过SPI引导,给我些意见,非常感谢!

user5985206:

回复 Green Deng:

我的程序主要是在函数_c_int00之前加了个bootloader函数,主要功能是三取二和将结果从flash搬移到ram区,因此,在文件DSP28xxx_CodeStartBranch.asm中,我将LB _c_int00改为LB _bootloader这样程序就可以正常运行,而且是内部引导的。现在,我想通过SPI外部引导,只想把copysection这部分放在外部EEPROM中,程序还是放在内部flash里,按照datasheet(SPRU095C)设计外部接口和数据格式,能够成功运行程序,为了判断该成功引导是外部引导,我将DSP28xxx_CodeStartBranch.asm里的LB _bootloader屏蔽(为了屏蔽内部引导),结果是外部EEprom正常将代码复制到指定的ram区域,但是程序不能成功运行,由此,我怀疑还是在运行的内部引导,但是我设置的是外部SPI引导,结果和预想的相冲突。

该工程我采用的是SPI外部引导,上电后可以成功的将EEPROM内容复制到ram中,但是如果将内部引导的文件codestartbranch.asm文件删除(即首地址0x3f7ff6存放的两个字),程序不能正常运行,所以我怀疑DSP还是运行的内部引导程序,我在DATASHEET上看到,如果能够复制EEPROM的内容,就不能再回到地址0x3f7ff6,因此,实验的现象似乎与TI 手册相矛盾,想问问有没有人做过SPI引导,给我些意见,非常感谢!

user5985206:

回复 Green Deng:

bootloader.c

该工程我采用的是SPI外部引导,上电后可以成功的将EEPROM内容复制到ram中,但是如果将内部引导的文件codestartbranch.asm文件删除(即首地址0x3f7ff6存放的两个字),程序不能正常运行,所以我怀疑DSP还是运行的内部引导程序,我在DATASHEET上看到,如果能够复制EEPROM的内容,就不能再回到地址0x3f7ff6,因此,实验的现象似乎与TI 手册相矛盾,想问问有没有人做过SPI引导,给我些意见,非常感谢!

user5985206:

回复 Green Deng:

0511.DSP28xxx_CodeStartBranch.asm

该工程我采用的是SPI外部引导,上电后可以成功的将EEPROM内容复制到ram中,但是如果将内部引导的文件codestartbranch.asm文件删除(即首地址0x3f7ff6存放的两个字),程序不能正常运行,所以我怀疑DSP还是运行的内部引导程序,我在DATASHEET上看到,如果能够复制EEPROM的内容,就不能再回到地址0x3f7ff6,因此,实验的现象似乎与TI 手册相矛盾,想问问有没有人做过SPI引导,给我些意见,非常感谢!

user5985206:

回复 Green Deng:

cmd.txt

该工程我采用的是SPI外部引导,上电后可以成功的将EEPROM内容复制到ram中,但是如果将内部引导的文件codestartbranch.asm文件删除(即首地址0x3f7ff6存放的两个字),程序不能正常运行,所以我怀疑DSP还是运行的内部引导程序,我在DATASHEET上看到,如果能够复制EEPROM的内容,就不能再回到地址0x3f7ff6,因此,实验的现象似乎与TI 手册相矛盾,想问问有没有人做过SPI引导,给我些意见,非常感谢!

Green Deng:

回复 user5985206:

额,非常抱歉,看了一下你的说明,跟我理解的SPI引导不同。没接触过你这种方法,这边处理不了这个问题,建议你转去E2E英文论坛上发帖咨询一下美国工程师:e2e.ti.com/…/171

该工程我采用的是SPI外部引导,上电后可以成功的将EEPROM内容复制到ram中,但是如果将内部引导的文件codestartbranch.asm文件删除(即首地址0x3f7ff6存放的两个字),程序不能正常运行,所以我怀疑DSP还是运行的内部引导程序,我在DATASHEET上看到,如果能够复制EEPROM的内容,就不能再回到地址0x3f7ff6,因此,实验的现象似乎与TI 手册相矛盾,想问问有没有人做过SPI引导,给我些意见,非常感谢!

user5985206:

回复 Green Deng:

想问一下,你用的SPI什么样子的?你看完我的说明,理论上有问题么?

该工程我采用的是SPI外部引导,上电后可以成功的将EEPROM内容复制到ram中,但是如果将内部引导的文件codestartbranch.asm文件删除(即首地址0x3f7ff6存放的两个字),程序不能正常运行,所以我怀疑DSP还是运行的内部引导程序,我在DATASHEET上看到,如果能够复制EEPROM的内容,就不能再回到地址0x3f7ff6,因此,实验的现象似乎与TI 手册相矛盾,想问问有没有人做过SPI引导,给我些意见,非常感谢!

user5985206:

回复 Green Deng:

我想问一下SPI引导方式下,EEPROM放得数据具体内容是.OUT文件的内容还是在RAM里运行的那段程序保存起来的内容呢???

赞(0)
未经允许不得转载:TI中文支持网 » TMS320F2812外部SPI引导错误
分享到: 更多 (0)