+++ /dev/null
-/*
- PluggableUSB.h
- Copyright (c) 2015 Arduino LLC
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with this library; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-*/
-
-#ifndef PUSB_h
-#define PUSB_h
-
-#include "USBAPI.h"
-#include <stdint.h>
-
-#if defined(USBCON)
-
-class PluggableUSBModule {
-public:
- PluggableUSBModule(uint8_t numEps, uint8_t numIfs, uint8_t *epType) :
- numEndpoints(numEps), numInterfaces(numIfs), endpointType(epType)
- { }
-
-protected:
- virtual bool setup(USBSetup& setup) = 0;
- virtual int getInterface(uint8_t* interfaceCount) = 0;
- virtual int getDescriptor(USBSetup& setup) = 0;
- virtual uint8_t getShortName(char *name) { name[0] = 'A'+pluggedInterface; return 1; }
-
- uint8_t pluggedInterface;
- uint8_t pluggedEndpoint;
-
- const uint8_t numEndpoints;
- const uint8_t numInterfaces;
- const uint8_t *endpointType;
-
- PluggableUSBModule *next = NULL;
-
- friend class PluggableUSB_;
-};
-
-class PluggableUSB_ {
-public:
- PluggableUSB_();
- bool plug(PluggableUSBModule *node);
- int getInterface(uint8_t* interfaceCount);
- int getDescriptor(USBSetup& setup);
- bool setup(USBSetup& setup);
- void getShortName(char *iSerialNum);
-
-private:
- uint8_t lastIf;
- uint8_t lastEp;
- PluggableUSBModule* rootNode;
-};
-
-// Replacement for global singleton.
-// This function prevents static-initialization-order-fiasco
-// https://isocpp.org/wiki/faq/ctors#static-init-order-on-first-use
-PluggableUSB_& PluggableUSB();
-
-#endif
-
-#endif
--- /dev/null
+CMAKE_MINIMUM_REQUIRED(VERSION 3.12)
+
+SET(RTOS_VERSION_MAJOR 0)
+SET(RTOS_VERSION_MINOR 1)
+
+
+PROJECT(rtos)
+
+CONFIGURE_FILE(
+ "${PROJECT_SOURCE_DIR}/rtos_config.h.in"
+ "${PROJECT_BINARY_DIR}/rtos_config.h"
+)
+
+add_subdirectory(components)
+
+include_directories("${PROJECT_BINARY_DIR}"
+ "components/debug")
+
+add_executable(rtos rtos.c)
+
+target_link_libraries(rtos components)
--- /dev/null
+/*
+ * ------------------------------------------------------------------------
+ * File Name: rtos.c
+ * Author: Zhao Yanbai
+ * 2018-07-26 15:08:13 Thursday CST
+ * Description: none
+ * ------------------------------------------------------------------------
+ */
+#include<stdio.h>
+#include "rtos_config.h"
+#include "debug.h"
+
+int main(int argc, char *argv[]){
+ printf("rtos: version %u.%u\n", RTOS_VERSION_MAJOR, RTOS_VERSION_MINOR);
+ debug();
+ asm_debug();
+ return 0;
+}