[活动] EFM8BB1测评---手把手入门教程

[复制链接]
131|1
 楼主 | 2019-12-1 00:26 | 显示全部楼层 |阅读模式
本帖最后由 wgtwgtwgt 于 2019-12-2 11:32 编辑

感谢silicon labs举办的活动。无论从包装还是用料上,EFM8BB1LCK做工精细,体现了大厂风范:
550665de28ec7acbcf.png
silicon labs官网主页,有如下所示的页面:
781565de28edb79d73.png
点击上图所示红方框所示的链接,会跳转到如下所示的页面:
743525de28ef102103.png
点击上图红方框所示的EFM8BB1LCK,会跳转到板子的介绍页面:
514905de28f1d05c01.png
710535de28f254455c.png
从上图可见,用户可使用的板载资源主要是一个在线硬件调试器、一个LED灯和一个用户按键。点击上图的“开始使用EFM8 Busy Bee 1低成本套件 了解更多”,会跳转到板子的手把手使用页面:
232795de28f39133be.png
从上图可知,EFM8BB1芯片是一个基于8051内核的单片机,其与标准8051指令集完全兼容。如果把32位的ARM内核单片机比作J20的话,那么EFM8BB1就是魔改版的J10。相比于传统的51单片机,EFM8BB1最大的特色是低功耗和可在线硬件调试。
板载单片机型号是EFM8BB10F8G-QSOP24,这是一款商用级芯片,其对应的工业级芯片型号是EFM8BB10F8I-QSOP24,二者的主要区别是温度范围。
EFM8BB10F8G-QSOP24单片机的片上资源为:
613925de28f6a2927a.png
芯片功能框图如下所示:
793045de28f80bb154.png
从上图可见,EFM8BB1系列芯片内部可分为8个部分,分别是:内核及存储器、时钟管理、功耗管理、串行总线接口、IO口、定时器、模拟功能接口、CRC单元等。各部分通过SFR总线连接。
芯片的系统框图如下所示:
413925de28f91348e2.png
系统框图包罗乾坤,是理清各部分功能逻辑关系的指导图。

EFM8BB10F8G-QSOP24是一颗SOP24封装的单片机:
459755de28fa2aa97c.png
它与EFM8BB1LCK小板的引脚映射为:
822185de28fb305bf4.png
好了,整体功能把握介绍到此。下面,安装一下开发软件。面向EFM8BB1的开发软件比较多,例如silicon labs自家的Simplicity Studio,以及第三方的IARKeil等开发软件。这里,我使用Simplicity Studio,它是一款基于Eclipsesilicon labs全系列单片机开发软件。原生的Eclipse软件操作复杂,用户体验不太好。Simplicity Studio对此做了不少优化,更方便单片机工程师进行软件开发。
这里使用Simplicity Studio,因为该软件集成了开发EFM8BB1所需的所有工具、驱动、例程代码及参考文档。如下图所示,根据不同的工作平台,选择合适的软件版本。我的操作系统是win10-64,故选择windows版本:
994095de28fc558bcc.png
下载并正确安装软件后,登录软件,会弹出如下所示的对话框:
814095de28fd4d5337.png
按照上图所示,依次点击后,点击Next,出现如下所示的页面:
971745de28fe45675a.png
点击上图中的Next,出现如下图所示的页面:
572395de28ffb54e50.png
保持默认,点击上图中的Next,出现如下图所示的页面:
113505de2900cdfa2c.png
点击上图中的Accept All后,点击Finish。这时,弹出资源下载页面:
706875de2901e87827.png
下载完毕后,会弹出一个重启软件的对话框,点击Yes即可。单片机开发是从点灯开始的,即所谓的“Blinky”。从如下所示的页面下载板子的原理图,查看板载用户LED灯的挂载引脚:
542575de2902ee358f.png
558995de2903870730.png
如上图所示,板载用户LED挂载到了P1.4引脚上。这样,依次点击如下图所示的按钮,选择例程代码:
264205de290499da96.png
点击上图所示Blinky右边绿色圆圈箭头后,弹出如下所示的对话框:
699535de2905ab884a.png
选择如上图所示的例程,然后点击Start按钮,这时,会自动将编译好的文件下载到单片机中,方便观察效果(5Hz频率闪烁):
soogif1.gif
下面添加blinky例程代码:
点击下图所示的New Project
239845de2937ad927c.png
在弹出的对话框中,按下图所示依次选择:
640555de2938c30d1c.png
点击上图的Next后,弹出如下所示的对话框:
88965de2939a52968.png
选择上图红方框所示的例程,点击Next,这时,出现对话框:
727295de293a8d7e6f.png
保持默认,点击Next,点击下图所示的Finish
50805de293b8283c3.png
这样,就会将代码加载到simplicity studio中:
588235de293c8d6dc3.png
为了查看效果,修改Interrupts.c中的定时器2中断服务代码,改成每隔1秒点亮LED一次:
482995de293d96cc6f.png
然后点击下图①所示的图标,编译工程文件(simplicity studio使用Keil作为后台编译器,故第一次点击此图标会弹出填写许可文件的对话框,按照提示进行即可获得免费的license)。编译无错误后,点击②所示的图标,下载hex文件:
728795de293ecf1aa9.png
这时,弹出对话框,将路径定位到hex所在的位置:
762165de29474ee974.png
点击上图所示的“打开”按钮后,会自动返回Flash Programmer界面,点击Program即可下载hex文件到单片机:
396295de29489450c3.png
观察运行效果(1Hz频率闪烁):
gif5新文件 .gif

硬件调试:按下图所示的步骤依次点击,先设置断点,再点击debug按钮:
168095de3225aa6cd4.png
这时,会跳转到debug界面,点击下图所示的图标,跳转到断点所在的位置:
725665de322ed241ba.png
然后,在调试界面的Expressions页面,输入要观察的变量,再根据需要点击各调试按钮,就可单步调试观察变量值的变化:
276315de323d7d0c50.png
若想退出调试环境,点击下图红圈所示的Disconnect即可:
230785de3248abd9a9.png

官方例程是学习单片机的第一手资料,silicon labs在simplicity studio中集成了EFM8BB1芯片的各种功能例程,很丰富,极具项目参考价值:
1.png

使用特权

评论回复
| 2019-12-2 11:11 | 显示全部楼层
很详细的教程,感谢分享。

使用特权

评论回复
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 投诉建议 创建版块 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

关闭

热门推荐上一条 /5 下一条

在线客服 快速回复 返回顶部 返回列表