打印
[KungFu32位 MCU]

EEPROM模块开发

[复制链接]
14860|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
liqinmulee|  楼主 | 2021-7-22 16:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 liqinmulee 于 2021-7-27 11:11 编辑

有没有使用CHIPON芯片开发过eeprom的小伙伴,Datasheet中Flash的说明以及样例程序都没有找到相关说明,想问问有没有做过相关开发的小伙伴。 用Flash模拟EEPROM,我看到有用户配置信息区,根据例程的写法,Write Byte前需要Page擦除,这个是不符合EEPROM功能需求的,请问这个片区可以按Byte擦除吗?

使用特权

评论回复
沙发
编号10086| | 2021-7-23 10:08 | 只看该作者
什么意思,是要把芯旺微的单片机做成eeprom的意思吗?还是要用它驱动一个eeprom外设?

使用特权

评论回复
板凳
李彬彬| | 2021-7-24 14:12 | 只看该作者
void Write_eeprom(unsigned char adder,unsigned char dat)
{
        NVMADDRL=adder;
        NVMDATAL = dat;
        __asm
        MOV         R5 ,#0x04
        MOV         _NVMCTL0,R5
        MOV         R5,#0x69
        MOV         _NVMCTL1,R5
        MOV         R5,#0x96
        MOV         _NVMCTL1,R5
        SET         _NVMCTL0 , 1        ;// 写存在高压,高压还原添加空指令确保后续运行正常
        NOPZ
        NOPZ
        NOPZ
        NOPZ
        NOPZ
        NOPZ                                                ;// 建议10条,至少2条
        NOPZ
        NOPZ
        NOPZ
        NOPZ
        MOV         R5,#0X00
        MOV         _NVMCTL0,R5
        __endasm;
}


unsigned char Read_eeprom(unsigned char adder)
{
        unsigned char ret;

        NVMADDRL = adder;

        NVMCTL0 = 0X01;
        __asm
        NOPZ
        __endasm;
        ret = NVMDATAL;

        return ret;
}

使用特权

评论回复
评论
李彬彬 2021-7-24 14:13 回复TA
8bit机的 4231 
地板
caigang13| | 2021-8-2 12:32 | 只看该作者
flash不能按字节擦出,只能按扇区,页

使用特权

评论回复
5
单片小菜| | 2021-8-2 17:19 | 只看该作者
你太厉害了,用汇编进行编写flash的驱动。

使用特权

评论回复
6
天意无罪| | 2021-8-8 17:46 | 只看该作者
FLash不利于拿来模拟成EEPROM使用,因为两者的存储介质和工作原理都不一样。

使用特权

评论回复
7
cyclefly| | 2021-8-12 15:55 | 只看该作者
这是两种存储,不能互相模拟吧。
模拟的话,只能是模拟一些读写时序,一般

使用特权

评论回复
8
两只袜子| | 2021-9-14 11:24 | 只看该作者
看来也是了不起的程序猿啊,哈哈

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

1

帖子

0

粉丝