Cypress技术论坛
直播中

孙雅念

8年用户 546经验值
私信 关注
[问答]

无法写入CY14B108K的最后2个区块

在CX14B108K NVRAM中,在0xFFEO之后无法在替代位置写入。附屏幕截图。
请帮我解决这个问题…
谢谢。
写55.JPG
690.6 K

以上来自于百度翻译


     以下为原文
  unable to write in the alternative locations after 0xFFFEO in CY14B108K nvRAM.. attached the screen shot..
    please help me how to resolve this...
    Thanks.


回帖(1)

刘京

2019-4-8 12:04:54
嗨,Prabhu,
CY14B108K是一个8兆位,X8NVSRAM与RTC。最后16个地址位置(0xFFFF0到0xFFFFF)已被分配用于存储RTC数据。在写入RT寄存器中的任何数据字节之前,在写入寄存器@位置0xFFFF0中写入“W”位直到写入“W”位为止,这些最后16个地址缓冲器是不可写的。大多数RTC寄存器以BCD(二进制编码数字)格式存储数据,因此在一些RTC寄存器中的一些比特总是被设置为“0”,并且不能用用户数据编程。
实际数据存储器(用于存储用户数据的SRAM)在CY14B108K设备中为0x000到0xFFFF0。为了检查RTC更新是否正确,可以编写以下数据字节并进行回读。如果你没有清除“W”位到“0”,你可以读回你写的相同的数据,否则,如果你已经清除了“W”位到“0”,那么你会发现第二个寄存器(0xFFFF9)更新,如果晶体是连接在X1和X2之间并且它是振荡的。
0xffff0-0x02 -设置“W”位
0xFFFF1-0x20
0xFFFF2-0x00
0xFFFF3-0x00
0xFFFF4-0x00
0xFFFF5-0x00
0xFFFF6- 0x00
0xFFFF7- 0x00
0xFFFF8- 0x00
0xFFFF9- 0x00
0xFFFFA-0x00
0xFFFB-0x00
0xFFFC-0x03
0xFFFFD-0x23
0xFFFE-0x11
0xFFFFF -0x11
由您发送的日志报告还显示,由于用户内存的一部分,不可能发生位置读取0xFFFFE0到0xFFFFEF的数据读取。请只在内存位置0xFFFE0到0xFFFFF中写入数据(0x55或0xAA),回读并验证故障是否重复?
谢谢,
什文德拉
赛普拉斯半导体公司

以上来自于百度翻译


     以下为原文
  Hi Prabhu,
    CY14B108K is an 8 Mbit, x8 nvSRAM with RTC. Last 16 address locations (0xFFFF0 to 0xFFFFF) have been allocated for storing the RTC data.These last 16 address loactions are not writable until write "w" bit is set to "1" in the flag register @ location 0xFFFF0 before writing any data bytes in the RTC registers.  Most of the RTC registers store data in BCD (Binary Coded Digit) format, therefore a few bits in some RTC registers are always set to a "0" and can't be programmed with the user data. 
    Actual data memory (SRAM for storing user data) in CY14B108K device is 0x00000 to 0xFFFF0. To check whether RTC update are correct or not,  you can write the following data byte and read back. If you don't clear the "w" bit to "0", you can read back the same data you have written otherwise if you have cleared the "w" bit to "0" then you will find Second register (0xFFFF9) updating, if the crystal is connected across X1 and X2 and it is oscillating.
                                                           0xFFFF0 - 0x02 -Set the "w" bit
     0xFFFF1 - 0x20
     0xFFFF2 - 0x00
     0xFFFF3 - 0x00
     0xFFFF4 - 0x00
     0xFFFF5 - 0x00
     0xFFFF6 - 0x00
     0xFFFF7 - 0x00
     0xFFFF8 - 0x00
     0xFFFF9 -0x00
     0xFFFFA -0x00
     0xFFFFB -0x00
     0xFFFFC -0x03
     0xFFFFD -0x23
             0xFFFFE -0x11
     0xFFFFF -0x11
    Log report sent by you also shows that data read is failing for locations 0xFFFFE0 to 0xFFFFEF which is not likely to happen since its part of user memory. Please try writing data (0x55 or 0xAA) again only in memory locations 0xFFFFE0 to 0xFFFFEF, read back and verify whether failure is repeating?
    Thanks,
    Shivendra 
    Cypress Semiconductor
举报

更多回帖

发帖
×
20
完善资料,
赚取积分