嗨。我读的http://support.dialog semiconductor.com/system/files/resources/an - b - 023% . .。在第7.2节中说明辅助引导加载程序不支持I2C。有什么特别的原因吗?
如果我们写代码到EEPROM,并想从那里引导它,这意味着我们必须有空的OTP,这意味着我们的产品很容易被那些可以从UART很容易地引导他们自己的代码的人滥用?
嗨。我读的http://support.dialog semiconductor.com/system/files/resources/an - b - 023% . .。在第7.2节中说明辅助引导加载程序不支持I2C。有什么特别的原因吗?
如果我们写代码到EEPROM,并想从那里引导它,这意味着我们必须有空的OTP,这意味着我们的产品很容易被那些可以从UART很容易地引导他们自己的代码的人滥用?
Hi Joacimwe,我们为特定的无线充电应用程序在SPI FLash配置上实现了二级引导加载程序,以加快引导时间,使其符合A4WP系统规范。在I2C中实现是可能的,只是我们还没有实现。
第二个问题:在回复你....之前,我需要确认一件事
BR JE_Dialog
你好Joacimwe,
启动过程空白的OTP:不能强制设备只从UART启动。在bootrom中设置启动顺序。见AN-B-001的表1。
启动过程在OTP中燃烧的辅助引导加载程序:是的,我们可以强制从UART启动。
BR JE_Dialog
亲爱的对话框,
我遇到了一个问题,使用智能片段设置启动代码在M24M01 i2C EEPROM。我使用WLCSP子板与Dev Kit,我假设它是01硅。当我试图对EEPROM编程时,日志给出了下面的消息。EEPROM上的SCL和SDA引脚是连续活动的,但我没有试图分析串行数据的内容。你知道这是怎么回事吗?
谢谢
[INFO @14-07-23 08:53:00] EEPROM程序员:成功下载固件文件到DA14580。
[INFO @14-07-23 08:53:12] EEPROM Programmer: Firmware File C:\dialog\Projects\resources\flash_programmer.bin已被选中
[INFO @14-07-23 08:53:12] EEPROM Programmer: Connection to COM5 port has successfully opened.日志含义
[INFO @14-07-23 08:53:12] EEPROM Programmer: Started download procedure…
[ACTION @14-07-23 08:53:13] EEPROM程序员:请按下主板上的硬件复位按钮,开始下载过程。
[INFO @14-07-23 08:53:18] EEPROM Programmer: Reset detected . [INFO @14-07-23 08:53:18
[INFO @14-07-23 08:53:19] Booter: Successfully disconnected from port COM5。
[INFO @14-07-23 08:53:19] EEPROM Programmer: Successfully downloading firmware file to DA14580. [INFO @14-07-23 08:53:19]
[INFO @14-07-23 08:53:26] EEPROM Programmer: Setting offset to 32
[INFO @14-07-23 08:53:26] EEPROM Programmer: starting burning memory with 6372 bytes of data at address 0x00020. [INFO @14-07-23 08:53:26]
[INFO @14-07-23 08:53:26] EEPROM Programmer: Connection to COM5 port has successfully opened.日志含义
[ERROR @14-07-23 08:53:36] EEPROM Programmer: Timeout while waiting to receive the most significant byte of packet length (10000 msecs)
[INFO @14-07-23 08:53:36] Booter: Successfully disconnected from port COM5。
[ERROR @14-07-23 08:53:36] EEPROM程序员:内存烧录失败。
亲爱的对话框,
排序——通过将Smart Snippets连接设置为JTAG而不是UART。使用这种连接方法,编程M24M01就像做梦一样,我可以从外部内存启动程序。完美的。改天我再回去看看UART连接出了什么问题。我正在成为一个真正的粉丝的智能片段!
非常感谢
亲爱的huwjones,
我使用智能片段和连接JTAG,它可以烧录到I2C EEPROM。
在此之后,它仍然不能从EEPROM引导。它只是连续读取EEPROM中的数据。
更多信息,在EEPROM内存的偏移是0x20。
如何解决这个问题?
谢谢!
亲爱的Mansonhui,
我没有看到DA14580从外部I2C启动有任何问题,一旦数据已经用SmartSnipets在内存中正确编程。我可以使用JTAG或UART连接来执行编程,但必须确保在Dialog Expert目标板上的CTS/RTS线路是断开的。我使用了以下记忆连接:
P0_2 -> SCL, P0_3 -> SDA, M24M01除Vcc外所有引脚接地。我在SCL和SDA上使用了4K3引体向上。如果您想成功地读回Smart Snippets中的EEPROM内容,我只能认为DA14580引导序列在到达I2C扫描之前对不同的引导源进行了优先级排序,或者I2C内存无法响应引导读取。抱歉,我不能给你任何积极的答案,但你报告的“连续阅读”是代码没有被正确编程的症状。
最好的祝愿
亲爱的huwjones,
谢谢你的回复。
我发现如果我按RESET按钮,DA14580将是“连续读取”。如果我拔下并插入usb电源,DA14580将读取一次,然后停止从EEPROM读取。
但在这种状态下,它仍然不能工作。iphone上的测试应用无法找到它。
BRs
亲爱的员工,
我还发现DA14580没有完全从EEPROM引导并停止读程序。
假设,程序大小是0x5440,但是它在EEPROM地址0x17xx停止引导。“停止地址”每次都不一样。
如何解决?
谢谢你!
BRs