芯科的EFR32單片機(jī)固件其實分為兩部分,一部分是BootLoader,另一部分是Application。其中Application是我們用戶自己編寫的代碼存放,而BootLoader則用于:
(1)內(nèi)部模塊的最初初始配置
(2)根據(jù)分區(qū)表和OTA_Data選擇要引導(dǎo)的應(yīng)用程序分區(qū)
(4)引導(dǎo)加載程序位于Flash中的地址0x1000
3.1 BootLoader工程創(chuàng)建編譯
我們以EFR32MG21A020F768IM32為例來進(jìn)行BootLoader的開發(fā)。
3.1.1 創(chuàng)建工程
1、依此點擊File->New->Silicon Labs Project Wizard創(chuàng)建模板工程,如下圖所示。
2、選擇芯片類型,SDK版本和交叉編譯器,點擊Next,如下圖所示。
3、選擇BootLoader項目類型,點擊Next,如下圖所示。
4、選擇工程名稱和存放路徑,點擊Finish即可完成工程的創(chuàng)建。
3.1.2 工程編譯
由于BootLoader項目不需要修改即可完成編譯,所以我們點擊如下圖所示的按鈕編譯代碼即可。
編譯完成后結(jié)果如下圖所示。
至此BootLoader固件編譯完成。
3.2 Application工程創(chuàng)建編譯
3.2.1 創(chuàng)建工程
1、依此點擊File->New->Silicon Labs Project Wizard創(chuàng)建模板工程,如下圖所示。
2、選擇芯片類型,SDK版本和交叉編譯器,點擊Next,如下圖所示。
3、隨便選擇一個項目類型,比如ZigbeeMinimal項目,點擊Next,如下圖所示。
4、選擇工程名稱和存放路徑,點擊Finish即可完成工程的創(chuàng)建。
3.2.2 工程編譯
1、進(jìn)入VCOM控件配置頁面
2、配置USART0作為VCOM,并設(shè)置取消流控,映射TXD和RXD到PD0和PD1。
3、配置LED作為指示燈
4、配置PB0作為LED輸出
由于我們硬件上LED是低電平點亮,所以選擇Active_low,同時端口選擇PB0。通過上面配置兩個資源,我們就實現(xiàn)了Zigbee最小系統(tǒng)的修改,現(xiàn)在直接點擊如下圖所示按鈕進(jìn)行編譯。
編譯完成后結(jié)果如下圖所示。
至此Application固件編譯完成。
3.3 固件下載
在之前我們編譯好了兩個固件,現(xiàn)在我們利用燒錄軟件將這兩個固件分別燒寫進(jìn)EFR32中。由于EFR32屬于Cortex-M4內(nèi)核,所以可以用J-Link進(jìn)行程序燒錄,提到J-Link,我們知道它的官方也提供了一個燒寫工具,叫做J-Flash,但是這里我們使用芯科官方提供的Simplicity Commander工具進(jìn)行固件燒錄。
1、點擊如下圖所示圖標(biāo)打開Simplicity Commander工具
2、選擇Simplicity Commander工具
3、選擇當(dāng)前接入的J-Link,單擊連接
4、我們切換到Device Info頁面,這個頁面可以讀取出當(dāng)前MCU的內(nèi)存情況,如果出現(xiàn)如下圖所示的信息說明J-Link連接正常,此時我們就可以燒寫固件了。
5、我們切換到Flash頁面,手動選擇固件的路徑,點擊Flash按鈕就可以實現(xiàn)固件的燒寫,但是建議燒寫B(tài)ootLoader之前先點擊Erase chip按鈕進(jìn)行全片擦除。
依次將兩個固件燒寫進(jìn)EFR32中,然后上電,接入USB轉(zhuǎn)TTL工具,波特率設(shè)置為115200,就可以看到當(dāng)前啟動打印的信息了,如下圖所示。
-
單片機(jī)
+關(guān)注
關(guān)注
6066文章
44951瀏覽量
648561 -
bootloader
+關(guān)注
關(guān)注
2文章
238瀏覽量
46524 -
EFR32
+關(guān)注
關(guān)注
1文章
10瀏覽量
5980
發(fā)布評論請先 登錄

#硬聲創(chuàng)作季 #ZigBee ZigBee3.0-03 協(xié)議棧和ZigBee PRO協(xié)議棧的區(qū)別-1

#硬聲創(chuàng)作季 #ZigBee ZigBee3.0-03 協(xié)議棧和ZigBee PRO協(xié)議棧的區(qū)別-2

#硬聲創(chuàng)作季 #ZigBee ZigBee3.0-04 協(xié)議棧代碼架構(gòu)詳解-1

#硬聲創(chuàng)作季 #ZigBee ZigBee3.0-06 協(xié)議棧任務(wù)調(diào)度原理-2
智能家居推進(jìn),選擇ZigBee3.0還是NB-IoT?
請問新人該怎么學(xué)習(xí)zigbee ?直接上手zigbee3.0么?
請問zigbee3.0怎么關(guān)閉install code
zigbee3.0的相關(guān)資料推薦
智能家居上下游產(chǎn)業(yè)鏈怎么看待ZigBee3.0
Z-Stack 3.0開發(fā)者手冊免費下載

ZigBee3.0數(shù)據(jù)包解析

使用ZigBee3.0模塊建立遠(yuǎn)程網(wǎng)絡(luò)控制方法

Zigbee3.0協(xié)議棧開發(fā)-開發(fā)環(huán)境搭建

全新ZigBee3.0無線數(shù)傳電臺

評論