From 9d9efc0c5aaf889e8c041278e0fec7baa9e6dc40 Mon Sep 17 00:00:00 2001
From: Paul Sokolovsky <pfalcon@users.sourceforge.net>
Date: Fri, 22 Jul 2016 20:19:17 +0300
Subject: [PATCH] zephyr: Initial Zephyr RTOS port, Zephyr part.

---
 zephyr/Kbuild             |  3 +++
 zephyr/Makefile.zephyr    | 26 ++++++++++++++++++++++++++
 zephyr/prj.conf           |  4 ++++
 zephyr/src/Makefile       | 17 +++++++++++++++++
 zephyr/src/zephyr_start.c |  9 +++++++++
 5 files changed, 59 insertions(+)
 create mode 100644 zephyr/Kbuild
 create mode 100644 zephyr/Makefile.zephyr
 create mode 100644 zephyr/prj.conf
 create mode 100644 zephyr/src/Makefile
 create mode 100644 zephyr/src/zephyr_start.c

diff --git a/zephyr/Kbuild b/zephyr/Kbuild
new file mode 100644
index 000000000..9e656d5f4
--- /dev/null
+++ b/zephyr/Kbuild
@@ -0,0 +1,3 @@
+#subdir-ccflags-y += -I$(SOURCE_DIR)/../mylib/include
+
+obj-y += src/
diff --git a/zephyr/Makefile.zephyr b/zephyr/Makefile.zephyr
new file mode 100644
index 000000000..52904ff8d
--- /dev/null
+++ b/zephyr/Makefile.zephyr
@@ -0,0 +1,26 @@
+#
+# Copyright (c) 2016 Intel Corporation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+KERNEL_TYPE = nano
+# BOARD must be passed on command line from main Makefile
+#BOARD =
+CONF_FILE = prj.conf
+
+#export SOURCE_DIR = $(ZEPHYR_BASE)/samples/static_lib/hello_world
+export LDFLAGS_zephyr += -L$(CURDIR)
+export ALL_LIBS += micropython
+
+include ${ZEPHYR_BASE}/Makefile.inc
diff --git a/zephyr/prj.conf b/zephyr/prj.conf
new file mode 100644
index 000000000..35cb036de
--- /dev/null
+++ b/zephyr/prj.conf
@@ -0,0 +1,4 @@
+CONFIG_STDOUT_CONSOLE=y
+CONFIG_CONSOLE_HANDLER=y
+CONFIG_NEWLIB_LIBC=y
+CONFIG_FLOAT=y
diff --git a/zephyr/src/Makefile b/zephyr/src/Makefile
new file mode 100644
index 000000000..36dd8c64e
--- /dev/null
+++ b/zephyr/src/Makefile
@@ -0,0 +1,17 @@
+#
+# Copyright (c) 2016 Intel Corporation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+obj-y += zephyr_start.o zephyr_getchar.o
diff --git a/zephyr/src/zephyr_start.c b/zephyr/src/zephyr_start.c
new file mode 100644
index 000000000..b490cc770
--- /dev/null
+++ b/zephyr/src/zephyr_start.c
@@ -0,0 +1,9 @@
+#include <zephyr.h>
+#include "zephyr_getchar.h"
+
+int real_main(void);
+
+void main(void) {
+    zephyr_getchar_init();
+    real_main();
+}
-- 
GitLab