搜索
bottom↓
回复: 9

28335Flash启动不起来,求问。

[复制链接]

出0入0汤圆

发表于 2013-3-28 17:15:34 | 显示全部楼层 |阅读模式
最近编写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();

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

发表于 2013-3-28 19:39:32 | 显示全部楼层
需要拉高的引脚是否拉高?(boot启动) 28035的Pin39需要拉高,28335就不清楚了

出0入0汤圆

 楼主| 发表于 2013-3-29 08:04:23 | 显示全部楼层
Bastagne 发表于 2013-3-28 19:39
需要拉高的引脚是否拉高?(boot启动) 28035的Pin39需要拉高,28335就不清楚了
...

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

出0入0汤圆

发表于 2013-3-29 08:14:30 来自手机 | 显示全部楼层
Nexus 发表于 2013-3-29 08:04
谢谢,貌似解决了,后来就没出现过,今天再测试下。
解决方法:
MemCopy(&RamfuncsLoadStart, &RamfuncsL ...

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

出0入0汤圆

 楼主| 发表于 2013-3-29 18:39:32 | 显示全部楼层
cc1989summer 发表于 2013-3-29 08:14
呵呵,建议多研究研究TI给的历程再发问,从flash 启动的历程也有,这句memcopy更是有的啊 ...

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

出0入0汤圆

发表于 2013-3-31 20:21:57 | 显示全部楼层
TI专门有一个文档,就是F28系列怎么从flash启动的,具体忘了,楼主打开28系列的datasheet,上面会有引用的,然后谷歌之

出0入0汤圆

 楼主| 发表于 2013-3-31 22:17:04 | 显示全部楼层
3080241078 发表于 2013-3-31 20:21
TI专门有一个文档,就是F28系列怎么从flash启动的,具体忘了,楼主打开28系列的datasheet,上面会有引用的 ...

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

出0入0汤圆

发表于 2015-8-5 13:24:40 | 显示全部楼层
我也是这个问题,按楼主说的解决了。但是仍然无法理解原因,在28335flash例程或者其他c2000芯片,那两句话都是贴在InitPieVectTable();后面的,而且都能运行。

出0入0汤圆

发表于 2015-8-5 20:51:41 | 显示全部楼层
贴完整代码

出0入0汤圆

 楼主| 发表于 2015-8-6 08:26:05 | 显示全部楼层

        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

按照上面的顺序初始化。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-26 08:01

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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