你好,
我已经用keil5把ble\u app\u perpheral项目编程到我的设备上了-一切正常。
现在,我已经将我的DA14580设备连接到我的STM32F302VBT6板(对于Rx\Tx,连接到p0\U 5和p0\U 4),以便使用UART引导代码。
脚本:
1.重置设备(RST)。
2.等待设备的响应。
预期:
从设备获取响应(如果一切正常,通常应该发送0x02)。
实际结果:
超时(即没有从设备接收到任何内容)。
注意到两件事:
1.当我把prob放在Rx\Tx上时,我可以看到一个信号(即使RAM中没有程序)。信号来自设备本身。
2.当我直接编程ble\ U app\ U perpheral(使用SW和Keil)时,Rx\Tx引脚清晰(无信号)。
我的假设:
Rx\Tx上的信号干扰了STM32F302VBT6的代码引导。
所以我的问题是:
1.为什么Rx\Tx上有信号??
2.我该如何解决这个问题?
设备:
嗨,埃扎,
我不确定我是否明白你的问题到底是什么,所以我将试着评论一些关于580如何操作和靴子的事情。因此,当设备的系统内存中没有实际的固件时,ROM引导程序运行,这就是触发UART上的Rx/Tx活动的原因(不仅是UART,而且AN-B-001从串行接口引导中提到的所有可用引导接口),如果您在580上运行固件,那么引导程序不工作,580运行固件。因此,如果设备中没有fw,580将尝试从UART接口引导,如果设备具有allready引导,则设备没有理由再次执行bootoader。
谢谢你的对话
你好,
对不起,我不太清楚。这个问题很难解释。但我会再试一次。
据我所知,580设备没有闪存(即,当我关闭电源时,它的固件将被删除,因为它保存在RAM中)。
所以,当我使用Keil运行程序时,FW将被加载到RAM并被执行,当我关闭设备时,FW将被删除。
-对于我的调试来说,从Keil开始就足够了。
我现在的问题是通过UART引导FW(使用ST板FW)。当我试图从580设备接收信号时,总是会超时。
-所有引脚都正确配置了正确的波特率。我也遵循Dialog提供的AN-B-001 pdf的步骤。
-如前所述,当我把prob放在Rx\Tx上时,我可以看到一个信号(类似于噪音),即使我关闭了580设备,它的RAM也被删除了(也就是说,它没有我从Keil加载的FW)。
嗨,埃扎,
是的,这是正确的580没有闪光灯,一旦关闭电源的设备将失去其固件(除非你附加一个外部闪存设备)。
580从特定的uart对引脚(不仅是uart,还有额外的接口I2C和SPI)引导,具体波特率取决于您使用的引脚(例如P05和P04配置为57600波特率)。如果你有一个工作的设备,我想你这样做,因为它运行时,你加载一个从keil的固件,引导加载程序应该在上电时执行,这是默认的过程,580遵循,如果你不能看到启动时UART字节,你探测过没有外部STM设备连接到UART引脚的设备吗?您是否也尝试过从另一个源引导,例如使用智能代码段引导程序工具?
谢谢你的对话