芯片平台:DA14585
SDK:6.0.12.1020.2
编译工具:Keil5
下载工具:SmartSnippets Toolbox
今天来简单描述一下DA14585的编译与烧录,这对于刚刚接触这款芯片的小伙伴来说,应该会有些帮助,它和STM32或者NRF52832不同,不采用Keil5下载,需要借助官方提供的烧录工具。
在这之前首先看看要安装的开发工具,他们分别是:
①keil5 ②J-Link ③SmartSnippets Toolbox
DA14585的SDK是采用keil5进行编译,用J-Link进行下载,具体的安装步骤我就不赘述了,一般这种开发工具安装都是一路next就行(简单粗暴)。这些开发工具的安装包到时候我会上传,你们可以直接下载。
下面看详细步骤:
1、用Keil5打开SDK中下面路径的prox_reporter工程,这个是DA14585的BLE例程。选择DA14585,点击编译。
6.0.12.1020.2\SDK\6.0.12.1020.2\projects\target_apps\ble_examples\prox_reporter\Keil_5
2、编译完成之后,将DA14585开发板的上 3V、GND、SWCLK、SWDIO这4根线和J-Link烧录器进行连接。
3、打开SmartSnippets Toolbox工具,根据以下步骤新建项目。
4、点击Open,进入配置界面,选择Board Setup菜单,根据原理图配置烧录工具中的串口和SPI FLASH Pin脚(如果是I2C E2Prom则选择I2C Pin脚)。
为什么烧录要配置FLASH的Pin脚呢?这里简单解释一下,见下图,这是因为DA14585的芯片内部带有64KB的OTP memory,也就是说如果芯片要烧录的话只能烧录一次,那么在开发阶段就免不了要反复调试,反复烧录,这样的情况怎么破?
一般都是带一颗FLASH芯片,在调试阶段将代码烧录到FLASH中,这样就可以反复调试、反复烧录了,SDK中也有提供芯片从FLASH中启动的库文件,只要配置相关的宏定义就可以了,也是很方便的,见下图。待到代码稳定、产品量产的时候再将FLASH拿掉,此时再将代码烧录到OTP memory中就可以了。(PS:这大概就是DA14585会比Nordic便宜的原因吧)
扯远了,继续看如何配置SPI FLASH Pin脚,我的开发板原理图对应的UART、SPI管脚如下:
5、点击Board Setup,根据下面的步骤进行配置。
6、点击SPI Flash/EEPROM,然后根据下面步骤进行配置。
7、板子Connect成功之后,点击Erase,将Flash进行一次擦除。
8、接着导入要烧录的hex固件,点击Browse,然后选择要烧录固件的路劲,选中,点击打开。
9、打开之后的界面如下,左侧的Data File Contents出现了16进制的数据,说明hex导入成功。
10、最后一步,点击Burn,进行烧录。
烧录成功的界面如下。
11、烧录完成后,给开发板重新上电即可,打开nRF Connect APP扫描设备,就可以搜到了。
到这里,DA14585的编译&烧录步骤就讲解完成了,因为该芯片的烧录方式和STM32相比还是有很大的不同,不像STM32那么便捷,在keil5上就可以下载。对于刚开始接触这个芯片的小伙伴来说就会很懵逼,因此把我踩过的坑分享出来,希望有所帮助。
感谢阅读。