六步帶你完成博流wifi模組對接華爲雲流程

摘要:本文主要採用基於博流wifi模組以及咱們的SDK移植實現華爲雲的對接,上報數據以及命令下發等,但願對您有所幫助。

1 簡介

首先須要研究透徹博流項目的編譯運行流程,首先看其根目錄中包括components(組件),customer_app(多個demo示例)。以sdk根目錄的customer_app文件夾中存在大量的demo示例,以bl602_demo_wifi爲例,主要看3個文件,genromap、Makefile、proj_config.mk。segmentfault

image

咱們知道在運行代碼時只須要在控制檯輸入命令./genromap便可,分析其內部細節,依舊是採用make+參數的形式,則會根據其參數調用同文件夾下的Makefile文件,在該makeifle文件中包含了使用的組件以及對應的頭文件名稱如咱們在components中添加的iot_link組件文件夾以及相應的頭文件。在該Makefile中最後一行調用到了主Makefile即$(BL60X_SDK_PATH)/make_scripts_riscv/project.mk文件,該文件會編譯調用使能的組件中的buffalo.mk文件,將全部的目標文件連接到一塊兒,生成.bin文件。app

image

接下來看一下一個典型的buffalo.mk文件,以下圖,按照以下格式進行組件中的代碼添加,固然也能夠靈活使用宏定義進行統一控制,主要包括一些源文件以及頭文件的路徑以及名稱的添加,以及註釋掉的CPPFLAGS以及LDFLAGS等等。tcp

image

2 適配osal層

須要將FreeRTOS適配到咱們的SDK中,首先學習FreeRTOS 的經常使用接口以及具體使用功能方式,進行適配,FreeRTOS task須要手動刪除的特色,因爲建立task使用較少,這裏我只作了簡單的適配,沒有深究該細節,所以在調用osal建立任務的時候最好仍是手動delete一下。函數

3 添加自動鏈接wifi任務

image

4 添加lwm2m使能

首先根據咱們sdk中的iot.mk文件肯定哪些文件須要添加進行編譯,這裏有兩種方式一種是依舊採用宏定義方式,將iot.mk文件替換爲buffalo.mk文件,在其中完成一個完整的組件調用包括各類宏定義組件開關配置,對於該方式須要在相應文件中進行宏定義的使能,如proj__config.mk。還有一種快速方式直接打散原sdk提取對應的.c和頭文件,雖然速度快,不易出錯,可是打散結構是咱們不提倡的,代碼結構層次不夠清晰,比較適合小白。學習

(1)源文件列舉spa

image

(2)頭文件列舉3d

注意儘可能規避同名頭文件的使用,不然容易出錯,如咱們的sdk中的queue.h須要刪除。component

image

5 sal層適配

因爲了lwm2m內部使用tcpip所以若是使用awkka-lwm2m適配須要適配tcpip層,即sal層的適配,在咱們sdk的network/tcpip/sal,注意其中的源文件要添加到上述iot_link的src中,以後適配sal層,因爲博流sdk中使用的標準的lwip,這裏咱們導入lwip_imp.c便可。同時須要在主文件中添加以下代碼。同時原來demo的main函數中的ticip_init()函數,由於該函數已在link_tcpip_init()中執行。blog

image

6 註釋掉虛引用函數

對於本項目中應該包括接口

oc_lwm2m_al.c中__attribute__((weak)) int oc_lwm2m_imp_init(void)函數;

osal.c中的__attribute__((weak)) int os_imp_init(void)函數;

lwm2m.c中的__attribute__((weak)) int lwm2m_imp_init(void)函數。

sal.c中的__attribute__((weak)) int link_tcpip_imp_init(void)函數。

注意不要註釋掉__attribute__((weak)) int netdriver_install()函數,由於該函數不是每一個板子都須要適配驅動,若是須要本身實現才進行註釋,不然編譯報錯。

image

若是拷貝完整工程須要以下三步

須要您操做的3步

(1)將上述文件iot_link組件添加到bl_iot_sdk的component路徑下。

(2) 將bl602_demo_wifi中的demo刪除,以後將文件夾中的bl602_demo_wifi拷貝過去。

(3) 該project.mk代碼我刪除了該代碼的264行的Werror=all

image

本文分享自華爲雲社區《博流wifi模組對接華爲雲流程》,原文做者:星辰27 。

點擊關注,第一時間瞭解華爲雲新鮮技術~

相關文章
相關標籤/搜索