你好呀,
我想使用UGMZ2AA作为通信接口(接收器/发射器)。在PCB上,我想使用UART馈送数据。在另一边(PC,智能设备左侧),我想拥有虚拟化语。
我与SmartSnippets Studio一起玩过,并尝试使用UART模式访问EEPROM。嗯,在板上设置下,我将所有内容设置为指定的自定义PCB。UART使用(p0_0 [tx,rx],p0_1),i2c使用p0_6 [SCL]和P0_7 [SDA]。SPI未使用并设置为P2_3,P2_2,P2_1,P2_0。
我能够使用来自Segger或UART的JTAG程序员来编程模块,并且模块显示。到目前为止,我还没有想出如何访问EEPROM来存储程序。
一些问题:
我注意到模块只有当重置为低时可编程,这是正确的吗?
该程序仅存储了这么久。重置后,程序消失。
电源后,模块会失去其编程,右图?我必须将固件放在EEPROM(I2C)中或闪存(SPI)中将其永久保留?
模块是否检查了EEPROM的所有可能的地址,也可以在SmartSnippet中定义一次吗?
I2C选项,如何解释设备地址?1010 0000 - > 0xA0或0x50?我见过两者,我在文档中找不到任何规范。
亲切的问候
关键词:
设备:
嗨afkiwers,
我强烈建议检查DA14580数据表第4.8.2段,根据数据表,复位很高,因此如果重置较低,则无法下载固件或附加JTAG接口。重置后,芯片将再次执行BootRom代码。当您切断电源时,如果您的固件从Sysram运行将丢失,因此您应该刻录SPI Flash,EEPROM或OTP才能永久保留它。请访问从串行启动的DA1458X
界面(AN-B-001)描述了DA1458x如何在OTP内存未编程时从外部串行设备启动?第6.4段,介绍了芯片从I2C从站引导的方式,因此您能够从引导突发检测到主机发送读取命令,从站响应特定数据。引导码最初扫描以查找A端址0x50最多0x57的I2C从设备,因此您不应该在SmartSnippet中定义该I2C从设备。关于设备地址,请注意,LSB用于写入/读取命令,因此数据是其他7位。因此,1010 0000地址由一个偏移,并被解释为0x50。
谢谢,PM_DIALOG.
你好呀,
谢谢你的建议!一旦我有时间测试它,我会读它并回来。