本文適用于使用AliOS Things v3.0和安全SDK v2.0的場景。
步驟一:適配KM HAL層
- 在AliOSThings/board/<設(shè)備名稱>/aos.mk下確定設(shè)備名稱和架構(gòu)名稱。其中設(shè)備名稱為CONFIG_SYSINFO_DEVICE_NAME,架構(gòu)名稱為HOST_ARCH。
以esp32devkitc為例:進(jìn)入AliOSThings/board/esp32devkitc/aos.mk,CONFIG_SYSINFO_DEVICE_NAME為ESP32,HOST_ARCH名稱為xtensa。
- 創(chuàng)建對應(yīng)的HAL層。
- 創(chuàng)建文件夾security/ls_hal/km/esp32。
- 在security/ls_hal/aos.mk中添加esp32文件編譯。
ifeq ($(CONFIG_SYSINFO_DEVICE_NAME), ESP32) $(NAME)_SOURCES += ./km/esp32/ls_hal_km.c endif
- 添加security/ls_hal/km/esp32/ls_km_hal.c文件并實(shí)現(xiàn)Soft-KM HAL接口。
需要適配的HAL接口為:
int ls_hal_get_dev_id(uint8_t *dev_id, uint32_t *id_len) int ls_hal_open_rsvd_part(int flag) int ls_hal_write_rsvd_part(int fd, uint32_t offset, void *data, uint32_t data_len) int ls_hal_read_rsvd_part(int fd, uint32_t offset, void *buffer, uint32_t read_len) int ls_hal_read_rsvd_part(int fd, uint32_t offset, void *buffer, uint32_t read_len)
步驟二:添加km庫檢查平臺架構(gòu)HOST_ARCH
若該架構(gòu)已存在于security/irot/km/lib中,則忽略該步驟。若不存在,請聯(lián)系阿里云物聯(lián)網(wǎng)安全團(tuán)隊(duì)提供相應(yīng)的libkm.a庫。
以esp32devkitc平臺為例,HOST_ARCH為xtensa。
- 在security/irot/km/lib下新建xtensa文件夾,文件夾名與HOST_ARCH保持一致。
- 拷貝libkm.a至該文件夾中。
步驟三:添加prov庫
如果ID2是通過產(chǎn)線燒錄到設(shè)備端,則需要聯(lián)系安全團(tuán)隊(duì)提供libprov.a庫,并添加libprov.a庫至security/prov/lib/<HOST_ARCH>中。
以esp32devkitc平臺為例:在security/prov/lib/下新建xenta文件夾,拷貝libprov.a到該文件夾中。