嗨。我读的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 Programmer: Successfully download firmware file to DA14580。
[INFO @14-07-23 08:53:12] EEPROM Programmer:固件文件C:\dialog\Projects\resources\flash_program .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: 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 Programmer:请按单板上的硬件复位按钮来启动下载过程。
[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 download firmware file to DA14580。
[INFO @14-07-23 08:53:26] EEPROM Programmer:将偏移量设置为32
[INFO @14-07-23 08:53:26] EEPROM Programmer: Started burning memory with 6372 bytes of data at address 0x00020. [INFO @14-07-23 08:53:26] EEPROM Programmer:开始烧录6372字节的数据。
[INFO @14-07-23 08:53:26] EEPROM Programmer: Connection to COM5 port has successfully opened. [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 Programmer: Memory burning failed.(内存燃烧失败。)
亲爱的对话框,
排序-通过将智能片段连接设置为JTAG而不是UART。有了这种连接方法编程M24M01工作如梦,我可以从外部内存启动程序。完美的。我会再去看看UART连接出了什么问题。我成为一个真正的粉丝的智能片段!
非常感谢
亲爱的huwjones,
我使用智能片段和JTAG连接,它可以燃烧到I2C EEPROM。
在那之后,它仍然不能从EEPROM引导。它只是从EEPROM连续读取数据。
更多信息,EEPROM内存中的偏移量是0x20。
如何解决这个问题?
谢谢!
亲爱的Mansonhui,
一旦数据通过smartsnippets在内存中正确编程,我没有看到DA14580从外部I2C启动的任何问题。我可以使用JTAG或UART连接来执行编程,但必须确保Dialog Expert目标板上的CTS/RTS线路断开。我使用了以下内存连接:
P0_2 -> SCL, P0_3 -> SDA, M24M01除Vcc外的所有引脚均接地。我在SCL和SDA上用了4K3引体向上。如果您要成功地读回智能片段中的EEPROM内容,我只能认为要么DA14580引导序列在到达I2C扫描之前优先考虑不同的引导源,要么I2C内存无法响应引导读取。抱歉,我不能给你任何积极的回答,但你报告的“连续阅读”是代码没有被正确编程的症状。
最好的祝愿
亲爱的huwjones,
感谢您的回复。
我发现如果我按下RESET按钮,DA14580将会是“连续读取”。如果我拔下并插入usb电源,DA14580将读取一次,然后停止从EEPROM读取。
但在这种状态下,它仍然不起作用。iphone中的测试应用程序LightBlue无法找到它。
BRs
亲爱的员工,
我还发现DA14580不从EEPROM完全引导和停止读程序。
假设,程序大小是0x5440,但是它在EEPROM地址0x17xx处停止引导。“停止地址”每次都不同。
如何解决?
谢谢你!
BRs