先将TXT文件通过232下载转换到一个外存(AT45DB161E)与5438一样都是每512字节一页;下载完成检验正确后写入5838A出现问题;5438A不能运行;并且也不能再通过JTAG下载了;整
//*********************************************************
//不可以调用外部段的函数,因为可能已经擦除了!
void gengxin(void)@"MYSEG"
{
char *Flash_ptrD; // Flash pointer
unsigned int k,seg;
unsigned long i;
_DINT();
WDTCTL = WDTPW + WDTHOLD;//停止看门狗
//擦除操作
//Flash_ptr = (char*) MYSEG_end; // Initialize Flash pointer
seg=(MYSEG_end/512); //要擦除的开始段;本身不能擦除;从0x6000开始
for(i=seg;i<512;i++) //512页
{
while(FCTL3&BUSY); Flash_ptrD=(char*)(i*0x200); FCTL1 = FWKEY + ERASE; // Set Erase bit
FCTL3 = FWKEY; // Clear Lock bit
*Flash_ptrD = 0; // Dummy write to erase Flash segment
FCTL1 = FWKEY + WRT; // Set WRT bit for write operation
//编程操作
while(FCTL3&BUSY);
//外存第512块0地址对应于CPU_FLASH的0X5C00地址;实际页开始地址为:0x6000-0x5c00=1024;/2=2
//即从外存的第二页开始读
continous_gj_rd ((i-46),0,512,buf);//每次读512字节
for(k=0;k<512;k++)*Flash_ptrD++=buf[k];
while(FCTL3&BUSY);
FCTL1 = FWKEY; // Clear WRT bit
FCTL3 = FWKEY + LOCK; // Reset LOCK bit
}
while(FCTL3&BUSY);
//复位程序
WDTCTL =0;
}
个报废了;同样的程序在149上没有问题!有谁告诉怎么办?
SHU DAYUAN:
5438A自己写Flash会把芯片写坏吗?现在不理会仿真器了!每次都是“没发现器件或器件不支持”;换了一个5438A写一次又这样了!
gaoyang9992006:
回复 SHU DAYUAN:
我觉得可能把芯片内的固件擦掉了吧,不会这么崔融把430搞坏的。我一会儿给你找个参考,之前看到过类似的问题。
gaoyang9992006:
回复 SHU DAYUAN:
http://www.21ic.com/eva/MCU/201512/650476_4.htm
这个是432的,有时候弄不好就识别不了啦,这里有解决方法。你可以试试看看你的会不会是这种类似的问题。
SHU DAYUAN:
回复 SHU DAYUAN:
将IAR FET DEBUGGER的自动项全部手动指定;就可以下载仿真了;再设回来也正常了!谢谢TI的提示!
TI中文支持网
