编译步骤:按照阿里提供的说明步骤(3.0.1版本的),因为2.3的版本编译步骤找不到,其中主要是把配置文件改下,在说明的第一步的配置文件的后面加上编译器为arm-linux-gnueabihf-gcc 具体实现如下(https://code.aliyun.com/linkkit/c-sdk):
安装交叉编译工具链
仍以Ubuntu16.04开发环境为例
$ sudo apt-get install -y gcc-arm-linux-gnueabihf
$ arm-linux-gnueabihf-gcc --version
arm-linux-gnueabihf-gcc (Ubuntu/Linaro 4.8.4-2ubuntu1~14.04.1) 4.8.4
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software;see the source for copying conditions. There is NO
warranty;not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
进入2.3SDK中
添加配置文件
$ touch src/board/config.arm-linux.demo
$ ls src/board/
config.alios.mk3080 config.arm-linux.demo config.ubuntu.x86 等
编辑配置文件
在这一步, 需要设置编译选项和工具链, 以及跳过编译的目录
$ vim src/board/config.arm-linux.demo
CONFIG_ENV_CFLAGS += \
-Os -Wall \
-g3 --coverage \
-D_PLATFORM_IS_LINUX_ \
-D__UBUNTU_SDK_DEMO__ \
CONFIG_ENV_CFLAGS += \
-DWITH_MQTT_DYN_BUF=1 \
-DWITH_MEM_STATS=0 \
-DWITH_MEM_STATS_PER_MODULE=0 \
-DWITH_MQTT_JSON_FLOW=1 \
-DWITH_MQTT_ZIP_TOPIC=1 \
-DWITH_MQTT_SUB_SHORTCUT=1
CONFIG_ENV_CFLAGS += \
-DCONFIG_MQTT_RX_MAXLEN=5000 \
-DCONFIG_MBEDTLS_DEBUG_LEVEL=0 \
ifneq (Darwin,$(strip $(shell uname)))
CONFIG_ENV_CFLAGS += -rdynamic
CONFIG_ENV_CFLAGS += -Werror
else
CONFIG_src/ref-impl/hal :=
CONFIG_examples :=
CONFIG_src/tools/linkkit_tsl_convert :=
endif
CONFIG_ENV_LDFLAGS += -lpthread -lrt
OVERRIDE_CC = arm-linux-gnueabihf-gcc
注意, 上面的最后1行是加上去的,换成arm编译器。这些配置文件是在config.buntu.x86上的内容。
然后回到跟目录,输入make reconfig 选择config.arm-linux.demo,然后make