问题标签 [eeprom]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - eeprom空间中的变量地址作为C中的函数参数
我在 PIC24f16ka102 和 xc16 编译器中遇到了一个简单而快速的 C 问题。
我想将变量引用传递给我的函数。变量在 eeprom 空间中:
通过这个序列,我可以在 eeprom 内存中保存一些数据:
这样我将值 0x9876 写入 eeprom 的前 16 位。但我需要把它作为 &eeData
我想编写自己的函数:
但是如何将我的地址作为函数参数传递,以便我的函数可以看到它仍然是 eeprom 空间中的地址?它不能只是地址,因为如果这样我就会出错。__builtin 函数需要具有某些属性的地址,它是 eeprom 内存。
如何将带有属性的 eeprom 地址传递给我的函数?请帮忙
编辑:
谢谢你的建议,但我仍然得到同样的错误:
函数 __builtin_tbloffset 需要 eeprom 内存的地址,而不仅仅是某物的地址。如果我使用整个序列而不是函数(我的意思是我的第一篇文章中的序列),它会很好地工作。
现在我按照你所说的那样尝试:
甚至没有'*'符号:
结果还是一样。__builtin_tblpage 和其他 __builtin_(...) 函数是内置于 xc16 编译器的函数。
c - 使用指针访问 typedef 结构
目标:将结构成员的值写入内部缓冲区。
我有一个包含 Uint16 类型(无符号整数)成员的结构;这是其中的一小部分:
我的尝试:
这是一个旨在写入 eeprom 的函数:(为简单起见,大部分未显示;焦点发生在“for”循环中
当我尝试使用我的参数调用此函数时..
我收到不兼容的类型错误:
我的下一个想法是我需要一个中间人将它们组合在一起并使其成为兼容的匹配。关于我可以尝试什么的任何提示?谢谢
algorithm - 校验和算法逆向工程
我一直在分析一些 SPI EEPROM 存储器,并试图找出使用了哪种校验和算法;
例如,我有数据: 14567D9h 和校验和187h。假设它是正常的 16 位校验和,我得到86h - 不匹配,但在添加101h后它神奇地变为 391h
另一个例子: 8ADh和校验和B5h与这个是正常的 - 16 位校验和结果与精确数字:B5h(完美匹配)
我已经用我能够拦截的 28 个样本对其进行了检查。对于某些值,我必须将 101h 添加到校验和,而对于某些值,只需要对其进行总结。
奇偶校验不适合——如果你愿意,我可以分享更多数据——所有数据都收集在一个 Excel 文件中,并进行计算。经过几天和我朋友的头脑风暴,我们什么都没想出来:/
也许算法中有一些额外的部分,我还没有发现?检查了 CRC 和大量其他算法 - 只有 16 位校验和给出了任何有希望的结果提前感谢您的帮助!
我的电子表格副本:https ://drive.google.com/file/d/0B2FO0-Y1n-ySMUZ2VTVkME9tdm8/view?usp=sharing
c - EEPROM stroe 和初始化使指针从整数而不进行强制转换
我收到警告:
初始化使指针从整数而不进行强制转换
这是我的代码:
writeEEPROM 有:
我的问题在哪里。
也许是问题 2:如果我将联合地址发送到函数 writeEEPROM 中是否有可能?
embedded - 编译器如何将数据放在嵌入式系统的ROM上?
据我所知,嵌入式系统中的编译器将常量值,变量的初始化数据放在ROM(只读存储器)中。但是,ROM是只读的,意味着不能写,那么编译器在编程时怎么能写这些数据呢?
我认为这个嵌入式系统案例中的 ROM 主要是指 EEPROM 或闪存,意思是写权限。
在有操作系统和没有操作系统的嵌入式系统中,我的理解是否正确?
arduino - 在 Arduino 上编写 EEPROM 阵列
我想写下按钮打开或关闭的时间。
每次有人打开开关时,Arduino 都会存储这些信息。
c - 存储在 EEPROM 中的数据结构的卷影副本
我将 ARM GCC 用于 STM32F105RC 处理器。
在我的应用程序中,我现在有类似的东西:
第一个问题是如何正确确定 FFU 保留的字节数(上面用 X 标记)。
如果你说:X = 128 - (10 x 3 + 5 x 4 + 2) = 76,这不是真的!
X 的正确值是 66,因为编译器会对齐结构中的字段(至少与编译器的默认设置一致)。
整个结构必须有 128 个字节,因为它将被存储到/从 EEPROM 中恢复。该结构用作我们在 EEPROM 中的影子副本...
我的问题:每次我在 APPLICATION_CONFIG 结构中添加新字段(或更改某些内容)时,有没有办法(更好、更灵活)拥有卷影副本(用于 EEPROM)而不必弄乱 reservedFFU 大小?
c - 检查char数组是否不是垃圾?(有效字符)
我有一个 char 数组,它从硬件中的某个 EEPROM 设备读取数据,如果那里没有数据,它的值可以是任何东西(垃圾)。
我想检查他的值是否不是垃圾并且有一些有效的字符。
使用时strlen>1
我没有得到想要的响应(显然)。
我怎样才能检查它?
device - at25 spi eeprom 设备树
新手在这里。我已将 at25 eeprom 驱动程序安装为内核模块,但需要一个指针来创建设备树条目。我已经加载并测试了一个 SPI 设备树覆盖。任何帮助表示赞赏。TIA
python-2.7 - Aardvark I2C 从机 nack 问题
我按照此链接中的步骤操作:在 64 位 Windows 上使用 Aardvark 和 Python
我尝试使用命令提示符写入和读取字节(使用 aai2c_eeprom.py 从 EEPROM 写入和读取),即尝试通过键入读取时:
C:/Python27/python.exe aai2c_eeprom.py 0 300 read 0x51 1 4
.
我观察到我可以写入 EEPROM,但无法从 EEPROM 中读取任何字节。它打印:
错误:没有读取字节——你确定你有正确的从地址吗?
有谁知道为什么我会收到此错误消息?
注意:我使用的是 Microchip Technology 的 24LC024 EEPROM。您可以通过以下链接查看数据表:I2C 串行 EEPROM。根据此数据表,从机地址计算为 0x51。因此,我不知道为什么会收到从地址错误。
此外,当我使用 Total Phase 的 Flash Center SW 进行检查时,我得到了一个读取错误:
适配器:从 NACK。
提前致谢!