简介:近期使用DA14531MOD开发项目,遇到软件刷写时无法读取和擦写flash的情况。以此总结并分享解决方法,希望能帮到大家。
一、DA14531MOD简介
- DA14531 SmartBond TINY™ 模块基于世界上最小、最低功耗的蓝牙 5.1 片上系统(SoC),将 SoC DA14531优势融入集成模块。 只需一个电源和一个印刷电路板即可构建蓝牙应用程序。 该模块市场应用广泛,并通过了跨地区的认证,可显著节省开发成本、缩短上市时间。 搭配集成天线和易上手的软件,低功耗蓝牙开发变得无比轻松。 该组合将移动连接带入全新的应用领域,使以 SmartBond TINY™ 为核心的十亿物联网设备成为可能。
- DA14531MOD 由 DA14531 + 1Mb Flash + 板载天线 组成,如上图所示。
- 瑞萨官网提供了完整的软件开发套件,其中我们会用到Smart snippets toolbox来进行软件下载以及运行功耗监视等。
- DA14531MOD 可以单独运行,配合General SDK6 使用。也可以作为嵌入式系统的无线BLE外设使用,由HOST MCU 通过UART AT指令来控制DA14531MOD,使用Codeless SDK。或者作为BLE数据传输使用,类似wireless UART, 使用SPS SDK。
- DA14531 拥有超低的睡眠功耗2uA。
二、问题原因
- flash 选型问题(DA14531MOD 不涉及此问题)
- 关于DA14531 默认适配driver的flash 是有限的,目前已适配的可以从这个手册上查到:AN-B-088: DA1453x Flash Selector Guide
- 如果使用的不是选型手册里的flash,需要修改并编译相关flash的驱动,比较麻烦需要联系瑞萨的支持来搞定。
- 自然,如果你选的flash不在列表里自然无法刷写flash。
- flash 休眠未唤醒
- 有时我们在keil 里debug 运行正常,下载到flash后有问题,然后尝试重新刷写,发现Jlink 可以连接上芯片,但是flash读写都不正常,此时就有可能flash休眠没有唤醒。
- 工具操作问题
- 目前开发DA14531MOD所用到的工具 就有Keil,Smart snippets toolbox, SmartBond™ Flash Programmer (这个工具不常用,不如toolbox功能多),其中toolbox经常会卡死
- toolbox 相关的SPI flash 引脚配置
- 使用UART进行下载的相关配置
三、解决方案 flash 选型问题(DA14531MOD 不涉及此问题)
- 选用这个手册上的flash:AN-B-088: DA1453x Flash Selector Guide
- 添加新的flash驱动,具体还是要联系瑞萨支持
flash 休眠未唤醒
工具操作问题
- 重启工具尝试
- toolbox 相关的SPI flash 引脚配置,检查以下配置

- 使用UART进行下载的相关配置,参考这个教程
7. UART Booting options
还有一个方法,如果能连接到芯片但是无法擦除。可以尝试点击connect 后迅速点击erase。

四、资源分享
- 本文提到的工具已经匹配超链接
- GitHub 上的例程分享:renesas/ble-sdk6-examples: Examples for the Renesas Electronics Smartbond Bluetooth low energy families based on the SDK6
五、其他方面的技术交流可以给我留言,知无不言。 谢谢!
|