天天看點

[Ember Zigbee]EFR32MG之配置一個Bootloader                                                                                                                        Be careful:

針對Simplicity Studio 4,配置一個EFR32的bootloader,實作zigbee的OTA更新

Platform:Simplicity Studio 4、EmberZNet SDK 6.4.1.0

【SPP】Content:

efr32配置一個Bootloader

1、打開Simplicity Studio V4,選擇Simplicity IDE:

[Ember Zigbee]EFR32MG之配置一個Bootloader                                                                                                                        Be careful:

2、點選Project->New->Silicon Labs AppBuilder Project…,選擇Gecko Bootloader,點選Next;

[Ember Zigbee]EFR32MG之配置一個Bootloader                                                                                                                        Be careful:

3、出現Stacks界面,選擇Gecko Bootloader1.7.0,點選next;

[Ember Zigbee]EFR32MG之配置一個Bootloader                                                                                                                        Be careful:

4、出現Select Application界面,Bootloader的例程有很多種,一般根據需求,由于我們選擇的是EFR32MG12擁有1024KB的記憶體,故選擇内部Flash存儲image檔案,由于我們僅使用zigbee協定,是以選擇Internal Storage Bootloader(single image on 1MB device),點選next;

[Ember Zigbee]EFR32MG之配置一個Bootloader                                                                                                                        Be careful:

5、出現Project Configuration界面,可自定義工程名與路徑(此處預設),點選next;

[Ember Zigbee]EFR32MG之配置一個Bootloader                                                                                                                        Be careful:

6、出現Project setup界面,根據自己的硬體選擇闆子、晶片型号及編譯鍊,點選Finish;

[Ember Zigbee]EFR32MG之配置一個Bootloader                                                                                                                        Be careful:

7、進入工程界面;

[Ember Zigbee]EFR32MG之配置一個Bootloader                                                                                                                        Be careful:

8、點選<projectname>.isc的storage選項,可以看到此處協定站預設配置為Slot的Start Address:540672<0x84000>   size:499712<488kb>,可根據自己需要修改,但不能與Sim-EEPROM配置的記憶體位址存在交集即可;

[Ember Zigbee]EFR32MG之配置一個Bootloader                                                                                                                        Be careful:

9、點選Generate導出工程,然後點b擊編譯工程,生成<projectname>.s37與<projectname>-combined.s37;

[Ember Zigbee]EFR32MG之配置一個Bootloader                                                                                                                        Be careful:

10、進入Debug Adapters選項框,滑鼠右擊已連接配接開發闆的Jlink,然後選擇Upload Application,選擇對應的應用程式GBL檔案和BootLoader檔案;

[Ember Zigbee]EFR32MG之配置一個Bootloader                                                                                                                        Be careful:

到此,bootload工程結束,直接聯合應用程式一起燒錄即可;

Be careful:

1、如果隻想燒錄應用代碼,不燒錄bootloader,則不選步驟10中upload option選項;

2、編譯輸出的.s37檔案有<projectname>.s37與<projectname>-combined.s37兩種,根據官方【ug266】文檔的【The first time a device is programmed, whether during development or manufacturing, the combined image needs to be programmed】,故需要選擇<projectname>-combined.s37檔案配合Application程式下載下傳

3、bootloader分Application mode BootLoader與Local Storage Bootloader兩種,它影響Simulate EEPROM的位址配置設定位置;前者占用Flash的最後位址,後者占用Flash的中間位址;

繼續閱讀