示例说明¶
DA14531具有集成的ARM Cortex M0 +,可用于编程和控制SoC。由于表单少,ARM皮质具有其限制。用于集成微处理器的限制的解决方案可以使用外部微处理器。要使用此微处理器控制DA14531,DA14531还需要一些代码。幸运的是,DA14531可以从RAM执行可以在引导序列期间加载的RAM的代码。以这种方式,微控制器可以将程序加载到DA14531上。
此示例的目标是展示如何通过STM32微控制器将程序加载到DA14531的RAM中。此示例显示了代码的流程以及如何配置它。在此示例中在DA14531上启动的程序称为无附带无数。用于引导无附件的接口是UART。无附带是对话框的解决方案,将与DA14531与命令接口。可以在无附件和使用中找到更多信息这里。在此示例中,它只用于验证程序是否已正确加载。
- 该示例可以从中下载这里
2. HW和SW配置¶
2.1。需要硬件¶
- PC工作站
- Clicker 2为STM32开发板由Mikroe
- DA14531单击使用辅助引导加载程序(secodat_bootloader.bin.包含在项目中。)
- Segger J-Link
- (可选)DA14531开发套件Pro主板
2.2。使用辅助引导加载程序进行编程BLE TINY单击¶
对话框Flash程序员可用于编程BLE TINY单击的闪光灯,可以找到闪存程序员这里。使用可以找到的SmartSnippet Toolbox编程BLE TINY的闪光灯的另一个选项这里。
编程闪光灯的第一步是将BLE TINY单击连接到编程接口。对于此DA14531,可以使用DA14531开发套件Pro主板或Segger J-Link。在下面的图像中,可以查看两个选项的连接。
DA14531开发套件Pro主板
Segger J-LNK
下一步是编程BLE TINY单击。第一个要解释的是对话框闪存程序员之后SmartSnippets工具箱
对话框闪存程序员
启动对话框闪存程序员。在屏幕中,可以观察到两个选项,将设备与文件编程和文件编程和文件进行编程到设备。首先点击浏览并选择到的路径secodat_bootloader.bin.。接下来选择用于编程的设备(设备由其序列号显示,可以在Segger或主板上找到。)
在这些步骤之后,程序员应该如下所示:
最后点击程序并且BLE TINY CLICK应使用次级引导加载程序进行编程。
SmartSnippets工具箱
打开SmartSnippets工具箱。第一步是通过单击来设置设备新的。为设备设置提供名称,例如:小点击并且可选地描述。单击“保存”,设置应显示在左侧面板中,单击它。在选择中请选择COM端口或JTAG序列号:选择JTAG.。接下来选择Segger或主板的序列号。在右侧面板中选择DA14531.并且设置应该是正确的。它应该如下所示:
下一步点击打开并且工具箱应在编程屏幕上打开。首先选择secodat_bootloader.bin.点击加载hex / bin文件并遵循打开的刷子中的选项。下一步点击连接连接后,单击烧伤和验证辅助引导加载程序应该是programmd。最终结果应该如下所示:
2.3。硬件配置使用Clicker 2用于STM32和Mikroe BLE Tiny Click¶
- 使用SWD配置将J-Link Segger连接到Clicker 2的STM32 J-Tag标头
- 把DA14531 Clickboard在第二mikroBUS™为STM32答题2的时隙(时隙1,可以使用,但变化必须的代码配置进行,这是进一步对本文件中所说明的)
2.4。软件配置¶
这个例子需要:
- 凯勒5.
- Segger的J-Link应下载和安装工具。
- 智能手机的BLE扫描仪(在此示例中使用了用于Android的BLE扫描仪)
码
运行代码
打开位于的Keil项目文件Project_environment / MDK-ARM文件夹,一旦打开,请单击“目标的选项......按钮。在此屏幕中转到调试并将调试器设置为J-Link / J-Trace Cortex设置调试器后点击设置按钮。在此屏幕中,选择已连接并设置的J-Link模块港口:至sw。保存这些设置。
在设置所有设置后,可以构建项目。请按建造按钮或者F7.开始建立项目的关键。当建立完成后按下启动/停止调试会话按钮或关键组合Ctrl + F5将程序加载到STM32中。
在调试屏幕中按下跑步按钮或者F5.启动程序的键和引导过程应该启动。
3.预期结果¶
按下运行按钮后约5秒后,DA14531应开始广告本身无代表(这是无附庸的标准广告名称)。在启动成功之后,可以从BLE扫描仪看到屏幕截图下方。
4.代码设置¶
引导过程有两个选项1线UART和2线UART,在此示例中,引导过程通过2线UART完成。这可以通过传递来配置两个壁或者one_wire.到启动功能。
引导功能的另一个重要参数是CRC参数。CRC是检查DA14531收到的代码是否正确。它是用的crc_calculate.函数并传递给启动功能。
在boot_config.h中,可以找到两个设置。boot_attempts和timeout_time定义这些设置。boot_attempts决定了启动引导过程时应该采取多少次尝试。TimeOut_time定义UART应该在收到的字节前等待的时间量,这是一个阻塞过程。
5.副本¶
该项目是使用STM32Cubemx设置的,并且在项目中提供了.IOC,所以如果用户需要更改,因此可以进行更改。STM32Cubemx中使用的设置如下:
例如,UART引脚可以改变为引脚PD5.和PD6.使用第一个Mikrobus™插槽。请记住,UART处理代码的更改,并且应该将正确的函数传递给启动功能。
7.许可证¶
版权所有(c)2021对话框半导体。yabo国际娱乐版权所有。
该软件(“软件”)由对话半导体拥有。yabo国际娱乐通过使用本软件,您同意,对话半导体保留在本软件和本软件中的所有知识产权和专有yabo国际娱乐权,并且严格禁止任何使用,复制,披露或未明确书面许可的软件或许可协议。该软件仅用于或与对话半导体产品一起使用。yabo国际娱乐亚博电竞菠菜
除各方或满足法律之间另有提供了一种许可协议,该软件提供“AS IS”,不附带任何明示或暗示的适销性,适用于特定的,包括但不限于担保目的和非侵权。除了人或者法律之间另有提供了一种许可协议,在任何情况下,Dialog半导体均不对任何直接,特殊,间接,偶然,或后果性的损失;或任何概导致的损失使用,数据或利润损失yabo国际娱乐,无论是在合同,疏忽或其他侵权行为的行动中,都会出现在软件的使用或表现中。