常见问题

在获取和编译生活物联网平台SDK时遇到的常见问题以及解决方法。

如何设置SSH?

SSH key用于在您的电脑和Code服务器之间建立安全的加密连接。当您使用Git命令获取SDK时,需要配置SSH。

  1. 进入Linux系统,执行以下命令,判断本地是否存在SSH key。

    cat ~/.ssh/id_rsa.pub

    查看返回结果,是否返回以ssh-rsassh-dsa开头的长字符串。

    • 是:表示本地存在SSH key,请跳至“步骤3”执行。

    • 否:表示本地没有SSH key,请按顺序步骤执行。

  2. 执行以下命令生成SSH Key。

    ssh-keygen -t rsa -C "xxxx@xxx.com"  //xxxx@xxx.com为您的邮箱地址

    当页面出现提示时,您可以按Enter键使用默认值。

    命令执行完成后,您可以使用步骤1中的命令cat ~/.ssh/id_rsa.pub检查SSH key。

  3. 进入阿里云管理控制台

  4. 在右上角个人账号中,选择个人设置

  5. 单击SSH公钥,并配置相关参数。

    SSH公钥页面中,公钥配置为cat ~/.ssh/id_rsa.pub命令的返回结果。image.png

编译V1.3.0及以上版本SDK时出现的错误

头文件、静态库缺失错误

以编译bk7231u芯片为例,您可以参考以下操作来解决该问题。

  1. 进入tools/bk7231udevkitc.sh脚本文件。

  2. 在代码files_cp中加入复制命令,将相应的头文件或静态库,复制到对应的目录下。

    • 头文件(*.h):复制到prebuild/include目录下。

    • 静态库(*.a):复制到prebuild/lib目录下。

    复制命令的示例如下。

    //静态库的复制命令
    cp Living_SDK/platform/mcu/bk7231u/beken/beken.a  prebuild/lib/
    
    //头文件的复制命令
    cp Living_SDK/platform/mcu/bk7231u/beken/driver/ble/ble.h  prebuild/include/
  3. (可选)如果在应用增加静态库文件,您还需要在该应用的/Products/example/smart_outlet/makefile文件中,增加静态库文件(*.a),并把新增的静态库文件编译到应用库文件中。

    请参考以下示例来新增静态库。

    LIBFILE = lib/ARM968E-S/libtest.a
    
    $(target):$(obj_app)
            mkdir -p obj
            $(foreach n, $(LIBFILE), $(AR) x $(n);)
            @cp *.o obj/
            @cp $(obj_app) obj/
            @$(RM) -rf *.o
            @$(RM) -rf $(obj_app)
            @$(AR) -rcs $(PWD)/../../../prebuild/lib/$(target).a obj/*.o 2>/dev/null
            @$(RM) -rf obj