本帖最后由 wgtwgtwgt 于 2019-12-2 11:32 编辑
感谢silicon labs举办的活动。无论从包装还是用料上,EFM8BB1LCK做工精细,体现了大厂风范: 在silicon labs官网主页,有如下所示的页面: 点击上图所示红方框所示的链接,会跳转到如下所示的页面: 点击上图红方框所示的EFM8BB1LCK,会跳转到板子的介绍页面: 从上图可见,用户可使用的板载资源主要是一个在线硬件调试器、一个LED灯和一个用户按键。点击上图的“开始使用EFM8 Busy Bee 1低成本套件 了解更多”,会跳转到板子的手把手使用页面: 从上图可知,EFM8BB1芯片是一个基于8051内核的单片机,其与标准8051指令集完全兼容。如果把32位的ARM内核单片机比作J20的话,那么EFM8BB1就是魔改版的J10。相比于传统的51单片机,EFM8BB1最大的特色是低功耗和可在线硬件调试。 板载单片机型号是EFM8BB10F8G-QSOP24,这是一款商用级芯片,其对应的工业级芯片型号是EFM8BB10F8I-QSOP24,二者的主要区别是温度范围。 EFM8BB10F8G-QSOP24单片机的片上资源为: 芯片功能框图如下所示: 从上图可见,EFM8BB1系列芯片内部可分为8个部分,分别是:内核及存储器、时钟管理、功耗管理、串行总线接口、IO口、定时器、模拟功能接口、CRC单元等。各部分通过SFR总线连接。 芯片的系统框图如下所示: 系统框图包罗乾坤,是理清各部分功能逻辑关系的指导图。
EFM8BB10F8G-QSOP24是一颗SOP24封装的单片机: 它与EFM8BB1LCK小板的引脚映射为: 好了,整体功能把握介绍到此。下面,安装一下开发软件。面向EFM8BB1的开发软件比较多,例如silicon labs自家的Simplicity Studio,以及第三方的IAR、Keil等开发软件。这里,我使用Simplicity Studio,它是一款基于Eclipse的silicon labs全系列单片机开发软件。原生的Eclipse软件操作复杂,用户体验不太好。Simplicity Studio对此做了不少优化,更方便单片机工程师进行软件开发。 这里使用Simplicity Studio,因为该软件集成了开发EFM8BB1所需的所有工具、驱动、例程代码及参考文档。如下图所示,根据不同的工作平台,选择合适的软件版本。我的操作系统是win10-64,故选择windows版本: 下载并正确安装软件后,登录软件,会弹出如下所示的对话框: 按照上图所示,依次点击后,点击Next,出现如下所示的页面: 点击上图中的Next,出现如下图所示的页面: 保持默认,点击上图中的Next,出现如下图所示的页面: 点击上图中的Accept All后,点击Finish。这时,弹出资源下载页面: 下载完毕后,会弹出一个重启软件的对话框,点击Yes即可。单片机开发是从点灯开始的,即所谓的“Blinky”。从如下所示的页面下载板子的原理图,查看板载用户LED灯的挂载引脚: 如上图所示,板载用户LED挂载到了P1.4引脚上。这样,依次点击如下图所示的按钮,选择例程代码: 点击上图所示Blinky右边绿色圆圈箭头后,弹出如下所示的对话框: 选择如上图所示的例程,然后点击Start按钮,这时,会自动将编译好的文件下载到单片机中,方便观察效果(5Hz频率闪烁): 下面添加blinky例程代码: 点击下图所示的New Project: 在弹出的对话框中,按下图所示依次选择: 点击上图的Next后,弹出如下所示的对话框: 选择上图红方框所示的例程,点击Next,这时,出现对话框: 保持默认,点击Next,点击下图所示的Finish: 这样,就会将代码加载到simplicity studio中: 为了查看效果,修改Interrupts.c中的定时器2中断服务代码,改成每隔1秒点亮LED一次: 然后点击下图①所示的图标,编译工程文件(simplicity studio使用Keil作为后台编译器,故第一次点击此图标会弹出填写许可文件的对话框,按照提示进行即可获得免费的license)。编译无错误后,点击②所示的图标,下载hex文件: 这时,弹出对话框,将路径定位到hex所在的位置: 点击上图所示的“打开”按钮后,会自动返回Flash Programmer界面,点击Program即可下载hex文件到单片机: 观察运行效果(1Hz频率闪烁):
硬件调试:按下图所示的步骤依次点击,先设置断点,再点击debug按钮:
这时,会跳转到debug界面,点击下图所示的图标,跳转到断点所在的位置:
然后,在调试界面的Expressions页面,输入要观察的变量,再根据需要点击各调试按钮,就可单步调试观察变量值的变化:
若想退出调试环境,点击下图红圈所示的Disconnect即可:
官方例程是学习单片机的第一手资料,silicon labs在simplicity studio中集成了EFM8BB1芯片的各种功能例程,很丰富,极具项目参考价值:
|