Commit 3acf8b19 authored by chen.weican's avatar chen.weican

【修改内容】增加NX5平台的编译支持

【提交人】陈伟灿
parent f2263a93
...@@ -10,12 +10,15 @@ CFLAGS += -I$(TOP_DIR)/common/nanomsg/include ...@@ -10,12 +10,15 @@ CFLAGS += -I$(TOP_DIR)/common/nanomsg/include
CFLAGS += -I$(TOP_DIR)/common/ev/include CFLAGS += -I$(TOP_DIR)/common/ev/include
LDFLAGS += -lkk_tsl LDFLAGS += -lkk_tsl
LDFLAGS += -lapi_com LDFLAGS += -lapi_com
ifeq ($(CONFIG_VENDOR),ubuntu) ifeq ($(CONFIG_MODEL),x86)
LDFLAGS += -L$(TOP_DIR)/common/nanomsg -lnanomsg_ubuntu LDFLAGS += -L$(TOP_DIR)/common/nanomsg -lnanomsg_ubuntu
LDFLAGS += -L$(TOP_DIR)/common/ev -lev_ubuntu LDFLAGS += -L$(TOP_DIR)/common/ev -lev_ubuntu
else ifeq ($(CONFIG_MODEL),nx5)
LDFLAGS += -L$(TOP_DIR)/common/nanomsg -lnanomsg_nx5
LDFLAGS += -L$(TOP_DIR)/common/ev -lev_nx5
else else
LDFLAGS += -L$(TOP_DIR)/common/nanomsg -lnanomsg LDFLAGS += -L$(TOP_DIR)/common/nanomsg -lnanomsg
LDFLAGS += -L$(TOP_DIR)/common/ev -lev LDFLAGS += -L$(TOP_DIR)/common/ev -lev
endif endif
LDFLAGS += -liot_cjson -liot_mqtt -ldl -lm -lanl -lkk_hal LDFLAGS += -liot_cjson -liot_mqtt -ldl -lm -lanl -lkk_hal
......
LIBSO_TARGET := libapi_com.so LIBSO_TARGET := libapi_com.so
CFLAGS += -I$(TOP_DIR)/common/nanomsg/include CFLAGS += -I$(TOP_DIR)/common/nanomsg/include
CFLAGS += -I$(TOP_DIR)/common/ev/include CFLAGS += -I$(TOP_DIR)/common/ev/include
ifeq ($(CONFIG_MODEL),x86)
ifeq ($(CONFIG_VENDOR),ubuntu) LDFLAGS += -L$(TOP_DIR)/common/nanomsg -lnanomsg_ubuntu
LDFLAGS += -L$(TOP_DIR)/common/nanomsg -lnanomsg_ubuntu LDFLAGS += -L$(TOP_DIR)/common/ev -lev_ubuntu
LDFLAGS += -L$(TOP_DIR)/common/ev -lev_ubuntu else ifeq ($(CONFIG_MODEL),nx5)
else LDFLAGS += -L$(TOP_DIR)/common/nanomsg -lnanomsg_nx5
LDFLAGS += -L$(TOP_DIR)/common/nanomsg -lnanomsg LDFLAGS += -L$(TOP_DIR)/common/ev -lev_nx5
LDFLAGS += -L$(TOP_DIR)/common/ev -lev else
endif LDFLAGS += -L$(TOP_DIR)/common/nanomsg -lnanomsg
LDFLAGS += -L$(TOP_DIR)/common/ev -lev
endif
LDFLAGS += -ldl LDFLAGS += -ldl
\ No newline at end of file
...@@ -7,60 +7,8 @@ ...@@ -7,60 +7,8 @@
# Configure C-SDK for IoT Embedded Devices # Configure C-SDK for IoT Embedded Devices
# #
FEATURE_PLATFORM_HAS_STDINT=y FEATURE_PLATFORM_HAS_STDINT=y
FEATURE_PLATFORM_HAS_DYNMEM=y FEATURE_KCLOUD_PLATFORM_SUPPORT=y
# FEATURE_PLATFORM_HAS_OS is not set # FEATURE_LUOMA_PLATFORM_SUPPORT is not set
FEATURE_INFRA_STRING=y FEATURE_INFRA_STRING=y
FEATURE_INFRA_NET=y FEATURE_INFRA_NET=y
FEATURE_INFRA_LIST=y FEATURE_INFRA_LIST=y
# FEATURE_INFRA_LOG_NETWORK_PAYLOAD is not set
# FEATURE_INFRA_LOG is not set
# FEATURE_INFRA_MEM_STATS is not set
FEATURE_INFRA_TIMER=y
# FEATURE_INFRA_RANDOM is not set
# FEATURE_INFRA_JSON_PARSER is not set
# FEATURE_INFRA_CJSON is not set
# FEATURE_INFRA_MD5 is not set
# FEATURE_INFRA_SHA1 is not set
FEATURE_INFRA_SHA256=y
FEATURE_INFRA_REPORT=y
# FEATURE_INFRA_HTTPC is not set
FEATURE_INFRA_COMPAT=y
# FEATURE_INFRA_CLASSIC is not set
# FEATURE_INFRA_PREAUTH is not set
# FEATURE_INFRA_AES is not set
FEATURE_DEV_SIGN=y
FEATURE_MQTT_COMM_ENABLED=y
#
# MQTT Configurations
#
FEATURE_MQTT_DEFAULT_IMPL=y
# FEATURE_MQTT_PRE_AUTH is not set
FEATURE_MQTT_DIRECT=y
# FEATURE_ASYNC_PROTOCOL_STACK is not set
# FEATURE_DYNAMIC_REGISTER is not set
# FEATURE_LOG_REPORT_TO_CLOUD is not set
# FEATURE_DEVICE_MODEL_ENABLED is not set
# FEATURE_HAL_KV is not set
# FEATURE_SUPPORT_TLS is not set
# FEATURE_HAL_CRYPTO is not set
# FEATURE_HAL_UDP is not set
# FEATURE_COAP_DTLS_SUPPORT is not set
# FEATURE_ATM_ENABLED is not set
# FEATURE_OTA_ENABLED is not set
# FEATURE_COAP_COMM_ENABLED is not set
# FEATURE_COAP_PACKET is not set
# FEATURE_COAP_CLIENT is not set
# FEATURE_COAP_SERVER is not set
# FEATURE_DEV_RESET is not set
# FEATURE_HTTP_COMM_ENABLED is not set
# FEATURE_HTTP2_COMM_ENABLED is not set
# FEATURE_FS_ENABLED is not set
# FEATURE_AWSS_SUPPORT_APLIST is not set
# FEATURE_AWSS_DISABLE_ENROLLEE is not set
# FEATURE_AWSS_DISABLE_REGISTRAR is not set
# FEATURE_AWSS_SUPPORT_ADHA is not set
# FEATURE_AWSS_FRAMEWORKS is not set
# FEATURE_WIFI_PROVISION_ENABLED is not set
# FEATURE_AWSS_SUPPORT_SMARTCONFIG_WPS is not set
# FEATURE_DEV_BIND_ENABLED is not set
...@@ -10,7 +10,9 @@ COMP_LIB := libkk_tsl.a ...@@ -10,7 +10,9 @@ COMP_LIB := libkk_tsl.a
COMP_LIB_COMPONENTS := \ COMP_LIB_COMPONENTS := \
midware/tsl \ midware/tsl \
SUBDIRS += application/kcloud #SUBDIRS += application/kcloud
$(call Append_Conditional, SUBDIRS, application/kcloud, KCLOUD_PLATFORM_SUPPORT)
$(call Append_Conditional, SUBDIRS, application/kk_luoma, LUOMA_PLATFORM_SUPPORT)
SUBDIRS += midware/midware SUBDIRS += midware/midware
SUBDIRS += common/mqtt SUBDIRS += common/mqtt
SUBDIRS += common/json SUBDIRS += common/json
......
...@@ -13,10 +13,14 @@ CFLAGS += -I$(TOP_DIR)/src/tsl/tsl_handle ...@@ -13,10 +13,14 @@ CFLAGS += -I$(TOP_DIR)/src/tsl/tsl_handle
LDFLAGS += -lapi_com -liot_cjson -lkk_tsl LDFLAGS += -lapi_com -liot_cjson -lkk_tsl
LDFLAGS += -lm -lkk_hal LDFLAGS += -lm -lkk_hal
LDFLAGS += -lsqlite -ldl LDFLAGS += -lsqlite -ldl
ifeq ($(CONFIG_VENDOR),ubuntu)
ifeq ($(CONFIG_MODEL),x86)
LDFLAGS += -L$(TOP_DIR)/common/nanomsg -lnanomsg_ubuntu -lanl LDFLAGS += -L$(TOP_DIR)/common/nanomsg -lnanomsg_ubuntu -lanl
LDFLAGS += -L$(TOP_DIR)/common/ev -lev_ubuntu LDFLAGS += -L$(TOP_DIR)/common/ev -lev_ubuntu
else ifeq ($(CONFIG_MODEL),nx5)
LDFLAGS += -L$(TOP_DIR)/common/nanomsg -lnanomsg_nx5 -lanl
LDFLAGS += -L$(TOP_DIR)/common/ev -lev_nx5
else else
LDFLAGS += -L$(TOP_DIR)/common/nanomsg -lnanomsg -lanl LDFLAGS += -L$(TOP_DIR)/common/nanomsg -lnanomsg -lanl
LDFLAGS += -L$(TOP_DIR)/common/ev -lev LDFLAGS += -L$(TOP_DIR)/common/ev -lev
endif endif
\ No newline at end of file
...@@ -43,6 +43,7 @@ TOP_BUILD_VARS := \ ...@@ -43,6 +43,7 @@ TOP_BUILD_VARS := \
TOP_DIR \ TOP_DIR \
RULE_DIR \ RULE_DIR \
CONFIG_VENDOR \ CONFIG_VENDOR \
CONFIG_MODEL \
COMP_LIB \ COMP_LIB \
COMP_LIB_COMPONENTS \ COMP_LIB_COMPONENTS \
$(CROSS_CANDIDATES) \ $(CROSS_CANDIDATES) \
......
...@@ -209,9 +209,13 @@ package: ...@@ -209,9 +209,13 @@ package:
cp -rf $(TOP_DIR)/process_check.sh $(TOP_DIR)/$(releaseDir)/ cp -rf $(TOP_DIR)/process_check.sh $(TOP_DIR)/$(releaseDir)/
cp -rf $(TOP_DIR)/platform/zigbee/app/builder/Z3GatewayHost/ZB/dev_config_table $(TOP_DIR)/$(releaseDir)/ cp -rf $(TOP_DIR)/platform/zigbee/app/builder/Z3GatewayHost/ZB/dev_config_table $(TOP_DIR)/$(releaseDir)/
cp -rf $(TOP_DIR)/platform/zigbee/app/builder/Z3GatewayHost/ZB/dev_map_table.json $(TOP_DIR)/$(releaseDir)/dev_config_table/ cp -rf $(TOP_DIR)/platform/zigbee/app/builder/Z3GatewayHost/ZB/dev_map_table.json $(TOP_DIR)/$(releaseDir)/dev_config_table/
ifeq ($(CONFIG_VENDOR),ubuntu) ifeq ($(CONFIG_MODEL),ubuntu)
cp -rf $(TOP_DIR)/common/nanomsg/libnanomsg_ubuntu.so $(TOP_DIR)/$(releaseDir)/lib/libnanomsg.so.5 cp -rf $(TOP_DIR)/common/nanomsg/libnanomsg_ubuntu.so $(TOP_DIR)/$(releaseDir)/lib/libnanomsg.so.5
cp -rf $(TOP_DIR)/common/ev/libev_ubuntu.so $(TOP_DIR)/$(releaseDir)/lib cp -rf $(TOP_DIR)/common/ev/libev_ubuntu.so $(TOP_DIR)/$(releaseDir)/lib
else ifeq ($(CONFIG_MODEL),nx5)
cp -rf $(TOP_DIR)/common/nanomsg/libnanomsg_nx5.so $(TOP_DIR)/$(releaseDir)/lib
cp -rf $(TOP_DIR)/common/ev/libev_nx5.so $(TOP_DIR)/$(releaseDir)/lib
cp -rf $(TOP_DIR)/common/sqlite/libsqlite3.so $(TOP_DIR)/$(releaseDir)/lib
else else
cp -rf $(TOP_DIR)/common/nanomsg/libnanomsg.so $(TOP_DIR)/$(releaseDir)/lib cp -rf $(TOP_DIR)/common/nanomsg/libnanomsg.so $(TOP_DIR)/$(releaseDir)/lib
cp -rf $(TOP_DIR)/common/ev/libev.so $(TOP_DIR)/$(releaseDir)/lib cp -rf $(TOP_DIR)/common/ev/libev.so $(TOP_DIR)/$(releaseDir)/lib
......
...@@ -12,6 +12,8 @@ SYSROOT_BIN := $(OUTPUT_DIR)${bindir} ...@@ -12,6 +12,8 @@ SYSROOT_BIN := $(OUTPUT_DIR)${bindir}
SYSROOT_INC := $(OUTPUT_DIR)${incdir} SYSROOT_INC := $(OUTPUT_DIR)${incdir}
SYSROOT_LIB := $(OUTPUT_DIR)${libdir} SYSROOT_LIB := $(OUTPUT_DIR)${libdir}
CONFIG_VENDOR := $(shell grep -m 1 "VENDOR *:" $(CONFIG_TPL) 2>/dev/null|awk '{ print $$NF }') CONFIG_VENDOR := $(shell grep -m 1 "VENDOR *:" $(CONFIG_TPL) 2>/dev/null|awk '{ print $$NF }')
CONFIG_MODEL := $(shell grep -m 1 "MODEL *:" $(CONFIG_TPL)|cut -c 3- 2>/dev/null|awk '{ print $$NF }')
IMPORT_VDRDIR := $(IMPORT_DIR)/$(CONFIG_VENDOR) IMPORT_VDRDIR := $(IMPORT_DIR)/$(CONFIG_VENDOR)
HOST_ARCH_BITS := $(shell [ "$$(uname -m)" = "x86_64" ] && echo -n "64" || echo -n "32") HOST_ARCH_BITS := $(shell [ "$$(uname -m)" = "x86_64" ] && echo -n "64" || echo -n "32")
...@@ -62,7 +64,7 @@ SHOW_ENV_VARS := \ ...@@ -62,7 +64,7 @@ SHOW_ENV_VARS := \
$(foreach N,$(LIBSO_TARGET),LIB_SRCS_$(subst .so,,$(subst lib,,$(N)))) \ $(foreach N,$(LIBSO_TARGET),LIB_SRCS_$(subst .so,,$(subst lib,,$(N)))) \
INTERNAL_INCLUDES TOP_DIR PRJ_NAME PRJ_VERSION COMP_LIB_COMPONENTS \ INTERNAL_INCLUDES TOP_DIR PRJ_NAME PRJ_VERSION COMP_LIB_COMPONENTS \
IMPORT_DIR IMPORT_VDRDIR CONFIG_DIR PACKAGE_DIR EXTERNAL_INCLUDES \ IMPORT_DIR IMPORT_VDRDIR CONFIG_DIR PACKAGE_DIR EXTERNAL_INCLUDES \
CONFIG_LIB_EXPORT OBJCOPY_FLAGS CONFIG_VENDOR COVERAGE_PROGS COVERAGE_CMD \ CONFIG_LIB_EXPORT OBJCOPY_FLAGS CONFIG_VENDOR COVERAGE_PROGS COVERAGE_CMD CONFIG_MODEL \
INFO_ENV_VARS := $(SHOW_ENV_VARS) \ INFO_ENV_VARS := $(SHOW_ENV_VARS) \
ALL_SUB_DIRS SED RULE_DIR OUTPUT_DIR MAKE_SEGMENT COMP_LIB_NAME LIBOBJ_TMPDIR \ ALL_SUB_DIRS SED RULE_DIR OUTPUT_DIR MAKE_SEGMENT COMP_LIB_NAME LIBOBJ_TMPDIR \
......
config PLATFORM_HAS_STDINT config PLATFORM_HAS_STDINT
bool "PLATFORM_HAS_STDINT" bool
default y default y
help
Tell if you have <stdint.h> when build image for target board
Switching to "n" leads to SDK use self-defined data-type in src/infra/infra_types.h
config PLATFORM_HAS_DYNMEM config KCLOUD_PLATFORM_SUPPORT
bool "PLATFORM_HAS_DYNMEM" bool "KCLOUD_PLATFORM_SUPPORT"
default y default y
help help
Tell if you have malloc() and free() style capability on target board via HAL_Malloc() and HAL_Free() Support KCLOUD_PLATFORM_SUPPORT
Switching to "y" leads to SDK invoking HAL_Malloc() and HAL_Free() so runtime memory is dynamic config LUOMA_PLATFORM_SUPPORT
Switching to "n" leads to SDK use global static array instead of heap so process capability is more limited bool "LUOMA_PLATFORM_SUPPORT"
config PLATFORM_HAS_OS
bool "PLATFORM_HAS_OS"
default n default n
help help
Tell if you have Operation System on target board Support LUOMA_PLATFORM_SUPPORT
Switching to "y" leads to SDK invoking HAL_Mutex_Lock() / HAL_Semaphore_Wait() etc
Switching to "n" leads to SDK avoid using mutex and semaphore, and avoid using multi-task as well
config INFRA_STRING config INFRA_STRING
bool bool
default n default y
config INFRA_NET config INFRA_NET
bool bool
default n
config INFRA_LIST
bool
default n
config INFRA_LOG_NETWORK_PAYLOAD
bool "FEATURE_INFRA_NETWORK_PAYLOAD"
default y if MQTT_COMM_ENABLED || COAP_COMM_ENABLED || HTTP_COMM_ENABLED || DEVICE_MODEL_ENABLED
help
Parse and print JSON format upstream and downstream network packet payload when SDK communicates with cloud
config INFRA_LOG
bool "FEATURE_INFRA_LOG"
default y default y
select INFRA_LOG_ALL_MUTED if (INFRA_LOG_MUTE_FLW && INFRA_LOG_MUTE_DBG && INFRA_LOG_MUTE_INF && INFRA_LOG_MUTE_WRN && INFRA_LOG_MUTE_ERR && INFRA_LOG_MUTE_CRT)
help
Control SDK print formatted log but all levels are muted by default, enable them in sub-menu of "Log Configurations"
menu "Log Configurations"
depends on INFRA_LOG
config INFRA_LOG_ALL_MUTED config INFRA_LIST
bool bool
default n
config INFRA_LOG_MUTE_FLW
bool "MUTE LEVEL of FLOW (6)"
default y
config INFRA_LOG_MUTE_DBG
bool "MUTE LEVEL of DEBUG (5)"
default y
config INFRA_LOG_MUTE_INF
bool "MUTE LEVEL of INFO (4)"
default y
config INFRA_LOG_MUTE_WRN
bool "MUTE LEVEL of WARN (3)"
default y default y
config INFRA_LOG_MUTE_ERR
bool "MUTE LEVEL of ERROR (2)"
default y
config INFRA_LOG_MUTE_CRT
bool "MUTE LEVEL of CRIT (1)"
default y
endmenu
config INFRA_MEM_STATS
bool
default n
config INFRA_TIMER
bool
default n
config INFRA_RANDOM
bool
default n
config INFRA_JSON_PARSER
bool
default n
config INFRA_CJSON
bool
default n
config INFRA_MD5
bool
default n
config INFRA_SHA1
bool
default n
config INFRA_SHA256
bool
default n
config INFRA_REPORT
bool
default n
select INFRA_STRING
config INFRA_HTTPC
bool
default n
select INFRA_NET
select INFRA_TIMER
config INFRA_MEM_STATS
bool
default n
select INFRA_LIST
config INFRA_COMPAT
bool
default n
select HAL_KV if DYNAMIC_REGISTER
config INFRA_CLASSIC
bool
default n
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment