Zigbee3.0协议栈开发-工程创建与编译

描述

芯科的EFR32单片机固件其实分为两部分,一部分是BootLoader,另一部分是Application。其中Application是我们用户自己编写的代码存放,而BootLoader则用于:

(1)内部模块的最初初始配置

(2)根据分区表和OTA_Data选择要引导的应用程序分区

(3)将此映像加载到RAM(IRAM和DRAM)

(4)引导加载程序位于Flash中的地址0x1000

3.1 BootLoader工程创建编译

我们以EFR32MG21A020F768IM32为例来进行BootLoader的开发。

3.1.1 创建工程

1、依此点击File->New->Silicon Labs Project Wizard创建模板工程,如下图所示。

bootloader

2、选择芯片类型,SDK版本和交叉编译器,点击Next,如下图所示。

bootloader

3、选择BootLoader项目类型,点击Next,如下图所示。

bootloader

4、选择工程名称和存放路径,点击Finish即可完成工程的创建。

bootloader

3.1.2 工程编译

由于BootLoader项目不需要修改即可完成编译,所以我们点击如下图所示的按钮编译代码即可。

bootloader

编译完成后结果如下图所示。

bootloader

至此BootLoader固件编译完成。

3.2 Application工程创建编译

3.2.1 创建工程

1、依此点击File->New->Silicon Labs Project Wizard创建模板工程,如下图所示。

bootloader

2、选择芯片类型,SDK版本和交叉编译器,点击Next,如下图所示。

bootloader

3、随便选择一个项目类型,比如ZigbeeMinimal项目,点击Next,如下图所示。

bootloader

4、选择工程名称和存放路径,点击Finish即可完成工程的创建。

bootloader

3.2.2 工程编译

1、进入VCOM控件配置页面

bootloader

2、配置USART0作为VCOM,并设置取消流控,映射TXD和RXD到PD0和PD1。

bootloader

3、配置LED作为指示灯

bootloader

4、配置PB0作为LED输出

bootloader

由于我们硬件上LED是低电平点亮,所以选择Active_low,同时端口选择PB0。通过上面配置两个资源,我们就实现了Zigbee最小系统的修改,现在直接点击如下图所示按钮进行编译。

bootloader

编译完成后结果如下图所示。

bootloader

至此Application固件编译完成。

3.3 固件下载

在之前我们编译好了两个固件,现在我们利用烧录软件将这两个固件分别烧写进EFR32中。由于EFR32属于Cortex-M4内核,所以可以用J-Link进行程序烧录,提到J-Link,我们知道它的官方也提供了一个烧写工具,叫做J-Flash,但是这里我们使用芯科官方提供的Simplicity Commander工具进行固件烧录。

1、点击如下图所示图标打开Simplicity Commander工具

bootloader

2、选择Simplicity Commander工具

bootloader

3、选择当前接入的J-Link,单击连接

bootloader

4、我们切换到Device Info页面,这个页面可以读取出当前MCU的内存情况,如果出现如下图所示的信息说明J-Link连接正常,此时我们就可以烧写固件了。

bootloader

5、我们切换到Flash页面,手动选择固件的路径,点击Flash按钮就可以实现固件的烧写,但是建议烧写BootLoader之前先点击Erase chip按钮进行全片擦除。

bootloader

依次将两个固件烧写进EFR32中,然后上电,接入USB转TTL工具,波特率设置为115200,就可以看到当前启动打印的信息了,如下图所示。

bootloader

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分