查看: 2754|回复: 3

奇怪DZ60的Flash擦写

[复制链接]

该用户从未签到

4

主题

42

帖子

0

注册会员

Rank: 2

积分
108
最后登录
1970-1-1
发表于 2014-1-4 18:26:28 | 显示全部楼层 |阅读模式
在CW里设置Breakpoint证明程序有运行到Flash擦写子程序,在汇编框里也看到的确是在RAM段里运行该子程序,可是在地址框里看或者用个变量读出来都证明没擦写成功,求教大家???
 
 擦写FLASH程序是正确的,我在另一个工程里,把整个main配置到RAM里运行,擦写正常,读出来也正常 
 
回复

使用道具 举报

该用户从未签到

4

主题

42

帖子

0

注册会员

Rank: 2

积分
108
最后登录
1970-1-1
 楼主| 发表于 2014-1-10 09:49:54 | 显示全部楼层

RE:奇怪DZ60的Flash擦写

无人争夺我!!!
回复 支持 反对

使用道具 举报

该用户从未签到

0

主题

19

帖子

0

注册会员

Rank: 2

积分
61
最后登录
2020-6-20
发表于 2014-4-17 09:31:37 | 显示全部楼层

RE:奇怪DZ60的Flash擦写

那后面怎么解决了,我现在也想用RAM擦写Flash,但是仿真的时候都没看到写进入
回复 支持 反对

使用道具 举报

该用户从未签到

0

主题

2

帖子

0

新手上路

Rank: 1

积分
13
最后登录
1970-1-1
发表于 2014-4-26 18:00:35 | 显示全部楼层

回复:奇怪DZ60的Flash擦写

我遇到的问题是,擦写不成功,流程完全按照手册来的,请赐教
#define DZ60_FLASH_BASE_ADDR    0x1900
#define DZ60_FLASH_SECTOR_SIZE (768)
#define DZ60_FLASH_SECTOR_NUM  (77)
#define DZ60_FALSH_SIZE (DZ60_FLASH_SECTOR_NUM * DZ60_FLASH_SECTOR_SIZE) //59316

Bool S08FlashSectorErase(unsigned char sector)
{
        unsigned short *addr = NULL;
        if(FSTAT_FACCERR == 1)     //check  to see if FACCERR is set
        {
                FSTAT_FACCERR = 1;        //write 1 to FACCERR to clear
        }                     
        addr = (unsigned short *)SECTOR_TO_SECTOR_BASE_ADDR(sector);
        *addr = 0;                                //写数据到flash
 
        FCMD=0x40;                  //  set command type     sector erase
        FSTAT_FCBEF = 1;           //put FCBEF at 1
 
        _asm NOP;
        _asm NOP;
        _asm NOP;
        _asm NOP;
        _asm NOP;
        _asm NOP;
        _asm NOP;       //wait four cycles 
 
        if(FSTAT_FACCERR == 1)              //check to see if FACCERR or FPVIOL are set
        {
                return FALSE;              //if so ,Error
        }  
        while (FSTAT_FCCF!=1);                //wait for command to complete
 
        return TRUE;
}
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-8-1 04:25 , Processed in 0.082816 second(s), 22 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表