mirror of
https://github.com/micropython/micropython.git
synced 2026-01-07 12:40:15 +01:00
extmod/modopenamp: Add new OpenAMP module.
This module implements OpenAMP's basic initialization and shared resources support, and provides support for OpenAMP's RPMsg component, by providing an `endpoint` type (a logical connection on top of RPMsg channel) which can be used to communicate with the remote core. Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
This commit is contained in:
committed by
Damien George
parent
162054be85
commit
14dae42fe7
@@ -31,6 +31,7 @@ SRC_EXTMOD_C += \
|
||||
extmod/modmachine.c \
|
||||
extmod/modnetwork.c \
|
||||
extmod/modonewire.c \
|
||||
extmod/modopenamp.c \
|
||||
extmod/modos.c \
|
||||
extmod/modplatform.c\
|
||||
extmod/modrandom.c \
|
||||
@@ -515,3 +516,44 @@ include $(TOP)/extmod/btstack/btstack.mk
|
||||
endif
|
||||
|
||||
endif
|
||||
|
||||
################################################################################
|
||||
# openamp
|
||||
|
||||
ifeq ($(MICROPY_PY_OPENAMP),1)
|
||||
OPENAMP_DIR = lib/open-amp
|
||||
LIBMETAL_DIR = lib/libmetal
|
||||
GIT_SUBMODULES += $(LIBMETAL_DIR) $(OPENAMP_DIR)
|
||||
include $(TOP)/extmod/libmetal/libmetal.mk
|
||||
|
||||
INC += -I$(TOP)/$(OPENAMP_DIR)
|
||||
CFLAGS += -DMICROPY_PY_OPENAMP=1
|
||||
|
||||
CFLAGS_THIRDPARTY += \
|
||||
-I$(BUILD)/openamp \
|
||||
-I$(TOP)/$(OPENAMP_DIR) \
|
||||
-I$(TOP)/$(OPENAMP_DIR)/lib/include/ \
|
||||
-DMETAL_INTERNAL \
|
||||
-DVIRTIO_DRIVER_ONLY \
|
||||
-DNO_ATOMIC_64_SUPPORT \
|
||||
-DRPMSG_BUFFER_SIZE=512 \
|
||||
|
||||
# OpenAMP's source files.
|
||||
SRC_OPENAMP_C += $(addprefix $(OPENAMP_DIR)/lib/,\
|
||||
rpmsg/rpmsg.c \
|
||||
rpmsg/rpmsg_virtio.c \
|
||||
virtio/virtio.c \
|
||||
virtio/virtqueue.c \
|
||||
virtio_mmio/virtio_mmio_drv.c \
|
||||
)
|
||||
|
||||
# Disable compiler warnings in OpenAMP (variables used only for assert).
|
||||
$(BUILD)/$(OPENAMP_DIR)/lib/rpmsg/rpmsg_virtio.o: CFLAGS += -Wno-unused-but-set-variable
|
||||
$(BUILD)/$(OPENAMP_DIR)/lib/virtio_mmio/virtio_mmio_drv.o: CFLAGS += -Wno-unused-but-set-variable
|
||||
|
||||
# We need to have generated libmetal before compiling OpenAMP.
|
||||
$(addprefix $(BUILD)/, $(SRC_OPENAMP_C:.c=.o)): $(BUILD)/openamp/metal/config.h
|
||||
|
||||
SRC_THIRDPARTY_C += $(SRC_LIBMETAL_C) $(SRC_OPENAMP_C)
|
||||
|
||||
endif # MICROPY_PY_OPENAMP
|
||||
|
||||
Reference in New Issue
Block a user