芯科的EFR32單片機固件其實分為兩部分,一部分是BootLoader,另一部分是Application。其中Application是我們用戶自己編寫的代碼存放,而BootLoader則用于:
(1)內部模塊的最初初始配置
(2)根據分區表和OTA_Data選擇要引導的應用程序分區
(4)引導加載程序位于Flash中的地址0x1000
3.1 BootLoader工程創建編譯
我們以EFR32MG21A020F768IM32為例來進行BootLoader的開發。
3.1.1 創建工程
1、依此點擊File->New->Silicon Labs Project Wizard創建模板工程,如下圖所示。
2、選擇芯片類型,SDK版本和交叉編譯器,點擊Next,如下圖所示。
3、選擇BootLoader項目類型,點擊Next,如下圖所示。
4、選擇工程名稱和存放路徑,點擊Finish即可完成工程的創建。
3.1.2 工程編譯
由于BootLoader項目不需要修改即可完成編譯,所以我們點擊如下圖所示的按鈕編譯代碼即可。
編譯完成后結果如下圖所示。
至此BootLoader固件編譯完成。
3.2 Application工程創建編譯
3.2.1 創建工程
1、依此點擊File->New->Silicon Labs Project Wizard創建模板工程,如下圖所示。
2、選擇芯片類型,SDK版本和交叉編譯器,點擊Next,如下圖所示。
3、隨便選擇一個項目類型,比如ZigbeeMinimal項目,點擊Next,如下圖所示。
4、選擇工程名稱和存放路徑,點擊Finish即可完成工程的創建。
3.2.2 工程編譯
1、進入VCOM控件配置頁面
2、配置USART0作為VCOM,并設置取消流控,映射TXD和RXD到PD0和PD1。
3、配置LED作為指示燈
4、配置PB0作為LED輸出
由于我們硬件上LED是低電平點亮,所以選擇Active_low,同時端口選擇PB0。通過上面配置兩個資源,我們就實現了Zigbee最小系統的修改,現在直接點擊如下圖所示按鈕進行編譯。
編譯完成后結果如下圖所示。
至此Application固件編譯完成。
3.3 固件下載
在之前我們編譯好了兩個固件,現在我們利用燒錄軟件將這兩個固件分別燒寫進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,就可以看到當前啟動打印的信息了,如下圖所示。
-
單片機
+關注
關注
6039文章
44575瀏覽量
636383 -
bootloader
+關注
關注
2文章
235瀏覽量
45656 -
EFR32
+關注
關注
1文章
10瀏覽量
5838
發布評論請先 登錄
相關推薦
評論