[应用方案]

新唐N76E003关于FLASH当eeprom重大问题

[复制链接]
4687|51
手机看帖
扫描二维码
随时随地手机跟帖
尛舞icc|  楼主 | 2019-4-16 09:06 | 显示全部楼层 |阅读模式
如题:每次用N76E003的flash当eeprom都会出问题,会出现没存进去,或者程序直接死机,或者一直复位;
程序小一点可以存储,程序稍微大一点  存储就会失败,似乎超过8K 就会出问题,而且官方的例程是错的
另外如果用数组const常量数据用大一点,也出问题。
请问有没官方专业人士出来解释一下,这个芯片还能不能用......  几个数据存储每次都出问题,请问如何解决这个问题

使用特权

评论回复
lomo1316| | 2019-4-16 09:30 | 显示全部楼层
暂时没发现问题啊,说一下什么情况下会有问题,是不是自己没搞清楚

使用特权

评论回复
评论
jiangshaoling 2020-11-20 16:39 回复TA
@lomo1316 :带USB功能 M032系列 
lomo1316 2019-4-17 13:02 回复TA
@我就是我的天使 :没有用过,不知道哦 
我就是我的天使 2019-4-17 08:47 回复TA
@lomo1316 :N32903U1DN 
lomo1316 2019-4-16 16:44 回复TA
@我就是我的天使 :USB功能?哪一款单片机 
我就是我的天使 2019-4-16 14:40 回复TA
你好,我用新塘的单片机USB为啥连不上,串口能打印,能仿真,你知道为啥么 
21mengnan| | 2019-4-16 11:49 | 显示全部楼层
新唐N76E003的内存架构
1K-数据内存(RAM)

内部RAM:256字节
片上XRAM:768字节
18K-编程内存(FLASH)

应用ROM(APROM):存储用户代码,128字节/页

加载ROM(LDROM):存储启动代码,128字节/页

CONFIG字节:硬件初始化

(APROM + LDROM = 18K,当LDROM为0时,APROM的地址:0x0000~0x47FF)

使用特权

评论回复
21mengnan| | 2019-4-16 11:50 | 显示全部楼层
每次存完要进行验证。确认。

使用特权

评论回复
condition| | 2019-4-16 16:05 | 显示全部楼层
还是自己的用法有问题你吧。多检查一下看看

使用特权

评论回复
jiekou001| | 2019-4-16 16:18 | 显示全部楼层
搜一下本板块,貌似有人说过注意事项。

使用特权

评论回复
qiangtech| | 2019-4-16 16:55 | 显示全部楼层
N76E003是用的FLASH 模拟的EEPROM,你存储的地址应该大于程序的长度。而且,官方例程中,在写FLASH的时候,会使用0X80开始的128 BYTE的XDATA ,如果你的程序用了XDATA,而且超过0X80,就会出错了。你可以修改一下这个起始地址来配合程序,还是可以用的。

使用特权

评论回复
稳稳の幸福| | 2019-4-16 23:45 | 显示全部楼层
要规划好空间使用。

使用特权

评论回复
稳稳の幸福| | 2019-4-16 23:45 | 显示全部楼层
你说经常那么就是有时候是没问题的,说明可能程序设计中没有考虑硬件本身。

使用特权

评论回复
ayb_ice| | 2019-4-17 13:17 | 显示全部楼层
问题这么多,只能是自己的问题

使用特权

评论回复
xbyu520| | 2019-4-18 16:11 | 显示全部楼层
我最近有个项目,需要掉电存储,也是这个型号单片机,只能用flash.你应该说清楚一点,大家也好帮忙分析。

使用特权

评论回复
xbyu520| | 2019-4-18 16:35 | 显示全部楼层
真是如你所说,我还真不敢用了

使用特权

评论回复
pigluffy| | 2019-4-20 00:58 | 显示全部楼层
本帖最后由 pigluffy 于 2019-4-20 01:01 编辑

我有想到一個可能性,就是你的code size已經超過eeprom的起始位址;

如你eeprom起始位置在0x3800,但是你的code size 已經到 0x3890,這樣就會造成程式出現非預期的錯誤。

使用特权

评论回复
pigluffy| | 2019-4-20 01:11 | 显示全部楼层
qiangtech 发表于 2019-4-16 16:55
N76E003是用的FLASH 模拟的EEPROM,你存储的地址应该大于程序的长度。而且,官方例程中,在写FLASH的时候, ...

對,如同qiangtech大一樣的觀點,code size 超過eeprom的起始位址

使用特权

评论回复
734774645| | 2019-4-20 07:21 | 显示全部楼层
内部的存储区要搞清楚都怎么用

使用特权

评论回复
尛舞icc|  楼主 | 2019-4-24 08:04 | 显示全部楼层
lomo1316 发表于 2019-4-16 09:30
暂时没发现问题啊,说一下什么情况下会有问题,是不是自己没搞清楚

void eeprom_write(UINT16 u16_addr,UINT8 u8_data)
{
        UINT8 looptmp=0,u8_addrl_r;
        unsigned char code *cd_longaddr;
        unsigned char xdata *xd_tmp;
       
        u8_addrl_r = u16_addr;
        if (u8_addrl_r<0x80)
        {
                u8_addrl_r = 0;
        }
        else
        {
                u8_addrl_r = 0x80;
        }
        xd_tmp = 0x80;
        cd_longaddr = (u16_addr&0xff00)+u8_addrl_r;       
        while (xd_tmp !=0x100)
        {
                *xd_tmp = *cd_longaddr;
                looptmp++;
                xd_tmp++;
                cd_longaddr++;
        }
        u8_addrl_r = u16_addr;
        if (u8_addrl_r<0x80)
        {
                xd_tmp = u8_addrl_r+0x80;
        }
        else
        {
                xd_tmp = u8_addrl_r+0;
        }
        *xd_tmp = u8_data;
                IAPAL = u16_addr;
                IAPAH = u16_addr>>8;
                IAPFD = 0xFF;
          set_IAPEN;
                set_APUEN;
    IAPCN = 0x22;                
                set_IAPGO;
        u8_addrl_r = u16_addr;
        if (u8_addrl_r<0x80)
        {
                u8_addrl_r =0;
        }
        else
        {
                u8_addrl_r = 0x80;
        }
                xd_tmp = 0x80;
          IAPAL = u8_addrl_r;
    IAPAH = u16_addr>>8;
                set_IAPEN;
                set_APUEN;
          IAPCN = 0x21;
                while (xd_tmp !=0xFF)
                {
                        IAPFD = *xd_tmp;
                        set_IAPGO;
                        IAPAL++;
                        xd_tmp++;
                }
                clr_APUEN;
                clr_IAPEN;
}


这个是我用的代码   程序写大点    运行这个保存函数  就死机

使用特权

评论回复
尛舞icc|  楼主 | 2019-4-24 08:07 | 显示全部楼层
xbyu520 发表于 2019-4-18 16:35
真是如你所说,我还真不敢用了

建议你慎用, 别的芯片用eeprom都没问题,一用这个芯片,三天两头出问题    恶心死了   demo程序也是错的,我也是服了

使用特权

评论回复
尛舞icc|  楼主 | 2019-4-24 08:08 | 显示全部楼层
ayb_ice 发表于 2019-4-17 13:17
问题这么多,只能是自己的问题

也许吧     但这个芯片确实存在这个问题

使用特权

评论回复
尛舞icc|  楼主 | 2019-4-24 08:08 | 显示全部楼层
稳稳の幸福 发表于 2019-4-16 23:45
你说经常那么就是有时候是没问题的,说明可能程序设计中没有考虑硬件本身。 ...

不明白   这个芯片使用 还要考虑这么多    感觉选择这个芯片就是个错误

使用特权

评论回复
尛舞icc|  楼主 | 2019-4-24 08:09 | 显示全部楼层
稳稳の幸福 发表于 2019-4-16 23:45
你说经常那么就是有时候是没问题的,说明可能程序设计中没有考虑硬件本身。 ...

不明白   这个芯片使用 还要考虑这么多    感觉选择这个芯片就是个错误

使用特权

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

本版积分规则

67

主题

230

帖子

2

粉丝