查看: 4560|回复: 3

0x4AAB 和 0x4555 这二个地址是起什么作用?

[复制链接]

该用户从未签到

1

主题

4

帖子

0

注册会员

Rank: 2

积分
69
最后登录
2020-8-12
发表于 2017-3-3 16:53:39 | 显示全部楼层 |阅读模式
char EraseFlash(void)
{
    byte *ptr555=(byte *)0x4AAB;
    byte *ptr2AA=(byte *)0x4555;
    word *ptrFlash=(word *)0x4000;
    word i;

    DPAGE=0x80;
    *ptr555=0xF0;

    *ptr555=0xAA;
    *ptr2AA=0x55;
    *ptr555=0x80;
    *ptr555=0xAA;
    *ptr2AA=0x55;
    *ptr555=0x10;
    while((*ptrFlash!=0xFFFF) && (++i<200))
    {
            ARMCOP=0x55;
            ARMCOP=0xAA;
            Pause(100);
    }
    *ptr555=0xF0;
    if(*ptrFlash!=0xFFFF) return ERR_NOTERASED;
    else return ERR_OK;
}
回复

使用道具 举报

  • TA的每日心情
    擦汗
    2021-9-9 22:51
  • 签到天数: 415 天

    [LV.9]以坛为家II

    79

    主题

    3088

    帖子

    21

    金牌会员

    Rank: 6Rank: 6

    积分
    5181
    最后登录
    2022-5-23
    发表于 2017-3-3 18:12:01 来自手机 | 显示全部楼层
    本帖最后由 ALTIUM2 于 2017-3-3 21:03 编辑

    这两个应该不是地址,是数据。该函数应该是对flash的擦除操作,而对FLASH的擦除操作需要满足一定时序。

    例如:SST39VFXXX flash芯片的擦除时序操作如下
    jietu.jpg

    还有能不能多点程序啥的,这么光秃秃的怎么看呢

    回复 支持 反对

    使用道具 举报

    该用户从未签到

    1

    主题

    4

    帖子

    0

    注册会员

    Rank: 2

    积分
    69
    最后登录
    2020-8-12
     楼主| 发表于 2017-3-7 20:33:48 | 显示全部楼层
    谢谢! 该函数的功能就是擦除FLASH
    0X4AAB 和0X4555 是二个地址,就像是5555H是一样的,我再找找我的FLAS资料看看.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2021-9-9 22:51
  • 签到天数: 415 天

    [LV.9]以坛为家II

    79

    主题

    3088

    帖子

    21

    金牌会员

    Rank: 6Rank: 6

    积分
    5181
    最后登录
    2022-5-23
    发表于 2017-3-7 22:37:14 | 显示全部楼层
    spp8 发表于 2017-3-7 20:33
    谢谢! 该函数的功能就是擦除FLASH
    0X4AAB 和0X4555 是二个地址,就像是5555H是一样的,我再找找我的FLAS资 ...

    嗯嗯,是俩地址,然后用总线输出数据,就是名字取得确实怪异啊。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2024-5-7 22:05 , Processed in 0.126202 second(s), 22 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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