本帖最后由 御坂10032号 于 2024-5-23 22:08 编辑
题外话
大家好,很荣幸能够获取到这次来之不易的测评机会。由于快递原因我是在21号拿到这个板子的。 昨天研究了一下如何搭建开发环境。今天就整理了一下给大家做一个开箱和搭建环境的教程.
这篇报告包括以下两个部分:
- 开箱
- 搭建开发环境(这款开发板实际上中文资料不是很多。所以在花费了一些时间来整理资料)
开箱
正面照
背面照:
这款开发板的内核时基于Arm Cortex-M4. 具有1MB的Flash 和 256K的Ram. 同时支持低功耗蓝牙。以及蓝牙5的Mesh. 同时支持USB模式。 外设提供了对UART 和 I2C以及SPI,ADC. PWM,RTC 和PWM的支持。数据参考
这款开发板还是非常小巧的,上电后需要手动将开关拨动到On。这时芯片才会正常工作,同时这个开发板提供了一个外部供电的小插槽,可以非常方便的使用电池供电,比如一节18650电池。电压范围在2.5到3.6V
我这里整理了一些官方资料的链接:
- Schematic(原理图)
- Eagle Files (工程文件)
- Graphical Datasheet (PIN 定义信息)
- Hookup Guide (官方的一个入门指南介绍)
- Datasheet (MDBT50Q, 模组的数据手册)
- Bootloader Source Code (BootLoader 的源码)
- Nordic nRF5 SDK
- Arduino Core for nRF Boards
- CircuitPython nRF Port
- GitHub
环境搭建
本文默认你已经安装好了Arduino IDE
1- 打开Arduino IDE,在界面左上角点击文件,选择首选项,在其他开发板管理地址处新增如下开发板地址
https://adafruit.github.io/arduino-board-index/package_adafruit_index.json
2- 保存后重启Arduino IDE
3- 打开开发板管理器安装Adafruit nRF52 by Adafruit的支持
4- 不会觉得到这里就结束了吧?
5- Clone这个仓库的所有文件到本地
6- 打开你本地安装的这个NRF52目录
7- 把你克隆仓库里的sparkfun_nrf52840_mini 文件夹拷贝到上述截图位置(上述已经拷贝好)
8- 编辑Nrf52下的Boards.txt
9- 在文件的底部加上下述内容
#**********************************************
# SparkFun Pro nRF52840 Mini
#**********************************************
sparkfunnrf52840mini.name=SparkFun Pro nRF52840 Mini
# DFU Mode with CDC only
sparkfunnrf52840mini.vid.0=0x1B4F
sparkfunnrf52840mini.pid.0=0x002A
# DFU Mode with CDC + MSC (UF2)
sparkfunnrf52840mini.vid.1=0x1B4F
sparkfunnrf52840mini.pid.1=0x0029
# Application with CDC + MSC
sparkfunnrf52840mini.vid.2=0x1B4F
sparkfunnrf52840mini.pid.2=0x8029
# CircuitPython
sparkfunnrf52840mini.vid.2=0x1B4F
sparkfunnrf52840mini.pid.2=0x802A
sparkfunnrf52840mini.bootloader.tool=bootburn
# Upload
sparkfunnrf52840mini.upload.tool=nrfutil
sparkfunnrf52840mini.upload.protocol=nrfutil
sparkfunnrf52840mini.upload.use_1200bps_touch=true
sparkfunnrf52840mini.upload.wait_for_upload_port=true
#sparkfunnrf52840mini.upload.native_usb=true
# Build
sparkfunnrf52840mini.build.mcu=cortex-m4
sparkfunnrf52840mini.build.f_cpu=64000000
sparkfunnrf52840mini.build.board=NRF52840_FEATHER
sparkfunnrf52840mini.build.core=nRF5
sparkfunnrf52840mini.build.variant=sparkfun_nrf52840_mini
sparkfunnrf52840mini.build.extra_flags=-DNRF52840_XXAA {build.flags.usb}
sparkfunnrf52840mini.build.vid=0x1B4F
sparkfunnrf52840mini.build.pid=0x5284
sparkfunnrf52840mini.build.usb_manufacturer="SparkFun"
sparkfunnrf52840mini.build.usb_product="nRF52840 Mini Breakout"
# SofDevice Menu
# Ram & ROM size varies depending on SoftDevice (check linker script)
sparkfunnrf52840mini.menu.softdevice.s140v6=s140 6.1.1 r0
sparkfunnrf52840mini.menu.softdevice.s140v6.build.sd_flags=-DS140
sparkfunnrf52840mini.menu.softdevice.s140v6.build.sd_name=s140
sparkfunnrf52840mini.menu.softdevice.s140v6.build.sd_version=6.1.1
sparkfunnrf52840mini.menu.softdevice.s140v6.build.sd_fwid=0x00B6
sparkfunnrf52840mini.menu.softdevice.s140v6.build.ldscript=nrf52840_s140_v6.ld
sparkfunnrf52840mini.menu.softdevice.s140v6.upload.maximum_size=815104
sparkfunnrf52840mini.menu.softdevice.s140v6.upload.maximum_data_size=248832
# Debug Menu
sparkfunnrf52840mini.menu.debug.l0=Level 0 (Release)
sparkfunnrf52840mini.menu.debug.l0.build.debug_flags=-DCFG_DEBUG=0 -Os
sparkfunnrf52840mini.menu.debug.l1=Level 1 (Error Message)
sparkfunnrf52840mini.menu.debug.l1.build.debug_flags=-DCFG_DEBUG=1 -Os
sparkfunnrf52840mini.menu.debug.l2=Level 2 (Full Debug)
sparkfunnrf52840mini.menu.debug.l2.build.debug_flags=-DCFG_DEBUG=2 -Os
sparkfunnrf52840mini.menu.debug.l3=Level 3 (Segger SystemView)
sparkfunnrf52840mini.menu.debug.l3.build.debug_flags=-DCFG_DEBUG=3 -Os
10 - 之后重启你的Arduino IDE,这时搜索SparkFun 你就可以看到这个Mini开发板了
点灯:
接下来简单的带大家点亮一下LED, 首先根据原理图得知这个USer的LED被连接到了PIN7上。我们只需要给7号PIN一个高电平,那么就可以点亮这个LED
幸运的是官方也给出了demo,按照下面的步骤即可找到官方的Blink步骤。
此时你如果打开这个代码点击LED的Pin定义你会发现,这个PIN定义已经已经被改成了PIN7, 注意一定要在开发板管理器中先选中这个开发板,如果你不选中的话,那么这个PIN定义可能会变成其他开发板的LED定义
此时烧录完毕的话你会发现LED开始闪烁。
3bb043162eca8b9f5ab832ad278b90b5
总结:虽然官方给出了搭建教程,但是由于中文资料较少,搭建起来还是有一定的难度的。需要一定的英语阅读能力。尤其是在拷贝txt文件内容的时候容易出错。我上述已经修改好了需要拷贝的文件内容,按照上述教程就不会出错