[技术问答] NUC029SGE 内部FLASH操作请教。

[复制链接]
1526|9
 楼主| zzz5858662 发表于 2022-4-10 11:37 | 显示全部楼层 |阅读模式
现在用NUC029SGE,定义了两个页作为内部存储用。一个起始地址为0x3FC00,一个起始地址为0x3FE00,在程序应用时,对起始地址0x3FE00进行读写操作都是正常的,但是对起始地址为0x3FC00进行读写操作却是不行的。同样的代码,只是地址不一样。
int FlashRead(long subadd,unsigned short *dat,unsigned int len)
{
        unsigned int i;

        SetDataFlashBase(SHARP_SAVE_ADDR);
        SYS_UnlockReg();       
        FMC_Open();
        for(i = 0;i < len;i ++)
        {
                *dat++ = (short)FMC_Read(subadd);
                subadd += 4;
        }
        FMC_Close();
        SYS_LockReg();       
        return OPERATION_SUCCESS;
}


int FlashWrite(long subadd,unsigned short *dat,unsigned int len)
{
        unsigned int i;

        SetDataFlashBase(subadd);
       
        if(FlashErase(subadd) == OPERATION_SUCCESS)
        {
                SYS_UnlockReg();       
                FMC_Open();
               
                for(i = 0; i < len; i ++)
                {
                        FMC_Write(subadd,*dat++);
                        subadd += 4;
                }
               
                FMC_Close();
                SYS_LockReg();
               
                return OPERATION_SUCCESS;
        }
        return OPERATION_FAILED;
}


应用中 FlashWrite(0x3FC00,&aa[0],15);FlashRead(0x3FC00,&aa[0],15); 不管我把aa赋值为多少,写入读取后,aa都是0xFFFF
FlashWrite(0x3FE00,&aa[0],15);FlashRead(0x3FE00,&aa[0],15);只要我修改了aa的值后,写入读取均为我给aa所附的值。
 楼主| zzz5858662 发表于 2022-4-10 11:39 | 显示全部楼层
int FlashRead(long subadd,unsigned short *dat,unsigned int len)
{
        unsigned int i;

        SetDataFlashBase(subadd);
        SYS_UnlockReg();      
        FMC_Open();
        for(i = 0;i < len;i ++)
        {
                *dat++ = (short)FMC_Read(subadd);
                subadd += 4;
        }
        FMC_Close();
        SYS_LockReg();      
        return OPERATION_SUCCESS;
}
redone 发表于 2022-4-14 10:34 | 显示全部楼层
地址范围对么,这个片子没用过
tpgf 发表于 2022-5-2 10:34 | 显示全部楼层
一个页一般是多少字节啊
wowu 发表于 2022-5-2 11:22 | 显示全部楼层
一般flash操作都需要指针吗
xiaoqizi 发表于 2022-5-2 11:25 | 显示全部楼层
看代码没有什么问题啊
木木guainv 发表于 2022-5-2 11:33 | 显示全部楼层
需要手动指定地址吗
磨砂 发表于 2022-5-2 11:41 | 显示全部楼层
貌似不需要指定地址啊
晓伍 发表于 2022-5-2 11:50 | 显示全部楼层
操作flash的代码都差不多啊
sadicy 发表于 2022-5-2 16:06 | 显示全部楼层
差不多的,就是第一次用的时候会吃力一些
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

21

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部