你好,
我正在尝试基于DA14580芯片编写UGMZAA001A蓝牙。我跟随对话框网站上的数据表和应用笔记,尝试加载固件示例(Prox_reporter)以开始使用此蓝牙开发,但不会成功。
我没有任何评估套件,我构建了一个定制的主板,参考阿尔卑斯山提供的原理图。
我管理了通过提供Hex2bin的工具的Keil生成的代码转换.hex,将数据放在MCU中,然后使用AN-B-001,第6.2节(第8页)发送命令。
我使用PIN P0_0,P0_1(UART)与MCU进行通信,我成功传递了每一步,通过确认位和CRC正确,直到我将从MCU发送到蓝牙的最后一个字节ACK(0x06)。
尽管所有此过程都有,蓝牙看起来不运行我只是上传的代码,它不断发送STX 0x02字节。我不知道默认情况下的蓝牙内部的引导载(可能有源?),但在AN之后,这些是最终步骤:
在引导码的最后步骤期间,Sys_Ctrl_reg寄存器被编程为:
1.重新映射到sysram(sys_ctrl_reg [remap_adr0] = 10)。
2.应用SW重置,因此系统在RempedApped地址开始执行代码
(sys_ctrl_reg [sw_reset] = 10)。
我需要了解更多有关此引导过程的信息。我尝试使用不同的例子而无需成功,而且也与智能片段一起成功。
请注意,目前我没有可能在OTP上上传辅助引导加载程序,所以如果有一个不包含OTP写的解决方案,那将更好。
所以,在决赛中,我需要知道哪些通讯(SPI,UART,..)可以用来上传RAM上的软件,这是要使用的引脚,所有这一切都可以允许正确上传和重置以启动我们的应用程序。
谢谢您的支持
设备:
嗨Slamvan,
我不知道您所提到的模块,关于启动加载程序,在启动期间执行580执行,是主引导程序,它在AN-B-001文档中介绍,源代码不可用。所有引脚的所有引脚都详细记录在文档AN-B-001中的所有PIN对中的所有引脚。如果获得适当的下载序列,事务与0x06成功完成,则意味着设备具有FW,也许上传到580的FW强制它将其重新启动(它转到平台重置,硬盘处理程序,等它启动了一个新的引导循环),您是否能够测试您正在下载到原型的.bin文件,并确保他们在工作时工作?
谢谢mt_dialog.