论文首页哲学论文经济论文法学论文教育论文文学论文历史论文理学论文工学论文医学论文管理论文艺术论文 |
2 TMS320VC5416对SST39VF200的在系统编程
2.1 SS39VF200芯片介绍
SST39VF200的操作不像一般的RAM和ROM,除了读数据的过程一样外,其它的操作都不相同,必须按照一定的顺序来执行。
2.2 TMS320VC5416对SST39VF200的编程操作
通常,在对FLASH进行编程之前,必须将FLASH中待写的区域进行擦除,然后才能进行编程操作。需要注意的是,每次对FLASH发出操作命令后,必须等到FLASH完成本次操作才能发送下一个操作命令。判断FLASH执行命令完毕的方式有两种,一是利用数据位D7判断,如果FLASH尚未完成操作,则读该位总是为低,完成操作后该位变成高;二是利用数据位D6判断,如果FLASH尚未完成操作,则相邻两次读到的D6位的值不同。当两次读到的D6位的值都是一样的,表明FLASH完成了本次操作。
下面以数据位D6判断操作完成与否,说明TMS320VC5416对SST39VF200写操作的具体过程,其它操作过程与该过程基本相同。
Void Word_Program(uint * Ad,uint DQ) //Ad为编程地址,DQ为编程数据
{
uint *Ad_Temp,Temp1,Temp2; //定义临时地址指针和数据变量
Ad_Temp=(uint *)(0x55555); //第一个写周期
*Ad_Temp=0x5555; //给地址0x5555,写数据0x00AA
Ad_Temp=(uint *)(0x2AAA); //第二个写周期
*Ad_Temp=0x0055; //给地址0x2AAA,写数据0x0055
Ad_Temp=(uint *)(0x5555); //第三个写周期
*Ad_Temp=0x00A0; //给地址0x5555写数据0x00A0