Add New Tasking I/F and rework GPIO, UART, etc to support it
As with the last commit this rolls up the follwowing, but include the various
review comments on the PR.
- **Documentation changes**. I've added the taks FAQ as a stub new Extension
developer FAQ, and split the old FAQ into a Lua Developer FAQ and a Hardware
FAQ.
- **Tasking I/F**. New `app/task/Makefile`, `app/task/task.c`,
`app/include/task/task.h` and `app/Makefile` as per previous commit. Cascade
changes to `app/driver/uart.c`, `app/include/driver/uart.h`,
`app/user/user_main.c` and `app/modules/node.c`
- **GPIO Rework** to `app/modules/gpio.c` and `pin_map.[hc]`, `platform.[hc]`
in `app/platform`
- **Other Optimisations** Move the `platform_*_exists()` from
`app/platform/common.c` to static inline declarations in `platform.h` as
this generates faster, smaller code. Move lgc.a routines out of iram0.
2016-02-17 18:13:17 +01:00
|
|
|
|
|
|
|
#############################################################
|
|
|
|
# Required variables for each makefile
|
|
|
|
# Discard this section from all parent makefiles
|
|
|
|
# Expected variables (with automatic defaults):
|
|
|
|
# CSRCS (all "C" files in the dir)
|
|
|
|
# SUBDIRS (all subdirs with a Makefile)
|
|
|
|
# GEN_LIBS - list of libs to be generated ()
|
|
|
|
# GEN_IMAGES - list of images to be generated ()
|
|
|
|
# COMPONENTS_xxx - a list of libs/objs in the form
|
|
|
|
# subdir/lib to be extracted and rolled up into
|
|
|
|
# a generated lib/image xxx.a ()
|
|
|
|
#
|
|
|
|
ifndef PDIR
|
|
|
|
GEN_LIBS = libtask.a
|
|
|
|
endif
|
|
|
|
|
|
|
|
#############################################################
|
|
|
|
# Configuration i.e. compile options etc.
|
|
|
|
# Target specific stuff (defines etc.) goes in here!
|
|
|
|
# Generally values applying to a tree are captured in the
|
|
|
|
# makefile at its root level - these are then overridden
|
|
|
|
# for a subtree within the makefile rooted therein
|
|
|
|
#
|
2019-02-17 19:26:29 +01:00
|
|
|
#DEFINES +=
|
Add New Tasking I/F and rework GPIO, UART, etc to support it
As with the last commit this rolls up the follwowing, but include the various
review comments on the PR.
- **Documentation changes**. I've added the taks FAQ as a stub new Extension
developer FAQ, and split the old FAQ into a Lua Developer FAQ and a Hardware
FAQ.
- **Tasking I/F**. New `app/task/Makefile`, `app/task/task.c`,
`app/include/task/task.h` and `app/Makefile` as per previous commit. Cascade
changes to `app/driver/uart.c`, `app/include/driver/uart.h`,
`app/user/user_main.c` and `app/modules/node.c`
- **GPIO Rework** to `app/modules/gpio.c` and `pin_map.[hc]`, `platform.[hc]`
in `app/platform`
- **Other Optimisations** Move the `platform_*_exists()` from
`app/platform/common.c` to static inline declarations in `platform.h` as
this generates faster, smaller code. Move lgc.a routines out of iram0.
2016-02-17 18:13:17 +01:00
|
|
|
|
|
|
|
#############################################################
|
|
|
|
# Recursion Magic - Don't touch this!!
|
|
|
|
#
|
|
|
|
# Each subtree potentially has an include directory
|
|
|
|
# corresponding to the common APIs applicable to modules
|
|
|
|
# rooted at that subtree. Accordingly, the INCLUDE PATH
|
|
|
|
# of a module can only contain the include directories up
|
|
|
|
# its parent path, and not its siblings
|
|
|
|
#
|
|
|
|
# Required for each makefile to inherit from the parent
|
|
|
|
#
|
|
|
|
|
|
|
|
INCLUDES := $(INCLUDES) -I $(PDIR)include
|
|
|
|
INCLUDES += -I ./
|
|
|
|
INCLUDES += -I ../libc
|
|
|
|
PDIR := ../$(PDIR)
|
|
|
|
sinclude $(PDIR)Makefile
|
|
|
|
|