芯科的EFR32单片机固件其实分为两部分,一部分是BootLoader,另一部分是Application。其中Application是我们用户自己编写的代码存放,而BootLoader则用于:
(1)内部模块的最初初始配置
(2)根据分区表和OTA_Data选择要引导的应用程序分区
(3)将此映像加载到RAM(IRAM和DRAM)
(4)引导加载程序位于Flash中的地址0x1000
我们以EFR32MG21A020F768IM32为例来进行BootLoader的开发。
1、依此点击File->New->Silicon Labs Project Wizard创建模板工程,如下图所示。
2、选择芯片类型,SDK版本和交叉编译器,点击Next,如下图所示。
3、选择BootLoader项目类型,点击Next,如下图所示。
4、选择工程名称和存放路径,点击Finish即可完成工程的创建。
由于BootLoader项目不需要修改即可完成编译,所以我们点击如下图所示的按钮编译代码即可。
编译完成后结果如下图所示。
至此BootLoader固件编译完成。
1、依此点击File->New->Silicon Labs Project Wizard创建模板工程,如下图所示。
2、选择芯片类型,SDK版本和交叉编译器,点击Next,如下图所示。
3、随便选择一个项目类型,比如ZigbeeMinimal项目,点击Next,如下图所示。
4、选择工程名称和存放路径,点击Finish即可完成工程的创建。
1、进入VCOM控件配置页面
2、配置USART0作为VCOM,并设置取消流控,映射TXD和RXD到PD0和PD1。
3、配置LED作为指示灯
4、配置PB0作为LED输出
由于我们硬件上LED是低电平点亮,所以选择Active_low,同时端口选择PB0。通过上面配置两个资源,我们就实现了Zigbee最小系统的修改,现在直接点击如下图所示按钮进行编译。
编译完成后结果如下图所示。
至此Application固件编译完成。
在之前我们编译好了两个固件,现在我们利用烧录软件将这两个固件分别烧写进EFR32中。由于EFR32属于Cortex-M4内核,所以可以用J-Link进行程序烧录,提到J-Link,我们知道它的官方也提供了一个烧写工具,叫做J-Flash,但是这里我们使用芯科官方提供的Simplicity Commander工具进行固件烧录。
1、点击如下图所示图标打开Simplicity Commander工具
2、选择Simplicity Commander工具
3、选择当前接入的J-Link,单击连接
4、我们切换到Device Info页面,这个页面可以读取出当前MCU的内存情况,如果出现如下图所示的信息说明J-Link连接正常,此时我们就可以烧写固件了。
5、我们切换到Flash页面,手动选择固件的路径,点击Flash按钮就可以实现固件的烧写,但是建议烧写BootLoader之前先点击Erase chip按钮进行全片擦除。
依次将两个固件烧写进EFR32中,然后上电,接入USB转TTL工具,波特率设置为115200,就可以看到当前启动打印的信息了,如下图所示。
全部0条评论
快来发表一下你的评论吧 !