如何编写dsp的程序 28335

如何编写dsp的程序 28335,第1张

1. 添加F28335.GEL, 文件路径:C:\CCStudio_v3.3\cc\gel\F28335.gel;

2. 添加C:\CCStudio_v3.3\MyProjects\WDPT_STEP(DSP)10\Source\DSP2833x_CodeStartBranch.asm文件,此文件负责上电后程序执行顺序跳转的;

3. 修改工程的build option,将LINKER中的Autoinit参数改成:Run-Time Autoinitial;

4. 添加DSP281x_Headers_nonBIOS.cmd文件,用于将DSP28头文件中的外设结构与存储器地址对应起来;

5. 向工程中添加C:\CCStudio_v3.3\MyProjects\WDPT_STEP(DSP)10\F28335.cmd文件,它是用于flash烧写的CMD文件,用于替换原有的用于RAM中调试的28335_RAM_lnk.cmd文件。

main()

{

int i

unsigned int * px

unsigned int * py

unsigned int * pz

px=(unsigned int *)0x80000

py=(unsigned int *)0x80100

//-----请按实验要求将程序补充完整-----//

while(1)

{

for(i=0i<16i++)

{

scanf("%d",(px+i))

*(py+i)=0

}

printf("\n")

pz=px

px=py

py=pz

for(i=0i<16i++)

printf("%d",(py+i))

printf("\n")

}

// 在此加软件断点

}

这几句是将FLASH中的程序COPY到RAM中运行,通常的目的是加快程序的运行速度,通常有两种情况需要这样去 *** 作:

1、程序中对基要求比较高的函数,如中断;

2、程序需要对FLASH进行 *** 作,这时就要把程序先复制到RAM中运行然后才能对FLASH *** 作。

RamfuncsLoadStart、RamfuncsLoadEnd、RamfuncsRunStart这三个变量是在CMD文件中创建的,创建方式如下:

LOAD_START(RamfuncsLoadStart),

LOAD_END(RamfuncsLoadEnd),

RUN_START(RamfuncsRunStart),

分别表示了装载函数的首地址,装载函数的结束地址和装载函数的运行地址;

执行完MemCopy(&RamfuncsLoadStart, &RamfuncsLoadEnd, &RamfuncsRunStart)后,便将FLASH中相关的程序COPY到了RAM中,之后的程序运行时,只要调用FLASH中RamfuncsLoadStart地址开始的相关函数,系统都会自动地指向RAM中相应的函数入口地址运行。

求采纳为满意回答。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/11357759.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存