大家帮忙看看,2812 程序下载到FLASH 运行怎么回事?
各位好,我今天刚焊好的板子,想烧程序试试。在RAM里运行都好的,一个灯一秒一闪。就这么简单。但是下载到FLASH里就没反应了。什么反应都没有。CMD文件我都用的时TI的标准的,一个字也没改啊。各位看看,第一,跳线的地方我改了。第二CMD文件改了,第三下载程序用“云型”的烧录 。这几点我都注意了。还需要注意哪些?还有个图给大家看看,下载的时候也没有抱任何错误。http://cache.amobbs.com/bbs_upload782111/files_48/ourdev_700303QPWCUB.GIF
(原文件名:未命名.GIF) 在线等候啊!! 找到原因了是这个 ConfigCpuTimer(&CpuTimer0, 100, 1000000);函数老外写的 我用了后根本就不是一秒,比一秒钟长。我外部晶振20M ,PLL给的10.怎么不对呢?按照老外这个程序应该是1秒=1000000*1微妙中间100是CPU频率100M吧? 不好意思,我刚才在RAM里跟了,1秒钟是对的。我的程序在RAM里没有问题。但是一烧到FLASH里有没有反应了?怎么回事啊????
./emotion/em073.gif./emotion/em073.gif./emotion/em073.gif 大家帮我想想办法吧。就一个用TIMER点一个灯都不行啊!!!!55555555555555555555 所有该加的我都加了 关于C文件的配置。
首先在F2812.CMD文件中,我们可以看到有关于加载FLASH到RAM的内容:
ramfuncs : LOAD = FLASHD,
RUN = RAML0,
LOAD_START(_RamfuncsLoadStart),
LOAD_END(_RamfuncsLoadEnd),
RUN_START(_RamfuncsRunStart),
PAGE = 0
以及在C文件中调用FLASH 到RAM的函数memcpy,将它放在系统初始化(InitSystem();)之后即可:
InitSystem();
memcpy(&RamfuncsRunStart,
&RamfuncsLoadStart,
&RamfuncsLoadEnd - &RamfuncsLoadStart);
Initflash();
所以,我们需要定义所用变量:
extern Uint16 RamfuncsLoadStart;
extern Uint16 RamfuncsLoadEnd;
extern Uint16 RamfuncsRunStart;
我都都加了为什么还是不行啊?我就想在FLASH里运行个简单程序 没有那么难吧? 哈哈问题已经解决,差点冤枉了TI了,是本人的低级错误导致的。是在难为情啊。 想跟你交流,加QQ:(1770825419);
页:
[1]