SparkFun Pro nRF52840 Mini蓝牙开发板 开箱及其搭建开发环境
<div class='showpostmsg'> 本帖最后由 御坂10032号 于 2024-5-23 22:08 编辑<p><span style="color:#e67e22;"><strong><span style="font-size:22px;">题外话</span></strong></span></p>
<p>大家好,很荣幸能够获取到这次来之不易的测评机会。由于快递原因我是在21号拿到这个板子的。 昨天研究了一下如何搭建开发环境。今天就整理了一下给大家做一个开箱和搭建环境的教程.</p>
<p>这篇报告包括以下两个部分:</p>
<ol>
<li>开箱</li>
<li>搭建开发环境(这款开发板实际上中文资料不是很多。所以在花费了一些时间来整理资料)</li>
</ol>
<p> </p>
<p><span style="color:#e67e22;"><span style="font-size:22px;"><strong>开箱</strong></span></span></p>
<p> </p>
<p><strong>正面照</strong></p>
<p> </p>
<p> </p>
<p><strong>背面照</strong>:</p>
<p> </p>
<p> </p>
<p> </p>
<p>这款开发板的内核时基于Arm Cortex-M4. 具有1MB的Flash 和 256K的Ram. 同时支持低功耗蓝牙。以及蓝牙5的Mesh. 同时支持USB模式。 外设提供了对UART 和 I2C以及SPI,ADC. PWM,RTC 和PWM的支持。<a href="https://www.sparkfun.com/products/15025" target="_blank">数据参考</a></p>
<p> </p>
<p>这款开发板还是非常小巧的,上电后需要手动将开关拨动到On。这时芯片才会正常工作,同时这个开发板提供了一个外部供电的小插槽,可以非常方便的使用电池供电,比如一节18650电池。电压范围在2.5到3.6V</p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p>我这里整理了一些官方资料的链接:</p>
<ol>
<li><a href="https://cdn.sparkfun.com/assets/learn_tutorials/8/2/0/nrf52840-breakout-mdbt50q-v10.pdf">Schematic</a>(原理图)</li>
<li><a href="https://cdn.sparkfun.com/assets/learn_tutorials/8/2/0/nrf52840-breakout-mdbt50q-v10.zip">Eagle Files</a> (工程文件)</li>
<li><a href="https://cdn.sparkfun.com/assets/learn_tutorials/8/2/0/nRF52840Mini_Graphical_Datasheet.pdf">Graphical Datasheet</a> (PIN 定义信息)</li>
<li><a href="https://learn.sparkfun.com/tutorials/sparkfun-pro-nrf52840-mini-hookup-guide">Hookup Guide</a> (官方的一个入门指南介绍)</li>
<li><a href="https://cdn.sparkfun.com/assets/learn_tutorials/8/2/0/Raytac_MDBT50Q.pdf">Datasheet</a> (MDBT50Q, 模组的数据手册) </li>
<li><a href="https://github.com/adafruit/Adafruit_nRF52_Bootloader">Bootloader Source Code</a> (BootLoader 的源码)</li>
<li><a href="https://www.nordicsemi.com/eng/Products/Bluetooth-low-energy/nRF5-SDK">Nordic nRF5 SDK</a></li>
<li><a href="https://github.com/adafruit/Adafruit_nRF52_Arduino">Arduino Core for nRF Boards</a></li>
<li><a href="https://github.com/adafruit/circuitpython/tree/master/ports/nrf">CircuitPython nRF Port</a></li>
<li><a href="https://github.com/sparkfun/nRF52840_Breakout_MDBT50Q">GitHub</a></li>
</ol>
<p><span style="color:#e67e22;"><strong><span style="font-size:22px;">环境搭建</span></strong></span></p>
<p> </p>
<p>本文默认你已经安装好了Arduino IDE</p>
<p> </p>
<p>1- 打开Arduino IDE,在界面左上角点击<strong>文件,</strong>选择<strong>首选项,</strong>在<strong>其他开发板管理地址</strong>处新增如下开发板地址</p>
<pre>
<code>https://adafruit.github.io/arduino-board-index/package_adafruit_index.json</code></pre>
<p>2- 保存后重启Arduino IDE</p>
<p>3- 打开开发板管理器安装<strong>Adafruit nRF52 by Adafruit</strong>的支持</p>
<p>4- 不会觉得到这里就结束了吧?</p>
<p>5- Clone这个<a href="https://github.com/sparkfun/nRF52840_Breakout_MDBT50Q/tree/master" target="_blank">仓库</a>的所有文件到本地</p>
<p>6- 打开你本地安装的这个NRF52目录</p>
<p> </p>
<p> </p>
<p> </p>
<p>7- 把你克隆仓库里的sparkfun_nrf52840_mini 文件夹拷贝到上述截图位置(上述已经拷贝好)</p>
<p> </p>
<p> </p>
<p> </p>
<p>8- 编辑Nrf52下的Boards.txt</p>
<p> </p>
<p> </p>
<p> </p>
<p>9- 在文件的底部加上下述内容</p>
<pre>
<code>#**********************************************
# 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</code></pre>
<p> </p>
<p>10 - 之后重启你的Arduino IDE,这时搜索SparkFun 你就可以看到这个Mini开发板了</p>
<p> </p>
<p> </p>
<p> </p>
<p><span style="color:#e67e22;"><span style="font-size:22px;"><strong>点灯:</strong></span></span></p>
<p> </p>
<p>接下来简单的带大家点亮一下LED, 首先根据原理图得知这个USer的LED被连接到了PIN7上。我们只需要给7号PIN一个高电平,那么就可以点亮这个LED</p>
<p> </p>
<p> </p>
<p>幸运的是官方也给出了demo,按照下面的步骤即可找到官方的Blink步骤。</p>
<p> </p>
<p></p>
<p> </p>
<p>此时你如果打开这个代码点击LED的Pin定义你会发现,这个PIN定义已经已经被改成了PIN7, <span style="color:#e74c3c;"><strong>注意一定要在开发板管理器中先选中这个开发板,如果你不选中的话,那么这个PIN定义可能会变成其他开发板的LED定义</strong></span></p>
<p> </p>
<p> </p>
<p>此时烧录完毕的话你会发现LED开始闪烁。</p>
<p> </p>
<p>8e8fdd2a032919e48a08677ffc15f121<br />
</p>
<p> </p>
<p><span style="font-size:22px;"><span style="color:#e67e22;"><strong>总结</strong></span></span>:虽然官方给出了搭建教程,但是由于中文资料较少,搭建起来还是有一定的难度的。需要一定的英语阅读能力。尤其是在拷贝txt文件内容的时候容易出错。我上述已经修改好了需要拷贝的文件内容,按照上述教程就不会出错</p>
</div><script> var loginstr = '<div class="locked">查看本帖全部内容,请<a href="javascript:;" style="color:#e60000" class="loginf">登录</a>或者<a href="https://bbs.eeworld.com.cn/member.php?mod=register_eeworld.php&action=wechat" style="color:#e60000" target="_blank">注册</a></div>';
if(parseInt(discuz_uid)==0){
(function($){
var postHeight = getTextHeight(400);
$(".showpostmsg").html($(".showpostmsg").html());
$(".showpostmsg").after(loginstr);
$(".showpostmsg").css({height:postHeight,overflow:"hidden"});
})(jQuery);
} </script><script type="text/javascript">(function(d,c){var a=d.createElement("script"),m=d.getElementsByTagName("script"),eewurl="//counter.eeworld.com.cn/pv/count/";a.src=eewurl+c;m.parentNode.insertBefore(a,m)})(document,523)</script>
页:
[1]