Nexus 发表于 2013-3-28 17:15:34

28335Flash启动不起来,求问。

最近编写28335程序,之前RAM里面跑一直都好好的,现在需要上板子调试了,所以就刷进了Flash里面。奇怪的是,写进去之后,DSP老是停在while(SysCtrlRegs.PLLSTS.bit.PLLLOCKS != 1)过不去,后面的程序也就没法执行了。想问问大家有没有遇到过这个问题,如何解决。
在从RAM运行移过来的时候更改了cmd文件,改成TI给的了,且在InitPieVectTable();//Initialize the PIE vector table with pointers to the shell Interrupt前面加上了下面两句:
MemCopy(&RamfuncsLoadStart, &RamfuncsLoadEnd, &RamfuncsRunStart);
InitFlash();

Bastagne 发表于 2013-3-28 19:39:32

需要拉高的引脚是否拉高?(boot启动) 28035的Pin39需要拉高,28335就不清楚了

Nexus 发表于 2013-3-29 08:04:23

Bastagne 发表于 2013-3-28 19:39 static/image/common/back.gif
需要拉高的引脚是否拉高?(boot启动) 28035的Pin39需要拉高,28335就不清楚了
...

谢谢,貌似解决了,后来就没出现过,今天再测试下。
解决方法:
MemCopy(&RamfuncsLoadStart, &RamfuncsLoadEnd, &RamfuncsRunStart);
InitFlash();
这两句贴到时钟初始化后面。。。

cc1989summer 发表于 2013-3-29 08:14:30

Nexus 发表于 2013-3-29 08:04
谢谢,貌似解决了,后来就没出现过,今天再测试下。
解决方法:
MemCopy(&RamfuncsLoadStart, &RamfuncsL ...

呵呵,建议多研究研究TI给的历程再发问,从flash 启动的历程也有,这句memcopy更是有的啊

Nexus 发表于 2013-3-29 18:39:32

cc1989summer 发表于 2013-3-29 08:14 static/image/common/back.gif
呵呵,建议多研究研究TI给的历程再发问,从flash 启动的历程也有,这句memcopy更是有的啊 ...

多谢指点,因为之前看了些资料,对这个书写的不是很全面,所以才上来提问的。

3080241078 发表于 2013-3-31 20:21:57

TI专门有一个文档,就是F28系列怎么从flash启动的,具体忘了,楼主打开28系列的datasheet,上面会有引用的,然后谷歌之

Nexus 发表于 2013-3-31 22:17:04

3080241078 发表于 2013-3-31 20:21 static/image/common/back.gif
TI专门有一个文档,就是F28系列怎么从flash启动的,具体忘了,楼主打开28系列的datasheet,上面会有引用的 ...

谢谢提醒。回头去好好研读下。

xxp123 发表于 2015-8-5 13:24:40

我也是这个问题,按楼主说的解决了。但是仍然无法理解原因,在28335flash例程或者其他c2000芯片,那两句话都是贴在InitPieVectTable();后面的,而且都能运行。

steaven2000 发表于 2015-8-5 20:51:41

贴完整代码

Nexus 发表于 2015-8-6 08:26:05

steaven2000 发表于 2015-8-5 20:51
贴完整代码

        InitSysCtrl();                                                                        //        PLL,WatchDog,Peripheral Clocks, 100M

/*Next Two Statements are used for running program from the FLASH*/
#ifdef BURNFLASH
        MemCopy(&RamfuncsLoadStart, &RamfuncsLoadEnd, &RamfuncsRunStart);
        InitFlash();
#endif
        DINT;                                                                                        //        Disable Interrupts
        InitPieCtrl();                                                                        //        Initialize the PIE control registers

按照上面的顺序初始化。
页: [1]
查看完整版本: 28335Flash启动不起来,求问。