求助:为何LF2407A 仿真时不能全速运行
我用 的是2407A 的开发板,仿真器是XDS510,CCS3.3,仿真器能正常连接到开发板上,在仿真时单步运行没什么问题,可当全速运行时程序就不知道跑哪里去了,没有在我的while(1)循环中,以下是我仿真用的程序,初学DSP有很多不懂,请大侠指点:main.c
#include"stdio.h"
#include"2407.h"
unsigned int a=0;
unsigned int b=0;
unsigned int c=0;
void wait(void)
{
unsigned int i;
for(i=0; i<1000; i++)
{
if(i==200)
{
b=100;
b++;
}
}
}
void main(void)
{
asm(" setc INTM");/*禁止所有中断*/
asm(" clrc SXM");/*无符号扩展*/
asm(" clrc OVM");/*无溢出保护*/
asm(" clrcCNF");/*将块B0配置到数据存储区*/
*SCSR1 = 0X0600|0X0004;
a=0x1520;
*MCRA = 0X0000;
*PADATDIR = 0XFF00;
*PBDATDIR = 0XFF00;
*PBDATDIR = 0XFFFF;
a++;
*PBDATDIR = 0XFF00;
*PBDATDIR = 0XFFFF;
b++;
*PBDATDIR = 0XFF00;
*PBDATDIR = 0XFFFF;
c++;
while(1)
{
*PBDATDIR = 0XFF00;
wait();
*PBDATDIR = 0XFFFF;
}
}
cmd 文件
-stack 0x100
MEMORY
{
PAGE 0:
VECS: origin = 0x0000,length = 0x0040
FLASH: origin = 0x100,length = 0x7F00
SARAM_P:origin = 0x8001,length = 0x4000
PAGE 1:
B2: origin = 0x0060,length = 0x020
B0: origin = 0x200,length = 0x100
B1: origin = 0x300,length = 0x100
SARAM_D:origin = 0xc001,length = 0x4000
}
SECTIONS
{
.vectors:{} > VECS PAGE 0
.text: {} > SARAM_P PAGE 0
.cinit:{} > SARAM_P PAGE 0
.switch:{} > SARAM_P PAGE 0
.sysmem:{} > B1 PAGE 1
.bss: {} > B1 PAGE 1
.stack:{} > B0 PAGE 1
} 何谓全速?
没有加载程序吧!在SRAM中跑程序,不加载肯定不能脱机
改改cmd下到片内flash再运行 回复【1楼】learner123
-----------------------------------------------------------------------
加载程序了,不然单步也不会运行啊,对CMD文件 我还是一知半解,不知从何下手呢 建议多看看书,有很多dsp书都介绍cmd
页:
[1]