3849|6

72

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

关于248 flash无法访问问题,郁闷中,请大侠指点!! [复制链接]

我使用TI给的例子程序,始终无法将FCTLx中读密码096H改为写密码0A5H,请问这是为何?
代码如下:
Flash_ptrA = (char *)0x1000; // Point to beginning of seg A
while(FCTL3 & BUSY);
FCTL2 = FWKEY + FSSEL_3 + FN3; // MCLK/3 for Flash Timing Generator
while(FCTL3 & BUSY);
FCTL1 = FWKEY + ERASE; // Set Erase bit
while(FCTL3 & BUSY);
FCTL3 = FWKEY + LOCKA; // Clear LOCK & LOCKA bits
*Flash_ptrA = 0x00; // Dummy write to erase Flash seg A
FCTL1 = FWKEY + WRT; // Set WRT bit for write operation
Flash_ptrA = (char *)0x1000; // Point to beginning of cal consts
for (j = 0; j < 8; j++)
*Flash_ptrA++ = 0x55; // re-flash DCO calibration data
FCTL1 = FWKEY; // Clear WRT bit
FCTL3 = FWKEY + LOCKA + LOCK; // Set LOCK & LOCKA bit
是否加忙判断,效果都一样!!
郁闷中,请大侠指点!!

最新回复

问题搞定了,的确是这样!  详情 回复 发表于 2009-8-26 11:59
 
点赞 关注

回复
举报

72

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
参考一下,不见得有用.

/***************************************************************/
inline void Control :: setup( const EEPROM_PARAMETERS *const pPARAMETERS )
{
FCTL2 = FWKEY + FlashClockIsACLK + FN1 ; // SMCLK/SMCLK_Divider for Flash Timing Generator
// 32*FN5 + 16*FN4 + 8*FN3 + 4*FN2 + 2*FN1 + FN0 + 1
FCTL1 = FWKEY + ( pPARAMETERS -> Mode ) ; // Set WRT bit for write operation
FCTL3 = FWKEY; // Clear Lock bit
}

/***************************************************************/
inline void Control :: reset( void )
{
FCTL1 = FWKEY; // Clear WRT bit
FCTL3 = FWKEY + LOCK; // Reset LOCK bit
}

/***************************************************************/
//Select_Write_Erase_Mode = WRT or ERASE
__monitor const unsigned short *Control :: pflash_operation( EEPROM_PARAMETERS *const pPARAMETERS )
{
//1----setup
setup( pPARAMETERS ) ;

//2----erase or write
*( pPARAMETERS -> pAddress ) = *( pPARAMETERS -> pData ) ;

//3----recovery
reset() ;

//4----return
return ( const unsigned short * )( pPARAMETERS -> pAddress ) ;
}
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
始终无法将FCTLx中读密码096H改为写密码0A5H?

这个啥意思?
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

4
 

实际上也就是无法修改flash读写控制的FCTLx的写密码问题。

430的flash写入,需要奖FCTLx密码改写为0xA5H(FWKEY)。
但我使用TI提供的例子程序,却没法修改FCTLx密码,始终都是0x96H。
不清楚具体原因。
 
 
 

回复

65

帖子

0

TA的资源

一粒金砂(初级)

5
 
呵呵,再仔细看用户指南吧,看里面对密码是怎么说的
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

6
 
你怎知FCTLx的写密码不是FWKEY-------TI的user guide说:FCTLx时,密码总是096H,即你要是读出了密码096H不能说你的写密码不是0A5H
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

7
 
问题搞定了,的确是这样!
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表