DA14580 UART BOOT应用实战–利用CSR1010的串口BOOT DA14580(含代码包)


本文主要介绍如何利用CSR1010来给DA14580注入应用程序,总所周知,DA14580没有内部FLASH,其代码只能放在OTP或者外部FLASH(EEPROM)中,如果外部有MCU,则可以考虑将代码放在外部MCU中,这样可以省下FLASH,节约成本,同时也会简化产线操作。

有朋友可能会问,用一块蓝牙SOC(CSR1010)去BOOT另一块蓝牙SOC(DA14580)不显得蛋疼么,其实也是无奈之举,只因手头没有其他MCU,CSR1010只作为普通MCU做测试用,换做其他MCU也是ok的。

首先,需要将你的DA14580程序编译成hex文件,用keil直接编译生成hex即可,然后利用工具将hex转换成bin文件,再利用另一个工具把bin转换成txt文件。关于这边的工具,网上有很多,直接百度即可。最后得到的txt文件如下:

这边为了方便大家测试,我将一个例子的hex,以及通过工具转换后得到的bin,txt放在附件里,供大家测试用,这里我们只用到blinky.txt

更多详情请查看我的百度文档:http://wenku.baidu.com/view/c067b1b3561252d381eb6e62.html

附件为利用CSR1010作为主机来UART boot DA14580,只做测试UART boot用,因为用一个蓝牙SOC去BOOT另一个蓝牙SOC没有任何意义。

CSR1010和DA14580的一些基本用法需要您参考官网相关资料,这里默认您已经掌握。

资料下载地址:

利用CSR1010的串口BOOT DA14580代码v1.0.0程序包.zip

有朋友可能会问,用一块蓝牙SOC(CSR1010)去BOOT另一块蓝牙SOC(DA14580)不显得蛋疼么,其实也是无奈之举,只因手头没有其他MCU,CSR1010只作为普通MCU做测试用,换做其他MCU也是ok的。

首先,需要将你的DA14580程序编译成hex文件,用keil直接编译生成hex即可,然后利用工具将hex转换成bin文件,再利用另一个工具把bin转换成txt文件。关于这边的工具,网上有很多,直接百度即可。最后得到的txt文件如下:

这边为了方便大家测试,我将一个例子的hex,以及通过工具转换后得到的bin,txt放在附件里,供大家测试用,这里我们只用到blinky.txt

更多详情请查看我的百度文档:http://wenku.baidu.com/view/c067b1b3561252d381eb6e62.html

附件为利用CSR1010作为主机来UART boot DA14580,只做测试UART boot用,因为用一个蓝牙SOC去BOOT另一个蓝牙SOC没有任何意义。

CSR1010和DA14580的一些基本用法需要您参考官网相关资料,这里默认您已经掌握。

资料下载地址:

利用CSR1010的串口BOOT DA14580代码v1.0.0程序包.zip

如何利用官方开发板(DA14580 Bluetooth Smart development Kit-Pro)测功耗

本文主要介绍如何利用官方开发板DA14580/581/583 Bluetooth Smart development Kit-Pro(下文简称KitPro) 和软件SmartSnippets来测试DA14580/581/583(下文只简称为DA14580)的功耗。

Kit-Pro是Dialog官方推出的开发板之一,属于不同档次中的一种,自带Jlink、串口,能够用SmartSnippets配合测功耗。KitPro分母板和子板,子板根据芯片不同有不同选择,在测功耗方面无太大差别,这里不再做过多说明。

SmartSnippets是Dialog官方的一款工具,可以在官网上下载到(当然前提是要注册一个账号),关于工具的使用,也不是本文重点,请查看其它相关说明。

接下来我们一步步说明功耗测试方法:

首先,按照UART方式连接跳线帽(具体查看开发板上的丝印),先拔掉小板,然后用USB连接电脑,正常的话会自动安装所有驱动,否则请自行在网上寻找相关驱动。然后打开SmartSnippets,打开后会出现以下界面:

。。。

。。。

需要了解更多信息,请查看我的百度文库:

Dialog SDK5中修改广播时间的方法

Dialog SDK5中的一些BLE应用例子默认是一直广播的,如果需要测试芯片的超低功耗,势必会想让广播停下来,这很简单,您只需改一个地方即可。这里我们以prox_reporter例子为例:

在以下目录下打开对应工程:

DA1458x_SDK\5.0.3\projects\target_apps\ble_examples\prox_reporter\Keil_4

首先找到user_config.h文件里的结构体:

然后第一个参数adv_scenario修改成DEF_ADV_WITH_TIMEOUT:

保存后编译,就会看到广播一段时间后就会停止。

如果要修改广播的时间,可以修改第二个参数advertise_period,直接修改括号中的时间即可:

好了,结束,So easy,再也不用担心广播永远不停了。

更多信息请微信关注:

Dialog SDK5.03中让外挂FLASH进入超低功耗的方法

在之前的测试中,模块进入休眠后一直有15uA左右的电流,拆掉FLASH,电流变为7uA,可见外挂FLASH消耗了约8uA电流,这个在一些超低功耗的场合还是偏大,查看了手册,FLASH应该是处于Standby mode,必须让FLASH进入power-down mode才行。

在SDK5.0.3中,flash的操作函数已经打包在spi_flash.c中,只要调用相应的函数即可:

可见,在所有的FLASH操作完毕后,调用spi_flash_power_down函数就可以直接让FLASH进入低功耗模式。

这里以SDK5.0.3中prox_reporter项目为例(位置5.0.3\projects\target_apps\ble_examples\prox_reporter\Keil_4):

为了保证SDK的统一性,我们加代码的原则是尽量在user区域加,所以,我们找到以下位置:

在函数的最后加入函数spi_flash_enable和spi_flash_power_down:

当然,别忘记在文件顶部加入#include “spi_flash.h”:

好了,此时编译并download程序到FLASH中,测试后得到7uA最低电流,可见FALSH已进入power-down模式。

更多信息请微信关注:

基于SDK5.03的SUOTA使用方法(附工具)

 DA1458x是可以支持空中升级的,但是需要对编译好的hex文件做适当处理,本文以SDK5.0.3为例,为您演示DA14580芯片如何制作和烧录SUOTA程序,要成功使用SUOTA,芯片外部必须外挂1M以上FLASH,我这里使用的是2Mbits SPI FLASH。首先,我们有以下两个工具,第一个hex2bin是将hex文件转换为bin文件,第二个是制作SUOTA的img文件,hex2bin是网上找的,如果你有类似的工具也可以使用,mkimage的源码可以在SDK5.0.3中找到,用VC编译后可生成exe文件。我将这两个工具放在了附件中,需要的话可以下载。

 关于具体的SUOTA操作方法,请参考我的百度文档:http://wenku.baidu.com/view/ae9400c4192e45361166f59f.html

点击下载: SUOTA_TOOLS.rar