本文適用于使用AliOS Things v3.0和安全SDK v2.0的場景。

步驟一:適配KM HAL層

  1. 在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。

  2. 創(chuàng)建對應(yīng)的HAL層。
    1. 創(chuàng)建文件夾security/ls_hal/km/esp32。
    2. 在security/ls_hal/aos.mk中添加esp32文件編譯。
      ifeq ($(CONFIG_SYSINFO_DEVICE_NAME), ESP32)
      $(NAME)_SOURCES  += ./km/esp32/ls_hal_km.c
      endif
    3. 添加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。

  1. 在security/irot/km/lib下新建xtensa文件夾,文件夾名與HOST_ARCH保持一致。
  2. 拷貝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到該文件夾中。