|
我用 的是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(" clrc CNF"); /*将块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
} |
阿莫论坛20周年了!感谢大家的支持与爱护!!
一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。
|