b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

ccs混合编程设计程序_dsp软件是用ccs编程的_数控混合编程(12)

电脑杂谈  发布时间:2017-02-02 05:09:34  来源:网络整理

DSP:TMS320VC5416PGE160

FLASH:SST39VF400A-70-4C-EK都是贴片的,FLASH映射在DSP数据空间的0x8000-0xFFFF

软件环境: CCS v2.12.01

主程序(要烧入FLASH的程序):DEBUG版,程序占用空间0x28000-0x2FFFF(片内SARAM),中断向量表在0x0080-0x00FF(片内DARAM),数据空间使用0x0100-0x7FFF(片内DARAM)。因为FLASH是贴片的,所以需要自己编一个数据搬移程序,把要主程序搬移到FLASH中。在写入FLASH数据时,还应写入引导表的格式数据。最后在数据空间的0xFFFF处写入引导表的起始地址(这里为0x8000)。

搬移程序:DEBUG版,程序空间0x38000-0x3FFFF(片内SARAM),中断向量表在0x7800-0x78FF(片内DARAM),数据空间使用0x5000-0x77FF(片内DARAM)。搬移程序不能使用与主程序的程序空间和中断向量表重合的物理空间,以免覆盖。烧写时,同时打开主程序和搬移程序的PROJECT,先LOAD主程序,再LOAD搬移程序,然后执行搬移程序,烧写OK! 附:搬移程序(仅供参考)

volatile unsigned int *pTemp=(unsigned int *)0x7e00; unsigned intiFlashAddr;

int iLoop;

iFlashAddr=0x8000;

WriteFlash(iFlashAddr,0x10aa);

iFlashAddr++;

WriteFlash(iFlashAddr,0x7e00);

iFlashAddr++;

WriteFlash(iFlashAddr,0x8006);

iFlashAddr++;

WriteFlash(iFlashAddr,0x0002);

iFlashAddr++;

WriteFlash(iFlashAddr,0x8085);

iFlashAddr++;

WriteFlash(iFlashAddr,0x7f00);

iFlashAddr++;

WriteFlash(iFlashAddr,0x0002);

iFlashAddr++;

WriteFlash(iFlashAddr,0x8000);

iFlashAddr++;

for (iLoop=0;iLoop<0x7f00;iLoop++)

{

asm(' pshm al');

asm(' pshm ah');

asm(' rsbx cpl');

asm(' ld #00fch,dp');

asm(' stm #0000h, ah');

asm(' MVDM _iLoop, al');

asm(' add #2800h,4,a');

asm(' reada 0h');

asm(' popm ah');

asm(' popm al');

asm(' ssbx cpl');

WriteFlash(iFlashAddr,*pTemp);

iFlashAddr++; }

WriteFlash(iFlashAddr,0x0080);

iFlashAddr++;

WriteFlash(iFlashAddr,0x0000);

iFlashAddr++;

WriteFlash(iFlashAddr,0x0080);

iFlashAddr++;

for (iLoop=0;iLoop<0x0080;iLoop++) {

asm(' pshm al');


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/ruanjian/article-30043-12.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...