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

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

【提交人】陈伟灿
parent f2263a93
......@@ -10,9 +10,12 @@ CFLAGS += -I$(TOP_DIR)/common/nanomsg/include
CFLAGS += -I$(TOP_DIR)/common/ev/include
LDFLAGS += -lkk_tsl
LDFLAGS += -lapi_com
ifeq ($(CONFIG_VENDOR),ubuntu)
ifeq ($(CONFIG_MODEL),x86)
LDFLAGS += -L$(TOP_DIR)/common/nanomsg -lnanomsg_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
LDFLAGS += -L$(TOP_DIR)/common/nanomsg -lnanomsg
LDFLAGS += -L$(TOP_DIR)/common/ev -lev
......
......@@ -2,10 +2,12 @@ LIBSO_TARGET := libapi_com.so
CFLAGS += -I$(TOP_DIR)/common/nanomsg/include
CFLAGS += -I$(TOP_DIR)/common/ev/include
ifeq ($(CONFIG_VENDOR),ubuntu)
ifeq ($(CONFIG_MODEL),x86)
LDFLAGS += -L$(TOP_DIR)/common/nanomsg -lnanomsg_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
LDFLAGS += -L$(TOP_DIR)/common/nanomsg -lnanomsg
LDFLAGS += -L$(TOP_DIR)/common/ev -lev
......
......@@ -7,60 +7,8 @@
# Configure C-SDK for IoT Embedded Devices
#
FEATURE_PLATFORM_HAS_STDINT=y
FEATURE_PLATFORM_HAS_DYNMEM=y
# FEATURE_PLATFORM_HAS_OS is not set
FEATURE_KCLOUD_PLATFORM_SUPPORT=y
# FEATURE_LUOMA_PLATFORM_SUPPORT is not set
FEATURE_INFRA_STRING=y
FEATURE_INFRA_NET=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
COMP_LIB_COMPONENTS := \
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 += common/mqtt
SUBDIRS += common/json
......
......@@ -13,9 +13,13 @@ CFLAGS += -I$(TOP_DIR)/src/tsl/tsl_handle
LDFLAGS += -lapi_com -liot_cjson -lkk_tsl
LDFLAGS += -lm -lkk_hal
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/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
LDFLAGS += -L$(TOP_DIR)/common/nanomsg -lnanomsg -lanl
LDFLAGS += -L$(TOP_DIR)/common/ev -lev
......
......@@ -43,6 +43,7 @@ TOP_BUILD_VARS := \
TOP_DIR \
RULE_DIR \
CONFIG_VENDOR \
CONFIG_MODEL \
COMP_LIB \
COMP_LIB_COMPONENTS \
$(CROSS_CANDIDATES) \
......
......@@ -209,9 +209,13 @@ package:
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_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/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
cp -rf $(TOP_DIR)/common/nanomsg/libnanomsg.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}
SYSROOT_INC := $(OUTPUT_DIR)${incdir}
SYSROOT_LIB := $(OUTPUT_DIR)${libdir}
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)
HOST_ARCH_BITS := $(shell [ "$$(uname -m)" = "x86_64" ] && echo -n "64" || echo -n "32")
......@@ -62,7 +64,7 @@ SHOW_ENV_VARS := \
$(foreach N,$(LIBSO_TARGET),LIB_SRCS_$(subst .so,,$(subst lib,,$(N)))) \
INTERNAL_INCLUDES TOP_DIR PRJ_NAME PRJ_VERSION COMP_LIB_COMPONENTS \
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) \
ALL_SUB_DIRS SED RULE_DIR OUTPUT_DIR MAKE_SEGMENT COMP_LIB_NAME LIBOBJ_TMPDIR \
......
config PLATFORM_HAS_STDINT
bool "PLATFORM_HAS_STDINT"
bool
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
bool "PLATFORM_HAS_DYNMEM"
config KCLOUD_PLATFORM_SUPPORT
bool "KCLOUD_PLATFORM_SUPPORT"
default y
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
Switching to "n" leads to SDK use global static array instead of heap so process capability is more limited
config PLATFORM_HAS_OS
bool "PLATFORM_HAS_OS"
config LUOMA_PLATFORM_SUPPORT
bool "LUOMA_PLATFORM_SUPPORT"
default n
help
Tell if you have Operation System on target board
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
Support LUOMA_PLATFORM_SUPPORT
config INFRA_STRING
bool
default n
default y
config INFRA_NET
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
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
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
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