walnux: moveout
This commit is contained in:
parent
a00ac581c5
commit
7335b36eca
5810 changed files with 6470 additions and 77599 deletions
1917
Kconfig.debug
Normal file
1917
Kconfig.debug
Normal file
File diff suppressed because it is too large
Load diff
72
Kconfig.license
Normal file
72
Kconfig.license
Normal file
|
|
@ -0,0 +1,72 @@
|
|||
|
||||
|
||||
config ALLOW_BSD_COMPONENTS
|
||||
bool "Use components that have BSD licenses"
|
||||
default n
|
||||
---help---
|
||||
When this option is enabled the project will allow the use
|
||||
of components that have BSD licenses.
|
||||
|
||||
NOTE: Please check that the license for each enabled
|
||||
component matches your project license.
|
||||
|
||||
NOTE: If this option is not set the following components
|
||||
are not included in the setup menu:
|
||||
Crypto
|
||||
AES cypher support
|
||||
FS
|
||||
NFS client file system
|
||||
SPIFFS File System
|
||||
Wireless
|
||||
Bluetooth LE support
|
||||
|
||||
config ALLOW_GPL_COMPONENTS
|
||||
bool "Use components that have GPL/LGPL licenses"
|
||||
default n
|
||||
---help---
|
||||
When this option is enabled the project will allow the use
|
||||
of components that have GPL/LGPL licenses.
|
||||
|
||||
NOTE: Please check that the license for each enabled
|
||||
component matches your project license.
|
||||
|
||||
config ALLOW_MIT_COMPONENTS
|
||||
bool "Use components that have MIT licenses"
|
||||
default n
|
||||
---help---
|
||||
When this option is enabled the project will allow the use
|
||||
of components that have MIT licenses.
|
||||
|
||||
NOTE: Please check that the license for each enabled
|
||||
component matches your project license.
|
||||
|
||||
config ALLOW_BSDNORDIC_COMPONENTS
|
||||
bool "Use components that have 5-Clause Nordic licenses"
|
||||
depends on ARCH_CHIP_NRF52 || ARCH_CHIP_NRF53 || ARCH_CHIP_NRF91
|
||||
default n
|
||||
---help---
|
||||
When this option is enabled the project will allow the use
|
||||
of components that have 5-Clause Nordic licenses.
|
||||
|
||||
NOTE: Please check that the license for each enabled
|
||||
component matches your project license.
|
||||
|
||||
config ALLOW_ECLIPSE_COMPONENTS
|
||||
bool "Use components that have Eclipse Public Licenses"
|
||||
default n
|
||||
---help---
|
||||
When this option is enabled the project will allow the use
|
||||
of components that have EPL licenses.
|
||||
|
||||
NOTE: Please check that the license for each enabled
|
||||
component matches your project license.
|
||||
|
||||
config ALLOW_ICS_COMPONENTS
|
||||
bool "Use components that have ICS license"
|
||||
default n
|
||||
---help---
|
||||
When this option is enabled the project will allow the use
|
||||
of components that have ICS licenses.
|
||||
|
||||
NOTE: Please check that the license for each enabled
|
||||
component matches your project license.
|
||||
506
Kconfig.setup
Normal file
506
Kconfig.setup
Normal file
|
|
@ -0,0 +1,506 @@
|
|||
menu "Build Setup"
|
||||
|
||||
config EXPERIMENTAL
|
||||
bool "Show experimental options"
|
||||
---help---
|
||||
Some features and drivers are considered "experimental" or
|
||||
development/work-in-progress status. By default, these options are
|
||||
hidden in the Kconfig menus. Enabling "Show experimental options"
|
||||
makes these options visible and makes it possible to enable them.
|
||||
|
||||
config DEFAULT_SMALL
|
||||
bool "Default to smallest size"
|
||||
default n
|
||||
---help---
|
||||
When options are present, the default value for certain options will
|
||||
be the one the results in the smallest size (at a loss of features).
|
||||
The default is a fuller feature set at a larger size.
|
||||
|
||||
NOTE: This option does not prevent you from overriding the default
|
||||
to select another alternative. Nor does it affect the settings that
|
||||
have already been selected in your configuration file. This applies
|
||||
only to new settings that require a default value.
|
||||
|
||||
choice
|
||||
prompt "Build Host Platform"
|
||||
default HOST_LINUX
|
||||
|
||||
config HOST_LINUX
|
||||
bool "Linux"
|
||||
|
||||
config HOST_MACOS
|
||||
bool "macOS"
|
||||
|
||||
endchoice # Build Host Platform
|
||||
|
||||
choice
|
||||
prompt "Windows Build Environment"
|
||||
default WINDOWS_MSYS
|
||||
depends on HOST_WINDOWS
|
||||
|
||||
config WINDOWS_MSYS
|
||||
bool "MSYS or MSYS2"
|
||||
select TOOLCHAIN_WINDOWS
|
||||
---help---
|
||||
Build natively in a Cygwin environment with POSIX style paths (like
|
||||
/cygdrive/c/cygwin/home)
|
||||
|
||||
endchoice # Windows Build Environment
|
||||
|
||||
menu "Build Configuration"
|
||||
|
||||
config BASE_DEFCONFIG
|
||||
string "Base Configuration"
|
||||
default ""
|
||||
---help---
|
||||
This will be automatically be updated by the configuration
|
||||
script. This is the base configuration file that was used to create the
|
||||
current configuration. It is useful for getting the current configuration
|
||||
on runtime.
|
||||
|
||||
config MODULES
|
||||
bool
|
||||
option modules
|
||||
---help---
|
||||
Automatically selected if KERNEL build is selected.
|
||||
This selection marks the implementation of Kconfig
|
||||
to enable the module build function, and is used to
|
||||
enable 'm' in the triate state. Its semantics are
|
||||
consistent with Kernel. This selection also effects
|
||||
the behavior of the 'make export' target and currently
|
||||
has no effect unless you wish to build loadable applications
|
||||
in a FLAT build.
|
||||
|
||||
choice
|
||||
prompt "Memory organization"
|
||||
default BUILD_FLAT
|
||||
|
||||
config BUILD_FLAT
|
||||
bool "Flat address space"
|
||||
---help---
|
||||
Build NuttX as one large, executable "blob". All of the code
|
||||
within the blob can interrupt with all of the other code within
|
||||
the blob. There are no special privileges, protections, or
|
||||
restraints.
|
||||
|
||||
config BUILD_PROTECTED
|
||||
bool "NuttX protected build"
|
||||
depends on ARCH_USE_MPU
|
||||
select LIB_SYSCALL
|
||||
select BUILD_2PASS
|
||||
---help---
|
||||
Builds NuttX and selected applications as two "blobs": A protected,
|
||||
privileged kernel blob and a separate unprivileged, user blob. This
|
||||
requires use of the two pass build with each blob being build on
|
||||
each pass.
|
||||
|
||||
NOTE: This build configuration requires that the platform support
|
||||
a memory protection unit (MPU). Support, however, may not be
|
||||
implemented on all platforms.
|
||||
|
||||
config BUILD_KERNEL
|
||||
bool "NuttX kernel build"
|
||||
depends on ARCH_USE_MMU && ARCH_ADDRENV
|
||||
select LIB_SYSCALL
|
||||
select MODULES
|
||||
---help---
|
||||
Builds NuttX as a separately compiled kernel. No applications are
|
||||
built. All user applications must reside in a file system where
|
||||
they can be loaded into memory for execution.
|
||||
|
||||
NOTE: This build configuration requires that the platform support
|
||||
a memory management unit (MMU) and address environments. Support,
|
||||
however, may not be implemented on all platforms.
|
||||
|
||||
endchoice # Build configuration
|
||||
|
||||
config BUILD_PIC
|
||||
bool "NuttX PIC build"
|
||||
default n
|
||||
---help---
|
||||
Builds NuttX with position-independent code (PIC). This will allow
|
||||
load NuttX into memory at any address and run it.
|
||||
|
||||
endmenu # Build Setup
|
||||
|
||||
menu "Customize Header Files"
|
||||
|
||||
config ARCH_HAVE_STDINT_H
|
||||
bool
|
||||
default n
|
||||
---help---
|
||||
Selected by architecture specific logic if the architecture provides
|
||||
a stdint.h header file.
|
||||
|
||||
config ARCH_STDINT_H
|
||||
bool "stdint.h"
|
||||
default n
|
||||
depends on ARCH_HAVE_STDINT_H
|
||||
---help---
|
||||
The stdint.h header file can be found at nuttx/include/stdint.h.
|
||||
However, that header includes logic to redirect the inclusion of an
|
||||
architecture specific header file like:
|
||||
|
||||
#ifdef CONFIG_ARCH_STDINT_H
|
||||
# include <arch/stdint.h>
|
||||
#else
|
||||
...
|
||||
#endif
|
||||
|
||||
Recall that that include path, include/arch, is a symbolic link and
|
||||
will refer to a version of stdint.h at nuttx/arch/<architecture>/include/stdint.h.
|
||||
|
||||
config ARCH_HAVE_STDBOOL_H
|
||||
bool
|
||||
default n
|
||||
---help---
|
||||
Selected by architecture specific logic if the architecture provides
|
||||
a stdbool.h header file.
|
||||
|
||||
config ARCH_STDBOOL_H
|
||||
bool "stdbool.h"
|
||||
default n
|
||||
depends on ARCH_HAVE_STDBOOL_H
|
||||
---help---
|
||||
The stdbool.h header file can be found at nuttx/include/stdbool.h.
|
||||
However, that header includes logic to redirect the inclusion of an
|
||||
architecture specific header file like:
|
||||
|
||||
#ifdef CONFIG_ARCH_STDBOOL_H
|
||||
# include <arch/stdbool.h>
|
||||
#else
|
||||
...
|
||||
#endif
|
||||
|
||||
Recall that that include path, include/arch, is a symbolic link and
|
||||
will refer to a version of stdbool.h at nuttx/arch/<architecture>/include/stdbool.h.
|
||||
|
||||
config ARCH_HAVE_MATH_H
|
||||
bool
|
||||
default n
|
||||
---help---
|
||||
Selected by architecture specific logic if the architecture provides
|
||||
a math.h header file.
|
||||
|
||||
config ARCH_MATH_H
|
||||
bool "math.h"
|
||||
depends on ARCH_HAVE_MATH_H
|
||||
default n
|
||||
---help---
|
||||
There is also a re-directing version of math.h in the source tree.
|
||||
However, it resides out-of-the-way at include/nuttx/lib/math.h because it
|
||||
conflicts too often with the system math.h. If ARCH_MATH_H=y is
|
||||
defined, however, the top-level makefile will copy the redirecting
|
||||
math.h header file from include/nuttx/lib/math.h to include/math.h. math.h
|
||||
will then include the architecture-specific version of math.h that you
|
||||
must provide at nuttx/arch/>architecture</include/math.h.
|
||||
|
||||
#ifdef CONFIG_ARCH_MATH_H
|
||||
# include <arch/math.h>
|
||||
#endif
|
||||
|
||||
So for the architectures that define ARCH_MATH_H=y, include/math.h
|
||||
will be the redirecting math.h header file; for the architectures
|
||||
that don't select ARCH_MATH_H, the redirecting math.h header file
|
||||
will stay out-of-the-way in include/nuttx/.
|
||||
|
||||
config ARCH_FLOAT_H
|
||||
bool "float.h"
|
||||
default n
|
||||
---help---
|
||||
The float.h header file defines the properties of your floating
|
||||
point implementation. It would always be best to use your
|
||||
toolchain's float.h header file but if none is available, a default
|
||||
float.h header file will provided if this option is selected. However
|
||||
there is no assurance that the settings in this float.h are actually
|
||||
correct for your platform!
|
||||
|
||||
config DISABLE_FLOAT
|
||||
bool "Disable floating point"
|
||||
default n
|
||||
---help---
|
||||
Disable floating point support in the compiler. This will reduce
|
||||
code size and increase performance. This option is only available
|
||||
on some architectures.
|
||||
|
||||
config ARCH_HAVE_STDARG_H
|
||||
bool
|
||||
default n
|
||||
---help---
|
||||
Selected by architecture specific logic if the architecture provides
|
||||
a math.h header file.
|
||||
|
||||
config ARCH_STDARG_H
|
||||
bool "stdarg.h"
|
||||
depends on ARCH_HAVE_STDARG_H
|
||||
default n
|
||||
---help---
|
||||
There is a redirecting version of stdarg.h in the source tree. It
|
||||
resides out-of-the-way at include/nuttx/lib/stdarg.h. This is
|
||||
because you should normally use your toolchain's stdarg.h file. But
|
||||
sometimes, your toolchain's stdarg.h file may have other header
|
||||
file dependencies and so may not be usable in the NuttX build
|
||||
environment. In those cases, you may have to create a architecture-
|
||||
specific stdarg.h header file at nuttx/arch/<architecture>/include/stdarg.h
|
||||
|
||||
If ARCH_STDARG_H=y is defined, the top-level makefile will copy the
|
||||
re-directing stdarg.h header file from include/nuttx/lib/stdarg.h to
|
||||
include/stdarg.h. So for the architectures that cannot use their
|
||||
toolchain's stdarg.h file, they can use this alternative by defining
|
||||
ARCH_STDARG_H=y and providing. If ARCH_STDARG_H, is not defined, then
|
||||
the stdarg.h header file will stay out-of-the-way in include/nuttx/.
|
||||
|
||||
config ARCH_HAVE_SETJMP
|
||||
bool
|
||||
default n
|
||||
|
||||
config ARCH_SETJMP_H
|
||||
bool "setjmp.h"
|
||||
default n
|
||||
depends on ARCH_HAVE_SETJMP
|
||||
---help---
|
||||
There is a redirecting version of setjmp.h in the source tree. It
|
||||
resides out-of-the-way at include/nuttx/lib/setjmp.h. This is
|
||||
because you should normally use your toolchain's setjmp.h file. But
|
||||
sometimes, your toolchain's setjmp.h file may have other header
|
||||
file dependencies and so may not be usable in the NuttX build
|
||||
environment. In those cases, you may have to create a architecture-
|
||||
specific setjmp.h header file at nuttx/arch/<architecture>/include/setjmp.h
|
||||
|
||||
If ARCH_SETJMP_H=y is defined, the top-level makefile will copy the
|
||||
re-directing setjmp.h header file from include/nuttx/lib/setjmp.h to
|
||||
include/setjmp.h. So for the architectures that cannot use their
|
||||
toolchain's setjmp.h file, they can use this alternative by defining
|
||||
ARCH_SETJMP_H=y and providing. If ARCH_SETJMP_H, is not defined, then
|
||||
the setjmp.h header file will stay out-of-the-way in include/nuttx/.
|
||||
|
||||
choice
|
||||
prompt "debug.h selection"
|
||||
default ARCH_NONE_DEBUG_H
|
||||
|
||||
config ARCH_NONE_DEBUG_H
|
||||
bool "None"
|
||||
---help---
|
||||
No debug.h under include/arch/ and include/arch/chip.
|
||||
|
||||
config ARCH_DEBUG_H
|
||||
bool "debug.h"
|
||||
---help---
|
||||
The debug.h under include/arch contains architecture dependent debugging primitives
|
||||
|
||||
config ARCH_CHIP_DEBUG_H
|
||||
bool "chip debug.h"
|
||||
---help---
|
||||
The debug.h under include/arch/chip contains architecture dependent debugging primitives
|
||||
|
||||
config ARCH_BOARD_DEBUG_H
|
||||
bool "board debug.h"
|
||||
---help---
|
||||
The debug.h under include/arch/board contains board dependent debugging primitives
|
||||
|
||||
endchoice # debug.h selection
|
||||
|
||||
endmenu # Customize Header Files
|
||||
|
||||
source "Kconfig.debug"
|
||||
|
||||
menuconfig TRACE
|
||||
bool "Enable tracepoints"
|
||||
default n
|
||||
depends on SCHED_INSTRUMENTATION_DUMP
|
||||
---help---
|
||||
If this option is enabled, tracepoints at critical code in
|
||||
the kernel will be enabled.
|
||||
|
||||
if TRACE
|
||||
config TRACE_APP
|
||||
bool "Enable tracepoints in app"
|
||||
default n
|
||||
|
||||
config TRACE_ARCH
|
||||
bool "Enable tracepoints in arch"
|
||||
default n
|
||||
|
||||
config TRACE_AUDIO
|
||||
bool "Enable tracepoints in audio"
|
||||
default n
|
||||
|
||||
config TRACE_BOARDS
|
||||
bool "Enable tracepoints in boards"
|
||||
default n
|
||||
|
||||
config TRACE_CRYPTO
|
||||
bool "Enable tracepoints in crypto"
|
||||
default n
|
||||
|
||||
config TRACE_DRIVERS
|
||||
bool "Enable tracepoints in drivers"
|
||||
default n
|
||||
|
||||
config TRACE_FS
|
||||
bool "Enable tracepoints in fs"
|
||||
default n
|
||||
|
||||
if TRACE_FS
|
||||
menu "Trace Fs Support"
|
||||
|
||||
config TRACE_LITTLEFS_FS
|
||||
bool "Enable tracepoints in littlefs"
|
||||
default n
|
||||
|
||||
config TRACE_ROMFS_FS
|
||||
bool "Enable tracepoints in romfs"
|
||||
default n
|
||||
|
||||
config TRACE_RPMSGFS_FS
|
||||
bool "Enable tracepoints in rpmsgfs"
|
||||
default n
|
||||
|
||||
endmenu # Trace Fs Support
|
||||
endif
|
||||
|
||||
config TRACE_GRAPHICS
|
||||
bool "Enable tracepoints in graphics"
|
||||
default n
|
||||
|
||||
config TRACE_INPUT
|
||||
bool "Enable tracepoints in input"
|
||||
default n
|
||||
|
||||
config TRACE_LIBS
|
||||
bool "Enable tracepoints in libs"
|
||||
default n
|
||||
|
||||
config TRACE_MM
|
||||
bool "Enable tracepoints in mm"
|
||||
default n
|
||||
|
||||
config TRACE_NET
|
||||
bool "Enable tracepoints in net"
|
||||
default n
|
||||
|
||||
config TRACE_SCHED
|
||||
bool "Enable tracepoints in sched"
|
||||
default n
|
||||
|
||||
config TRACE_VIDEO
|
||||
bool "Enable tracepoints in video"
|
||||
default n
|
||||
|
||||
config TRACE_WIRELESS
|
||||
bool "Enable tracepoints in wireless"
|
||||
default n
|
||||
|
||||
endif #TRACE
|
||||
|
||||
choice
|
||||
prompt "Optimization Level"
|
||||
default DEBUG_NOOPT if DEBUG_SYMBOLS
|
||||
default DEBUG_FULLOPT if !DEBUG_SYMBOLS
|
||||
|
||||
config DEBUG_NOOPT
|
||||
bool "Suppress Optimization"
|
||||
---help---
|
||||
Build without optimization. This is often helpful when debugging code.
|
||||
|
||||
config DEBUG_CUSTOMOPT
|
||||
bool "Custom Optimization"
|
||||
depends on ARCH_HAVE_CUSTOMOPT
|
||||
---help---
|
||||
Select a custom debug level. This is often helpful if you suspect an
|
||||
optimization level error and want to lower the level of optimization.
|
||||
|
||||
config DEBUG_FULLOPT
|
||||
bool "Normal, Full optimization"
|
||||
---help---
|
||||
Build full optimization. This is the normal case for production
|
||||
firmware.
|
||||
|
||||
endchoice # Optimization Level
|
||||
|
||||
config DEBUG_OPTLEVEL
|
||||
string "Custom Optimization Level"
|
||||
default "/O2" if HOST_WINDOWS
|
||||
default "-O2"
|
||||
depends on DEBUG_CUSTOMOPT
|
||||
---help---
|
||||
This string represents the custom optimization level that will be
|
||||
used if DEBUG_CUSTOMOPT.
|
||||
|
||||
choice
|
||||
prompt "Link Time Optimization (LTO)"
|
||||
default LTO_NONE
|
||||
---help---
|
||||
This option enables Link Time Optimization (LTO), which allows the
|
||||
compiler to optimize binaries globally.
|
||||
|
||||
If unsure, select LTO_NONE. Note that LTO is very resource-intensive
|
||||
so it's disabled by default.
|
||||
|
||||
config LTO_NONE
|
||||
bool "None"
|
||||
---help---
|
||||
Build the kernel normally, without Link Time Optimization (LTO).
|
||||
|
||||
config LTO_FULL
|
||||
bool "GNU Full LTO (EXPERIMENTAL)"
|
||||
depends on ARCH_TOOLCHAIN_GNU
|
||||
---help---
|
||||
Link time optimization is implemented as a GCC front end for a bytecode
|
||||
bytecode representation of GIMPLE that is emitted in special sections
|
||||
of .o files. Currently, LTO support is enabled in most ELF-based systems,
|
||||
as well as darwin, cygwin and mingw systems.
|
||||
|
||||
config LTO_THIN
|
||||
bool "Clang ThinLTO (EXPERIMENTAL)"
|
||||
depends on ARCH_TOOLCHAIN_CLANG
|
||||
---help---
|
||||
This option enables Clang's ThinLTO, which allows for parallel
|
||||
optimization and faster incremental compiles compared to the
|
||||
CONFIG_LTO_FULL option. More information can be found
|
||||
from Clang's documentation:
|
||||
|
||||
https://clang.llvm.org/docs/ThinLTO.html
|
||||
|
||||
If unsure, say Y.
|
||||
endchoice
|
||||
|
||||
config DEBUG_OPT_UNUSED_SECTIONS
|
||||
bool "Optimization to eliminate the unused input sections"
|
||||
default y
|
||||
depends on ARCH_TOOLCHAIN_GNU
|
||||
---help---
|
||||
Use these options on systems where the linker can perform optimizations
|
||||
to improve locality of reference in the instruction space. Most systems
|
||||
using the ELF object format have linkers with such optimizations.
|
||||
|
||||
Enable this option to optimization the unused input sections with the
|
||||
linker by compiling with " -ffunction-sections -fdata-sections ", and
|
||||
linking with " --gc-sections ".
|
||||
|
||||
config DEBUG_LINK_WHOLE_ARCHIVE
|
||||
bool "Force every object to be included in the resulting shared library."
|
||||
default n
|
||||
depends on DEBUG_OPT_UNUSED_SECTIONS
|
||||
---help---
|
||||
Selecting this option will pass "--whole-archive" to ld
|
||||
when linking NuttX ELF.
|
||||
|
||||
config DEBUG_LINK_MAP
|
||||
bool "Generate link map file"
|
||||
default y
|
||||
---help---
|
||||
Selecting this option will pass "-Map=$(TOPDIR)$(DELIM)nuttx.map" to ld
|
||||
when linking NuttX ELF. That file can be useful for verifying
|
||||
and debugging magic section games, and for seeing which
|
||||
pieces of code get eliminated with DEBUG_OPT_UNUSED_SECTIONS.
|
||||
|
||||
config CCACHE
|
||||
bool "Use ccache"
|
||||
default n
|
||||
---help---
|
||||
If enabled, ccache will be used during the build.
|
||||
Build artifacts will be cached to a local storage, considerably
|
||||
reducing build times.
|
||||
|
||||
endmenu # Build Setup
|
||||
191
Makefile
191
Makefile
|
|
@ -20,23 +20,188 @@
|
|||
#
|
||||
############################################################################
|
||||
|
||||
# Check if the system has been configured
|
||||
|
||||
ifeq ($(wildcard .config),)
|
||||
.DEFAULT default:
|
||||
@echo "NuttX has not been configured!"
|
||||
@echo "To configure the project:"
|
||||
@echo " tools/configure.sh <config>"
|
||||
@echo "For a list of available configurations:"
|
||||
@echo " tools/configure.sh -L"
|
||||
############################################################################
|
||||
# NXBASE - Mandatory variable. Gets exported to all sub-makes.
|
||||
#
|
||||
# The NXBASE variable should always point to the top-level NuttX directory.
|
||||
# Ideally, it should be exported as an envvar rather than being set as
|
||||
# argument to make.
|
||||
#
|
||||
# Example:
|
||||
# ~/.bashrc: export NXBASE=/path/to/nuttx
|
||||
# ~/.zshrc: export NXBASE=/path/to/nuttx
|
||||
############################################################################
|
||||
|
||||
ifeq ($(realpath ${NXBASE}),)
|
||||
$(error Build stopped, NXBASE required)
|
||||
else
|
||||
include .config
|
||||
export NXBASE
|
||||
endif
|
||||
|
||||
# Include the correct Makefile for the selected architecture.
|
||||
############################################################################
|
||||
# NXOUT - Mandatory variable. Gets exported to all sub-makes.
|
||||
#
|
||||
# The NXOUT variable defines the output directory for the build.
|
||||
# It is infered to the default ${NXBASE}/build directory. This path
|
||||
# is reserved by the NuttX build system.
|
||||
############################################################################
|
||||
|
||||
ifeq ($(CONFIG_WINDOWS_NATIVE),y)
|
||||
include tools/Win.mk
|
||||
NXOUT ?= $(realpath ${NXBASE}/build)
|
||||
export NXOUT
|
||||
|
||||
############################################################################
|
||||
# ARCH - Mandatory variable. Gets exported. Mainly used in Kconfig.
|
||||
#
|
||||
# Rather than depending on the Kconfig system to set the architecture,
|
||||
# which still needs initial manual setup, the architecture can be set
|
||||
# ahead of time. This still require setting the arch manually, but avoids
|
||||
# relying on Kconfig to do so. This greatly simplifies Kconfig "tree".
|
||||
#
|
||||
# The architecture must be resolved early on in the build system. the
|
||||
# supported architectures are stored in the ARCHS variable.
|
||||
############################################################################
|
||||
|
||||
ARCHS := arm risc-v sim
|
||||
|
||||
ifeq (${ARCH},)
|
||||
$(error Build stopped, ARCH not set)
|
||||
endif
|
||||
|
||||
ifeq ($(findstring ${ARCH}, ${ARCHS}),)
|
||||
$(info Currently supported ARCHS: ${ARCHS})
|
||||
$(error Build stopped, ARCH not supported)
|
||||
endif
|
||||
|
||||
export ARCH
|
||||
|
||||
TOOLCHAIN ?= gcc
|
||||
TOOLCHAIN := ${NXBASE}/tools/${ARCH}/toolchain/${TOOLCHAIN}.defs
|
||||
ifeq ($(realpath ${TOOLCHAIN}),)
|
||||
$(error Build stopped, TOOLCHAIN not found)
|
||||
else
|
||||
include tools/Unix.mk
|
||||
export TOOLCHAIN
|
||||
endif
|
||||
|
||||
# Force the BCFG to always be passed to build process.
|
||||
# This new Environment variable defines the board:config to be used.
|
||||
|
||||
ifndef BCFG
|
||||
$(info ERROR: Board configuration not set)
|
||||
$(error Build stopped, BCFG required.)
|
||||
endif
|
||||
|
||||
# BDIR variable sets the board directory.
|
||||
# It can be implied if the build starts from the board directory.
|
||||
|
||||
BDIR ?= ${CURDIR}
|
||||
ifeq ($(realpath ${BDIR}/configs/${BCFG}),)
|
||||
$(error Build stopped, BDIR:BCFG config invalid)
|
||||
endif
|
||||
|
||||
# Control build verbosity
|
||||
#
|
||||
# V=0: Exit silent mode
|
||||
# V=1,2: Enable echo of commands
|
||||
# V=2: Enable bug/verbose options in tools and scripts
|
||||
|
||||
ifeq ($(V),)
|
||||
MAKE := $(MAKE) -s --no-print-directory
|
||||
endif
|
||||
|
||||
ifeq ($(V),1)
|
||||
export Q :=
|
||||
else ifeq ($(V),2)
|
||||
export Q :=
|
||||
else
|
||||
export Q := @
|
||||
endif
|
||||
|
||||
# Kconfiglib the only option
|
||||
|
||||
.PHONY: menuconfig savedefconfig oldconfig olddefconfig defconfig genconfig
|
||||
|
||||
KCONFIG_CONFIG = ${NXOUT}/.config
|
||||
KCONFIG_AUTOHEADER = ${NXOUT}/config.h
|
||||
|
||||
KCONFIG_ENV := KCONFIG_CONFIG=${KCONFIG_CONFIG}
|
||||
KCONFIG_ENV += KCONFIG_AUTOHEADER=${KCONFIG_AUTOHEADER}
|
||||
KCONFIG_ENV += ARCH=${ARCH}
|
||||
|
||||
KCONFIG_OLDCONFIG = oldconfig
|
||||
KCONFIG_OLDDEFCONFIG = olddefconfig
|
||||
KCONFIG_MENUCONFIG = menuconfig
|
||||
KCONFIG_SAVEDEFCONFIG = savedefconfig
|
||||
KCONFIG_GENCONFIG = genconfig
|
||||
KCONFIG_DEFCONFIG = defconfig
|
||||
|
||||
.PHONY: ${KCONFIG_CONFIG}
|
||||
${KCONFIG_CONFIG}:
|
||||
$(Q) [ -f ${KCONFIG_CONFIG} ] || \
|
||||
${KCONFIG_ENV} ${KCONFIG_DEFCONFIG} ${BDIR}/configs/${BCFG}/defconfig
|
||||
|
||||
.PHONY: ${KCONFIG_AUTOHEADER}
|
||||
${KCONFIG_AUTOHEADER}:
|
||||
$(Q) ${KCONFIG_ENV} ${KCONFIG_GENCONFIG}
|
||||
|
||||
menuconfig: ${KCONFIG_CONFIG}
|
||||
$(Q) ${KCONFIG_ENV} ${KCONFIG_MENUCONFIG}
|
||||
|
||||
savedefconfig:
|
||||
$(Q) ${KCONFIG_ENV} ${KCONFIG_SAVEDEFCONFIG}
|
||||
|
||||
oldconfig:
|
||||
$(Q) ${KCONFIG_ENV} ${KCONFIG_OLDCONFIG}
|
||||
|
||||
olddefconfig:
|
||||
$(Q) ${KCONFIG_ENV} ${KCONFIG_OLDDEFCONFIG}
|
||||
|
||||
defconfig:
|
||||
$(Q) ${KCONFIG_ENV} ${KCONFIG_DEFCONFIG}
|
||||
|
||||
genconfig: ${KCONFIG_CONFIG}
|
||||
$(Q) ${KCONFIG_ENV} ${KCONFIG_GENCONFIG}
|
||||
|
||||
############################################################################
|
||||
# Here starts the rules definition for building NuttX libraries
|
||||
############################################################################
|
||||
include ${KCONFIG_CONFIG}
|
||||
|
||||
MAKE_INC := -f ${KCONFIG_CONFIG}
|
||||
MAKE_INC += -f ${NXBASE}/tools/Config.mk
|
||||
|
||||
.PHONY: libarch
|
||||
TARGETS := libarch
|
||||
libarch: ${KCONFIG_CONFIG} ${KCONFIG_AUTOHEADER}
|
||||
$(Q) ${MAKE} ${MAKE_INC} -f Makefile -C arch/${ARCH} all
|
||||
|
||||
|
||||
|
||||
ifeq (${CONFIG_AUDIO},y)
|
||||
.PHONY: libaudio
|
||||
TARGETS += libaudio
|
||||
libaudio: ${KCONFIG_CONFIG} ${KCONFIG_AUTOHEADER}
|
||||
$(Q) ${MAKE} ${MAKE_INC} -f Makefile -C audio all
|
||||
endif
|
||||
|
||||
ifeq (${CONFIG_CRYPTO},y)
|
||||
.PHONY: libcrypto
|
||||
TARGETS += libcrypto
|
||||
libcrypto: ${KCONFIG_CONFIG} ${KCONFIG_AUTOHEADER}
|
||||
$(Q) ${MAKE} ${MAKE_INC} -f Makefile -C crypto all
|
||||
endif
|
||||
|
||||
.PHONY: libbinfmt
|
||||
TARGETS += libbinfmt
|
||||
libbinfmt: ${KCONFIG_CONFIG} ${KCONFIG_AUTOHEADER}
|
||||
$(Q) ${MAKE} ${MAKE_INC} -f Makefile -C binfmt all
|
||||
|
||||
# Support for ROMFS image creation
|
||||
|
||||
ifeq (${CONFIG_FS_ROMFS},y)
|
||||
ifdef ROMFSIMG
|
||||
TARGETS += ${ROMFSIMG}
|
||||
else
|
||||
$(error ROMFSIMG is not defined by the board Makefile)
|
||||
endif
|
||||
endif
|
||||
4
VERSION
Normal file
4
VERSION
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
VERSION_MAJOR = 12
|
||||
VERSION_MINOR = 10
|
||||
PATCH = 0
|
||||
EXTRAVERSION =
|
||||
|
|
@ -1,41 +0,0 @@
|
|||
# ##############################################################################
|
||||
# arch/CMakeLists.txt
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
# Licensed to the Apache Software Foundation (ASF) under one or more contributor
|
||||
# license agreements. See the NOTICE file distributed with this work for
|
||||
# additional information regarding copyright ownership. The ASF licenses this
|
||||
# file to you 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.
|
||||
#
|
||||
# ##############################################################################
|
||||
# Declare arch library. In contrast to other user/kernel pairs built in KERNEL
|
||||
# mode, on arch/ the "user" portion uses a different set of sources than the
|
||||
# kernel portion. To keep things simple the naming k<lib> is not used. Instead,
|
||||
# the "user" portion is named "arch_interface".
|
||||
|
||||
nuttx_add_kernel_library(arch)
|
||||
target_include_directories(arch PRIVATE ${CMAKE_SOURCE_DIR}/sched)
|
||||
|
||||
if(CONFIG_BUILD_PROTECTED)
|
||||
nuttx_add_system_library(arch_interface)
|
||||
file(TOUCH "${CMAKE_CURRENT_BINARY_DIR}/empty.c")
|
||||
target_sources(arch_interface PRIVATE "${CMAKE_CURRENT_BINARY_DIR}/empty.c")
|
||||
target_include_directories(arch_interface PRIVATE ${CMAKE_SOURCE_DIR}/sched)
|
||||
endif()
|
||||
|
||||
# TODO: move this higher up ifeq ($(CONFIG_SCHED_INSTRUMENTATION_SYSCALL),y)
|
||||
# EXTRALINKCMDS += @$(TOPDIR)/syscall/syscall_wraps.ldcmd endif
|
||||
|
||||
# include corresponding arch subdirectory
|
||||
add_subdirectory(${CONFIG_ARCH})
|
||||
291
arch/Kconfig
291
arch/Kconfig
|
|
@ -3,281 +3,7 @@
|
|||
# see the file kconfig-language.txt in the NuttX tools repository.
|
||||
#
|
||||
|
||||
choice
|
||||
prompt "CPU Architecture"
|
||||
default ARCH_ARM
|
||||
|
||||
config ARCH_ARM
|
||||
bool "ARM"
|
||||
select ARCH_HAVE_BACKTRACE
|
||||
select ARCH_HAVE_INTERRUPTSTACK
|
||||
select ARCH_HAVE_FORK
|
||||
select ARCH_HAVE_STACKCHECK
|
||||
select ARCH_HAVE_CUSTOMOPT
|
||||
select ARCH_HAVE_STDARG_H
|
||||
select ARCH_HAVE_SETJMP if !ARCH_TOOLCHAIN_IAR
|
||||
select ARCH_HAVE_SYSCALL_HOOKS
|
||||
select ARCH_HAVE_RDWR_MEM_CPU_RUN
|
||||
select ARCH_HAVE_TCBINFO
|
||||
select ARCH_HAVE_THREAD_LOCAL
|
||||
---help---
|
||||
The ARM architectures
|
||||
|
||||
config ARCH_ARM64
|
||||
bool "ARM64"
|
||||
select ALARM_ARCH
|
||||
select ARCH_HAVE_BACKTRACE
|
||||
select ARCH_HAVE_INTERRUPTSTACK
|
||||
select ARCH_HAVE_FORK if !BUILD_KERNEL
|
||||
select ARCH_HAVE_STACKCHECK
|
||||
select ARCH_HAVE_CUSTOMOPT
|
||||
select ARCH_HAVE_STDARG_H
|
||||
select ARCH_HAVE_SETJMP
|
||||
select ARCH_HAVE_SYSCALL_HOOKS
|
||||
select ARCH_HAVE_RDWR_MEM_CPU_RUN
|
||||
select ARCH_HAVE_TCBINFO
|
||||
select ARCH_HAVE_THREAD_LOCAL
|
||||
select ARCH_HAVE_PERF_EVENTS
|
||||
select ONESHOT
|
||||
select LIBC_ARCH_ELF_64BIT if LIBC_ARCH_ELF
|
||||
---help---
|
||||
The ARM64 architectures
|
||||
|
||||
config ARCH_AVR
|
||||
bool "AVR"
|
||||
select ARCH_NOINTC
|
||||
select ARCH_HAVE_INTERRUPTSTACK
|
||||
select ARCH_HAVE_CUSTOMOPT
|
||||
---help---
|
||||
Atmel 8-bit bit AVR and 32-bit AVR32 architectures
|
||||
|
||||
config ARCH_HC
|
||||
bool "Freescale HC"
|
||||
select ARCH_NOINTC
|
||||
select ARCH_HAVE_INTERRUPTSTACK
|
||||
---help---
|
||||
Freescale HC architectures (M9S12)
|
||||
|
||||
config ARCH_MIPS
|
||||
bool "MIPS"
|
||||
select ARCH_HAVE_INTERRUPTSTACK
|
||||
select ARCH_HAVE_CUSTOMOPT
|
||||
---help---
|
||||
MIPS architectures (PIC32)
|
||||
|
||||
config ARCH_MISOC
|
||||
bool "MISOC"
|
||||
select ARCH_HAVE_INTERRUPTSTACK
|
||||
select ARCH_HAVE_CUSTOMOPT
|
||||
select ARCH_HAVE_STDARG_H
|
||||
---help---
|
||||
MISOC
|
||||
|
||||
config ARCH_RENESAS
|
||||
bool "Renesas"
|
||||
select ARCH_NOINTC
|
||||
select ARCH_HAVE_INTERRUPTSTACK
|
||||
---help---
|
||||
Renesas architectures (SH and M16C).
|
||||
|
||||
config ARCH_RISCV
|
||||
bool "RISC-V"
|
||||
select ARCH_HAVE_BACKTRACE
|
||||
select ARCH_HAVE_CPUINFO
|
||||
select ARCH_HAVE_INTERRUPTSTACK
|
||||
select ARCH_HAVE_STACKCHECK
|
||||
select ARCH_HAVE_FORK
|
||||
select ARCH_HAVE_CUSTOMOPT
|
||||
select ARCH_HAVE_SETJMP
|
||||
select ARCH_HAVE_STDARG_H
|
||||
select ARCH_HAVE_SYSCALL_HOOKS
|
||||
select ARCH_HAVE_RDWR_MEM_CPU_RUN
|
||||
select ARCH_HAVE_TCBINFO
|
||||
select ARCH_HAVE_THREAD_LOCAL
|
||||
select ARCH_HAVE_POWEROFF
|
||||
select ARCH_HAVE_LAZYFPU if ARCH_HAVE_FPU
|
||||
select ARCH_HAVE_CPUID_MAPPING if ARCH_HAVE_MULTICPU
|
||||
---help---
|
||||
RISC-V 32 and 64-bit RV32 / RV64 architectures.
|
||||
|
||||
config ARCH_SIM
|
||||
bool "Simulation"
|
||||
select ARCH_HAVE_BACKTRACE
|
||||
select ARCH_HAVE_MULTICPU if !CONFIG_WINDOWS_NATIVE
|
||||
select ARCH_HAVE_RTC_SUBSECONDS
|
||||
select ARCH_HAVE_SERIAL_TERMIOS
|
||||
select ARCH_HAVE_SYSCALL_HOOKS
|
||||
select ARCH_HAVE_TICKLESS
|
||||
select ARCH_HAVE_POWEROFF
|
||||
select ARCH_HAVE_TESTSET
|
||||
select ARCH_HAVE_FORK if !HOST_WINDOWS
|
||||
select ARCH_HAVE_SETJMP
|
||||
select ARCH_HAVE_CUSTOMOPT
|
||||
select ARCH_HAVE_TCBINFO
|
||||
select ARCH_HAVE_TEXT_HEAP
|
||||
select ARCH_SETJMP_H
|
||||
select ALARM_ARCH
|
||||
select ONESHOT
|
||||
select SERIAL_CONSOLE
|
||||
select SERIAL_IFLOWCONTROL
|
||||
select SCHED_HPWORK
|
||||
select ARCH_HAVE_CPUINFO
|
||||
---help---
|
||||
Linux/Cygwin user-mode simulation.
|
||||
|
||||
config ARCH_X86
|
||||
bool "x86"
|
||||
select ARCH_HAVE_TCBINFO
|
||||
---help---
|
||||
Intel x86 architectures.
|
||||
|
||||
config ARCH_X86_64
|
||||
bool "x86_64"
|
||||
select ARCH_HAVE_TCBINFO
|
||||
select ARCH_HAVE_FPU
|
||||
select ARCH_HAVE_DPFPU
|
||||
select ARCH_HAVE_MULTICPU
|
||||
select ARCH_HAVE_TESTSET
|
||||
select ARCH_HAVE_INTERRUPTSTACK
|
||||
select ARCH_HAVE_CUSTOMOPT
|
||||
select ARCH_HAVE_THREAD_LOCAL
|
||||
select PCI_LATE_DRIVERS_REGISTER if PCI
|
||||
select LIBC_ARCH_ELF_64BIT if LIBC_ARCH_ELF
|
||||
select ARCH_TOOLCHAIN_GNU
|
||||
select ARCH_HAVE_BACKTRACE
|
||||
select ARCH_HAVE_FORK if !BUILD_KERNEL
|
||||
select ARCH_HAVE_SETJMP
|
||||
select ARCH_HAVE_PERF_EVENTS
|
||||
---help---
|
||||
x86-64 architectures.
|
||||
|
||||
config ARCH_XTENSA
|
||||
bool "Xtensa"
|
||||
select ARCH_HAVE_BACKTRACE
|
||||
select ARCH_HAVE_CPUINFO
|
||||
select ARCH_HAVE_INTERRUPTSTACK
|
||||
select ARCH_HAVE_STACKCHECK
|
||||
select ARCH_HAVE_CUSTOMOPT
|
||||
select ARCH_HAVE_THREAD_LOCAL
|
||||
select ARCH_HAVE_TCBINFO
|
||||
select ARCH_HAVE_STDARG_H
|
||||
select ARCH_HAVE_SETJMP if ARCH_TOOLCHAIN_GNU
|
||||
select ARCH_HAVE_SYSCALL_HOOKS
|
||||
select ARCH_HAVE_PERF_EVENTS
|
||||
---help---
|
||||
Cadence® Tensilica® Xtensa® actictures.
|
||||
|
||||
config ARCH_Z16
|
||||
bool "ZNEO"
|
||||
select ARCH_HAVE_HEAP2
|
||||
---help---
|
||||
ZiLOG ZNEO 16-bit architectures (z16f).
|
||||
|
||||
config ARCH_Z80
|
||||
bool "z80"
|
||||
select ARCH_HAVE_HEAP2
|
||||
---help---
|
||||
ZiLOG 8-bit architectures (z80, ez80, z8).
|
||||
|
||||
config ARCH_OR1K
|
||||
bool "OpenRISC"
|
||||
---help---
|
||||
OpenRISC architectures.
|
||||
|
||||
config ARCH_SPARC
|
||||
bool "SPARC"
|
||||
select ARCH_HAVE_INTERRUPTSTACK
|
||||
select ARCH_HAVE_CUSTOMOPT
|
||||
select ARCH_HAVE_TCBINFO
|
||||
---help---
|
||||
SPARC architectures (SPARC V8)
|
||||
|
||||
config ARCH_TRICORE
|
||||
bool "Infineon TriCore"
|
||||
select ARCH_HAVE_INTERRUPTSTACK
|
||||
select ARCH_HAVE_STACKCHECK
|
||||
select ARCH_HAVE_CUSTOMOPT
|
||||
select ARCH_HAVE_TCBINFO
|
||||
---help---
|
||||
Infineon 32-bit AURIX TriCore architectures
|
||||
|
||||
endchoice
|
||||
|
||||
config ARCH
|
||||
string
|
||||
default "arm" if ARCH_ARM
|
||||
default "arm64" if ARCH_ARM64
|
||||
default "avr" if ARCH_AVR
|
||||
default "hc" if ARCH_HC
|
||||
default "mips" if ARCH_MIPS
|
||||
default "misoc" if ARCH_MISOC
|
||||
default "renesas" if ARCH_RENESAS
|
||||
default "risc-v" if ARCH_RISCV
|
||||
default "sim" if ARCH_SIM
|
||||
default "x86" if ARCH_X86
|
||||
default "x86_64" if ARCH_X86_64
|
||||
default "xtensa" if ARCH_XTENSA
|
||||
default "z16" if ARCH_Z16
|
||||
default "z80" if ARCH_Z80
|
||||
default "or1k" if ARCH_OR1K
|
||||
default "sparc" if ARCH_SPARC
|
||||
default "tricore" if ARCH_TRICORE
|
||||
|
||||
source "arch/arm/Kconfig"
|
||||
source "arch/arm64/Kconfig"
|
||||
source "arch/avr/Kconfig"
|
||||
source "arch/hc/Kconfig"
|
||||
source "arch/mips/Kconfig"
|
||||
source "arch/misoc/Kconfig"
|
||||
source "arch/renesas/Kconfig"
|
||||
source "arch/risc-v/Kconfig"
|
||||
source "arch/sim/Kconfig"
|
||||
source "arch/x86/Kconfig"
|
||||
source "arch/x86_64/Kconfig"
|
||||
source "arch/xtensa/Kconfig"
|
||||
source "arch/z16/Kconfig"
|
||||
source "arch/z80/Kconfig"
|
||||
source "arch/or1k/Kconfig"
|
||||
source "arch/sparc/Kconfig"
|
||||
source "arch/tricore/Kconfig"
|
||||
|
||||
config ARCH_CHIP_CUSTOM
|
||||
bool "Custom Chip Support"
|
||||
default n
|
||||
|
||||
if ARCH_CHIP_CUSTOM
|
||||
menu "Custom Chip Configuration"
|
||||
|
||||
config ARCH_CHIP_CUSTOM_NAME
|
||||
string "Custom chip name"
|
||||
default ""
|
||||
---help---
|
||||
This is a name for the chip. It is not used except to return the
|
||||
information via the NSH uname command.
|
||||
|
||||
config ARCH_CHIP_CUSTOM_DIR
|
||||
string "Custom chip directory"
|
||||
default ""
|
||||
---help---
|
||||
If the custom chip configuration is selected, then it is necessary
|
||||
to also tell the build system where it can find the chip directory
|
||||
for the custom chip.
|
||||
|
||||
In this case, the chip directory is assumed to lie outside the
|
||||
NuttX directory. The provided path must then be a full, absolute
|
||||
path to some location outside of the NuttX source tree (like
|
||||
"~/projects/mychip").
|
||||
|
||||
config ARCH_CHIP_CUSTOM_DIR_RELPATH
|
||||
bool "Relative custom chip directory"
|
||||
default y
|
||||
---help---
|
||||
Specifies that the chip directory is relative to the NuttX directory.
|
||||
|
||||
endmenu # Custom Chip Configuration
|
||||
endif #ARCH_CHIP_CUSTOM
|
||||
|
||||
source "$BINDIR/arch/dummy/Kconfig"
|
||||
comment "Common Architecture Configuration"
|
||||
|
||||
config ARCH_TOOLCHAIN_GNU
|
||||
bool
|
||||
|
|
@ -311,21 +37,6 @@ config ARCH_TOOLCHAIN_TASKING
|
|||
bool
|
||||
default n
|
||||
|
||||
config ARCH_GNU_NO_WEAKFUNCTIONS
|
||||
bool
|
||||
depends on ARCH_TOOLCHAIN_GNU
|
||||
default n
|
||||
---help---
|
||||
Disable support for weak functions.
|
||||
|
||||
config ARCH_SIZET_LONG
|
||||
bool "size_t is type long"
|
||||
default n
|
||||
---help---
|
||||
size_t may be type long or type int. This matters for some
|
||||
C++ library routines because the NuttX size_t might not have
|
||||
the same underlying type as your toolchain's size_t.
|
||||
|
||||
config ARCH_INSTRUMENT_ALL
|
||||
bool "Instrument All"
|
||||
default n
|
||||
|
|
|
|||
|
|
@ -1,23 +0,0 @@
|
|||
# ##############################################################################
|
||||
# arch/arm/CMakeLists.txt
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
# Licensed to the Apache Software Foundation (ASF) under one or more contributor
|
||||
# license agreements. See the NOTICE file distributed with this work for
|
||||
# additional information regarding copyright ownership. The ASF licenses this
|
||||
# file to you 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.
|
||||
#
|
||||
# ##############################################################################
|
||||
|
||||
nuttx_add_subdirectory()
|
||||
1401
arch/arm/Kconfig
1401
arch/arm/Kconfig
File diff suppressed because it is too large
Load diff
362
arch/arm/Kconfig.arch
Normal file
362
arch/arm/Kconfig.arch
Normal file
|
|
@ -0,0 +1,362 @@
|
|||
|
||||
config ARCH_ARM
|
||||
bool
|
||||
default y
|
||||
select ARCH_HAVE_BACKTRACE
|
||||
select ARCH_HAVE_INTERRUPTSTACK
|
||||
select ARCH_HAVE_FORK
|
||||
select ARCH_HAVE_STACKCHECK
|
||||
select ARCH_HAVE_CUSTOMOPT
|
||||
select ARCH_HAVE_STDARG_H
|
||||
select ARCH_HAVE_SETJMP if !ARCH_TOOLCHAIN_IAR
|
||||
select ARCH_HAVE_SYSCALL_HOOKS
|
||||
select ARCH_HAVE_RDWR_MEM_CPU_RUN
|
||||
select ARCH_HAVE_TCBINFO
|
||||
select ARCH_HAVE_THREAD_LOCAL
|
||||
---help---
|
||||
The ARM architectures
|
||||
|
||||
config ARCH_ARM7TDMI
|
||||
bool
|
||||
default n
|
||||
select ARCH_DCACHE
|
||||
select ARCH_ICACHE
|
||||
---help---
|
||||
The Arm7TDMI-S is an excellent workhorse processor capable of a wide
|
||||
array of applications. Traditionally used in mobile handsets, the
|
||||
processor is now broadly in many non-mobile applications.
|
||||
|
||||
config ARCH_ARM920T
|
||||
bool
|
||||
default n
|
||||
select ARCH_DCACHE
|
||||
select ARCH_ICACHE
|
||||
select ARCH_HAVE_MMU
|
||||
select ARCH_USE_MMU
|
||||
---help---
|
||||
The ARM9 processor family is built around the ARM9TDMI processor and
|
||||
incorporates the 16-bit Thumb instruction set. The ARM9 Thumb family
|
||||
includes the ARM920T and ARM922T cached processor macrocells:
|
||||
|
||||
- Dual 16k caches for applications running Symbian OS, Palm OS,
|
||||
Linux and Windows CE,
|
||||
- Dual 8k caches for applications running Symbian OS, Palm OS, Linux
|
||||
and Windows CE Applications
|
||||
|
||||
config ARCH_ARM926EJS
|
||||
bool
|
||||
default n
|
||||
select ARCH_DCACHE
|
||||
select ARCH_ICACHE
|
||||
select ARCH_HAVE_MMU
|
||||
select ARCH_USE_MMU
|
||||
---help---
|
||||
Arm926EJ-S is the entry point processor capable of supporting full
|
||||
Operating Systems including Linux, WindowsCE, and Symbian.
|
||||
|
||||
The ARM9E processor family enables single processor solutions for
|
||||
microcontroller, DSP and Java applications. The ARM9E family of
|
||||
products are DSP-enhanced 32-bit RISC processors, for applications
|
||||
requiring a mix of DSP and microcontroller performance. The family
|
||||
includes the ARM926EJ-S, ARM946E-S, ARM966E-S, and ARM968E-S
|
||||
processor macrocells. They include signal processing extensions to
|
||||
enhance 16-bit fixed point performance using a single-cycle 32 x 16
|
||||
multiply-accumulate (MAC) unit, and implement the 16-bit Thumb
|
||||
instruction set. The ARM926EJ-S processor also includes ARM Jazelle
|
||||
technology which enables the direct execution of Java bytecodes in
|
||||
hardware.
|
||||
|
||||
config ARCH_ARM1136J
|
||||
bool
|
||||
default n
|
||||
select ARCH_DCACHE
|
||||
select ARCH_ICACHE
|
||||
select ARCH_HAVE_MMU
|
||||
select ARCH_USE_MMU
|
||||
---help---
|
||||
Arm1136J(F)-S is very similar to Arm926EJ-S, but includes an
|
||||
extended pipeline, basic SIMD (Single Instruction Multiple Data)
|
||||
instructions, and improved frequency and performance.
|
||||
|
||||
config ARCH_ARM1156T2
|
||||
bool
|
||||
default n
|
||||
select ARCH_DCACHE
|
||||
select ARCH_ICACHE
|
||||
select ARCH_HAVE_MMU
|
||||
select ARCH_USE_MMU
|
||||
---help---
|
||||
Arm1156T2(F)-S is the highest-performance processor in the real-time
|
||||
Classic Arm family.
|
||||
|
||||
config ARCH_ARM1176JZ
|
||||
bool
|
||||
default n
|
||||
select ARCH_DCACHE
|
||||
select ARCH_ICACHE
|
||||
select ARCH_HAVE_MMU
|
||||
select ARCH_USE_MMU
|
||||
---help---
|
||||
Arm1176JZ(F)-S is the highest-performance single-core processor in
|
||||
the Classic Arm family. It also introduced TrustZone technology to
|
||||
enable secure execution outside of the reach of malicious code.
|
||||
|
||||
config ARCH_ARMV6M
|
||||
bool
|
||||
default n
|
||||
select ARCH_HAVE_CPUINFO
|
||||
|
||||
config ARCH_CORTEXM0
|
||||
bool
|
||||
default n
|
||||
select ARM_THUMB
|
||||
select ARCH_ARMV6M
|
||||
select ARCH_HAVE_IRQPRIO
|
||||
select ARCH_HAVE_IRQTRIGGER
|
||||
select ARCH_HAVE_RAMVECTORS
|
||||
select ARCH_HAVE_RESET
|
||||
select ARCH_HAVE_HARDFAULT_DEBUG
|
||||
|
||||
config ARCH_ARMV7M
|
||||
bool
|
||||
default n
|
||||
select ARCH_HAVE_CPUINFO
|
||||
select ARCH_HAVE_DEBUG
|
||||
select ARCH_HAVE_PERF_EVENTS
|
||||
|
||||
config ARCH_CORTEXM3
|
||||
bool
|
||||
default n
|
||||
select ARM_THUMB
|
||||
select ARCH_ARMV7M
|
||||
select ARCH_HAVE_IRQPRIO
|
||||
select ARCH_HAVE_IRQTRIGGER
|
||||
select ARCH_HAVE_RAMVECTORS
|
||||
select ARCH_HAVE_HIPRI_INTERRUPT
|
||||
select ARCH_HAVE_RESET
|
||||
select ARCH_HAVE_TESTSET
|
||||
select ARCH_HAVE_HARDFAULT_DEBUG
|
||||
select ARCH_HAVE_MEMFAULT_DEBUG
|
||||
select ARCH_HAVE_BUSFAULT_DEBUG
|
||||
select ARCH_HAVE_USAGEFAULT_DEBUG
|
||||
|
||||
config ARCH_CORTEXM4
|
||||
bool
|
||||
default n
|
||||
select ARM_THUMB
|
||||
select ARCH_ARMV7M
|
||||
select ARCH_HAVE_IRQPRIO
|
||||
select ARCH_HAVE_IRQTRIGGER
|
||||
select ARCH_HAVE_RAMVECTORS
|
||||
select ARCH_HAVE_HIPRI_INTERRUPT
|
||||
select ARCH_HAVE_RESET
|
||||
select ARCH_HAVE_TESTSET
|
||||
select ARCH_HAVE_HARDFAULT_DEBUG
|
||||
select ARCH_HAVE_MEMFAULT_DEBUG
|
||||
select ARCH_HAVE_BUSFAULT_DEBUG
|
||||
select ARCH_HAVE_USAGEFAULT_DEBUG
|
||||
|
||||
config ARCH_CORTEXM7
|
||||
bool
|
||||
default n
|
||||
select ARM_THUMB
|
||||
select ARCH_ARMV7M
|
||||
select ARCH_HAVE_FPU
|
||||
select ARCH_HAVE_IRQPRIO
|
||||
select ARCH_HAVE_IRQTRIGGER
|
||||
select ARCH_HAVE_RAMVECTORS
|
||||
select ARCH_HAVE_HIPRI_INTERRUPT
|
||||
select ARCH_HAVE_RESET
|
||||
select ARCH_HAVE_TESTSET
|
||||
select ARCH_HAVE_HARDFAULT_DEBUG
|
||||
select ARCH_HAVE_MEMFAULT_DEBUG
|
||||
select ARCH_HAVE_BUSFAULT_DEBUG
|
||||
select ARCH_HAVE_USAGEFAULT_DEBUG
|
||||
|
||||
config ARCH_ARMV7A
|
||||
bool
|
||||
default n
|
||||
select ARCH_HAVE_CPUINFO
|
||||
select ARCH_HAVE_DEBUG
|
||||
select ARCH_HAVE_PERF_EVENTS
|
||||
select ARM_HAVE_WFE_SEV
|
||||
|
||||
config ARCH_CORTEXA5
|
||||
bool
|
||||
default n
|
||||
select ARCH_ARMV7A
|
||||
select ARCH_DCACHE
|
||||
select ARCH_ICACHE
|
||||
select ARCH_HAVE_MMU
|
||||
select ARCH_USE_MMU
|
||||
select ARCH_HAVE_TESTSET
|
||||
select ARM_HAVE_MPCORE
|
||||
|
||||
config ARCH_CORTEXA7
|
||||
bool
|
||||
default n
|
||||
select ARCH_ARMV7A
|
||||
select ARCH_DCACHE
|
||||
select ARCH_ICACHE
|
||||
select ARCH_HAVE_MMU
|
||||
select ARCH_USE_MMU
|
||||
select ARCH_HAVE_TESTSET
|
||||
select ARCH_HAVE_FPU
|
||||
select ARM_HAVE_MPCORE
|
||||
|
||||
config ARCH_CORTEXA8
|
||||
bool
|
||||
default n
|
||||
select ARCH_ARMV7A
|
||||
select ARCH_DCACHE
|
||||
select ARCH_ICACHE
|
||||
select ARCH_HAVE_MMU
|
||||
select ARCH_USE_MMU
|
||||
select ARCH_HAVE_TESTSET
|
||||
|
||||
config ARCH_CORTEXA9
|
||||
bool
|
||||
default n
|
||||
select ARCH_ARMV7A
|
||||
select ARCH_DCACHE
|
||||
select ARCH_ICACHE
|
||||
select ARCH_HAVE_MMU
|
||||
select ARCH_USE_MMU
|
||||
select ARCH_HAVE_TESTSET
|
||||
select ARM_HAVE_MPCORE
|
||||
|
||||
config ARCH_ARMV7R
|
||||
bool
|
||||
default n
|
||||
select ARCH_HAVE_CPUINFO
|
||||
select ARCH_HAVE_PERF_EVENTS
|
||||
|
||||
config ARCH_CORTEXR4
|
||||
bool
|
||||
default n
|
||||
select ARCH_ARMV7R
|
||||
select ARCH_DCACHE
|
||||
select ARCH_ICACHE
|
||||
select ARCH_HAVE_MPU
|
||||
select ARCH_HAVE_TESTSET
|
||||
|
||||
config ARCH_CORTEXR5
|
||||
bool
|
||||
default n
|
||||
select ARCH_ARMV7R
|
||||
select ARCH_DCACHE
|
||||
select ARCH_ICACHE
|
||||
select ARCH_HAVE_MPU
|
||||
select ARCH_HAVE_TESTSET
|
||||
|
||||
config ARCH_CORTEXR7
|
||||
bool
|
||||
default n
|
||||
select ARCH_ARMV7R
|
||||
select ARCH_DCACHE
|
||||
select ARCH_ICACHE
|
||||
select ARCH_HAVE_MPU
|
||||
select ARCH_HAVE_TESTSET
|
||||
|
||||
config ARCH_CORTEXR52
|
||||
bool
|
||||
default n
|
||||
select ARCH_ARMV8R
|
||||
select ARCH_HAVE_MPU
|
||||
select ARCH_HAVE_TESTSET
|
||||
|
||||
config ARCH_ARMV8M
|
||||
bool
|
||||
default n
|
||||
select ARCH_HAVE_CPUINFO
|
||||
select ARCH_HAVE_DEBUG
|
||||
select ARCH_HAVE_PERF_EVENTS
|
||||
|
||||
config ARCH_CORTEXM23
|
||||
bool
|
||||
default n
|
||||
select ARM_THUMB
|
||||
select ARCH_ARMV8M
|
||||
select ARCH_HAVE_IRQPRIO
|
||||
select ARCH_HAVE_IRQTRIGGER
|
||||
select ARCH_HAVE_RAMVECTORS
|
||||
select ARCH_HAVE_HIPRI_INTERRUPT
|
||||
select ARCH_HAVE_RESET
|
||||
select ARCH_HAVE_TESTSET
|
||||
select ARCH_HAVE_HARDFAULT_DEBUG
|
||||
|
||||
config ARCH_CORTEXM33
|
||||
bool
|
||||
default n
|
||||
select ARM_THUMB
|
||||
select ARCH_ARMV8M
|
||||
select ARCH_HAVE_IRQPRIO
|
||||
select ARCH_HAVE_IRQTRIGGER
|
||||
select ARCH_HAVE_RAMVECTORS
|
||||
select ARCH_HAVE_HIPRI_INTERRUPT
|
||||
select ARCH_HAVE_RESET
|
||||
select ARCH_HAVE_TESTSET
|
||||
select ARCH_HAVE_HARDFAULT_DEBUG
|
||||
select ARCH_HAVE_MEMFAULT_DEBUG
|
||||
select ARCH_HAVE_BUSFAULT_DEBUG
|
||||
select ARCH_HAVE_USAGEFAULT_DEBUG
|
||||
select ARCH_HAVE_SECUREFAULT_DEBUG if ARCH_TRUSTZONE_SECURE
|
||||
|
||||
config ARCH_CORTEXM35P
|
||||
bool
|
||||
default n
|
||||
select ARM_THUMB
|
||||
select ARCH_ARMV8M
|
||||
select ARCH_HAVE_IRQPRIO
|
||||
select ARCH_HAVE_IRQTRIGGER
|
||||
select ARCH_HAVE_RAMVECTORS
|
||||
select ARCH_HAVE_HIPRI_INTERRUPT
|
||||
select ARCH_HAVE_RESET
|
||||
select ARCH_HAVE_TESTSET
|
||||
select ARCH_HAVE_HARDFAULT_DEBUG
|
||||
select ARCH_HAVE_MEMFAULT_DEBUG
|
||||
select ARCH_HAVE_BUSFAULT_DEBUG
|
||||
select ARCH_HAVE_USAGEFAULT_DEBUG
|
||||
select ARCH_HAVE_SECUREFAULT_DEBUG if ARCH_TRUSTZONE_SECURE
|
||||
|
||||
config ARCH_CORTEXM55
|
||||
bool
|
||||
default n
|
||||
select ARM_THUMB
|
||||
select ARCH_ARMV8M
|
||||
select ARCH_HAVE_IRQPRIO
|
||||
select ARCH_HAVE_IRQTRIGGER
|
||||
select ARCH_HAVE_RAMVECTORS
|
||||
select ARCH_HAVE_HIPRI_INTERRUPT
|
||||
select ARCH_HAVE_RESET
|
||||
select ARCH_HAVE_TESTSET
|
||||
select ARCH_HAVE_HARDFAULT_DEBUG
|
||||
select ARCH_HAVE_MEMFAULT_DEBUG
|
||||
select ARCH_HAVE_BUSFAULT_DEBUG
|
||||
select ARCH_HAVE_USAGEFAULT_DEBUG
|
||||
select ARCH_HAVE_SECUREFAULT_DEBUG if ARCH_TRUSTZONE_SECURE
|
||||
|
||||
config ARCH_CORTEXM85
|
||||
bool
|
||||
default n
|
||||
select ARM_THUMB
|
||||
select ARCH_ARMV8M
|
||||
select ARCH_HAVE_IRQPRIO
|
||||
select ARCH_HAVE_IRQTRIGGER
|
||||
select ARCH_HAVE_RAMVECTORS
|
||||
select ARCH_HAVE_HIPRI_INTERRUPT
|
||||
select ARCH_HAVE_RESET
|
||||
select ARCH_HAVE_TESTSET
|
||||
select ARCH_HAVE_HARDFAULT_DEBUG
|
||||
select ARCH_HAVE_MEMFAULT_DEBUG
|
||||
select ARCH_HAVE_BUSFAULT_DEBUG
|
||||
select ARCH_HAVE_USAGEFAULT_DEBUG
|
||||
select ARCH_HAVE_SECUREFAULT_DEBUG if ARCH_TRUSTZONE_SECURE
|
||||
|
||||
config ARCH_ARMV8R
|
||||
bool
|
||||
default n
|
||||
select ARCH_HAVE_CPUINFO
|
||||
select ARCH_HAVE_PERF_EVENTS
|
||||
select ONESHOT
|
||||
select ALARM_ARCH
|
||||
88
arch/arm/Makefile
Normal file
88
arch/arm/Makefile
Normal file
|
|
@ -0,0 +1,88 @@
|
|||
############################################################################
|
||||
# arch/arm/src/Makefile
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
# Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
# contributor license agreements. See the NOTICE file distributed with
|
||||
# this work for additional information regarding copyright ownership. The
|
||||
# ASF licenses this file to you 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.
|
||||
#
|
||||
############################################################################
|
||||
|
||||
TOOLCHAIN_NAME := $(notdir ${TOOLCHAIN})
|
||||
TOOLCHAIN_NAME := $(basename ${TOOLCHAIN_NAME})
|
||||
|
||||
VPATH += ${ARCH_DIR}/common
|
||||
include ${ARCH_DIR}/common/Make.defs
|
||||
|
||||
VPATH += ${ARCH_DIR}/${ARCH_FAMILY}
|
||||
include ${ARCH_DIR}/${ARCH_FAMILY}/Make.defs
|
||||
|
||||
VPATH += ${ARCH_DIR}/${TOOLCHAIN_NAME}
|
||||
|
||||
$(info TOOLCHAIN: ${TOOLCHAIN})
|
||||
INCLUDES := ${INCDIR_PREFIX}${NXBASE}/include
|
||||
INCLUDES += ${INCDIR_PREFIX}${NXBASE}/include/chip
|
||||
INCLUDES += ${INCDIR_PREFIX}${NXBASE}/sched
|
||||
INCLUDES += ${INCDIR_PREFIX}${ARCH_DIR}/common
|
||||
|
||||
DEFINES = -D__KERNEL__
|
||||
|
||||
CFLAGS += ${INCLUDES}
|
||||
CFLAGS += ${DEFINES}
|
||||
|
||||
AFLAGS += ${INCLUDES}
|
||||
CFLAGS += ${DEFINES}
|
||||
AFLAGS += -D__ASSEMBLY__
|
||||
|
||||
BIN = libarch.a
|
||||
|
||||
STARTUP_OBJS = $(STARTUP_CSRC:.c=.o)
|
||||
STARTUP_OBJS := $(addprefix ${NXOUT}/, ${STARTUP_OBJS})
|
||||
|
||||
HEAD_OBJS = $(HEAD_ASRC:.S=.o)
|
||||
HEAD_OBJS := $(addprefix ${NXOUT}/, ${HEAD_OBJS})
|
||||
|
||||
COBJS = $(CSRCS:.c=.o)
|
||||
COBJS := $(addprefix ${NXOUT}/, ${COBJS})
|
||||
|
||||
AOBJS = $(ASRCS:.S=.o)
|
||||
AOBJS := $(addprefix ${NXOUT}/, ${AOBJS})
|
||||
|
||||
OBJS = ${STARTUP_OBJS} ${HEAD_OBJ} ${COBJS} ${AOBJS}
|
||||
|
||||
${STARTUP_OBJS} ${COBJS}: ${NXOUT}/%.o: %.c
|
||||
$(call COMPILE, $<, $@, -MMD)
|
||||
|
||||
${HEAD_OBJS} ${AOBJS}: ${NXOUT}/%.o: %.S
|
||||
$(call ASSEMBLE, $<, $@, -MMD)
|
||||
|
||||
symlink:
|
||||
$(call LINK, ${ARCH_DIR}/include, ${NXBASE}/include/arch)
|
||||
$(call LINK, ${NXBASE}/soc/arm/include/${ARCH_CHIP}, ${NXBASE}/include/chip)
|
||||
$(call LINK, ${NXOUT}/config.h, ${NXBASE}/include/nuttx/config.h)
|
||||
|
||||
unlink:
|
||||
$(call UNLINK, ${NXBASE}/include/arch)
|
||||
$(call UNLINK, ${NXBASE}/include/chip)
|
||||
$(call UNLINK, ${NXBASE}/include/nuttx/config.h)
|
||||
|
||||
${BIN}: ${OBJS}
|
||||
$(call ARCHIVE, ${NXOUT}/$@, $^)
|
||||
|
||||
.PHONY: symlink unlink all
|
||||
.IGNORE: ${BIN}
|
||||
|
||||
all: symlink ${BIN} unlink
|
||||
|
||||
|
|
@ -20,20 +20,16 @@
|
|||
#
|
||||
############################################################################
|
||||
|
||||
# Common ARM files
|
||||
|
||||
include common/Make.defs
|
||||
|
||||
HEAD_ASRC = arm_head.S
|
||||
|
||||
CMN_CSRCS += arm_dataabort.c arm_doirq.c arm_initialstate.c
|
||||
CMN_CSRCS += arm_prefetchabort.c arm_schedulesigaction.c
|
||||
CMN_CSRCS += arm_sigdeliver.c arm_syscall.c arm_tcbinfo.c
|
||||
CMN_CSRCS += arm_undefinedinsn.c
|
||||
CSRCS += arm_dataabort.c arm_doirq.c arm_initialstate.c
|
||||
CSRCS += arm_prefetchabort.c arm_schedulesigaction.c
|
||||
CSRCS += arm_sigdeliver.c arm_syscall.c arm_tcbinfo.c
|
||||
CSRCS += arm_undefinedinsn.c
|
||||
|
||||
CMN_ASRCS += arm_cache.S arm_vectors.S arm_vectortab.S
|
||||
CMN_ASRCS += arm_saveusercontext.S
|
||||
ASRCS += arm_cache.S arm_vectors.S arm_vectortab.S
|
||||
ASRCS += arm_saveusercontext.S
|
||||
|
||||
ifeq ($(CONFIG_LEGACY_PAGING),y)
|
||||
CMN_CSRCS += arm_pginitialize.c arm_checkmapping.c arm_allocpage.c arm_va2pte.c
|
||||
CSRCS += arm_pginitialize.c arm_checkmapping.c arm_allocpage.c arm_va2pte.c
|
||||
endif
|
||||
|
|
@ -32,8 +32,6 @@
|
|||
#include <assert.h>
|
||||
|
||||
#include <nuttx/addrenv.h>
|
||||
#include <nuttx/board.h>
|
||||
#include <arch/board/board.h>
|
||||
#include <sched/sched.h>
|
||||
|
||||
#include "arm_internal.h"
|
||||
|
|
@ -62,7 +60,6 @@ uint32_t *arm_doirq(int irq, uint32_t *regs)
|
|||
{
|
||||
struct tcb_s *tcb = this_task();
|
||||
|
||||
board_autoled_on(LED_INIRQ);
|
||||
#ifdef CONFIG_SUPPRESS_INTERRUPTS
|
||||
PANIC();
|
||||
#else
|
||||
|
|
@ -117,6 +114,5 @@ uint32_t *arm_doirq(int irq, uint32_t *regs)
|
|||
|
||||
up_set_interrupt_context(false);
|
||||
#endif
|
||||
board_autoled_off(LED_INIRQ);
|
||||
return regs;
|
||||
}
|
||||
|
|
@ -20,10 +20,6 @@
|
|||
#
|
||||
############################################################################
|
||||
|
||||
# Common ARM files
|
||||
|
||||
include common/Make.defs
|
||||
|
||||
CMN_ASRCS += arm_exception.S arm_saveusercontext.S
|
||||
|
||||
CMN_CSRCS += arm_cpuinfo.c arm_doirq.c arm_hardfault.c arm_initialstate.c
|
||||
|
|
@ -35,9 +31,17 @@ ifneq ($(CONFIG_ARCH_HAVE_CUSTOM_VECTORS),y)
|
|||
CMN_CSRCS += arm_vectors.c
|
||||
endif
|
||||
|
||||
<<<<<<< HEAD:arch/z80/src/z80/Make.defs
|
||||
CMN_CSRCS = z80_allocateheap.c z80_createstack.c z80_doirq.c
|
||||
CMN_CSRCS += z80_exit.c z80_initialize.c z80_interruptcontext.c
|
||||
CMN_CSRCS += z80_idle.c z80_mdelay.c z80_releasestack.c
|
||||
CMN_CSRCS += z80_switchcontext.c z80_stackframe.c
|
||||
CMN_CSRCS += z80_udelay.c z80_usestack.c
|
||||
=======
|
||||
ifneq ($(filter y,$(CONFIG_DEBUG_FEATURES)$(CONFIG_ARM_COREDUMP_REGION)),)
|
||||
CMN_CSRCS += arm_dumpnvic.c
|
||||
endif
|
||||
>>>>>>> 753c7b2dd6 (walnux: moveout):arch/arm/armv6-m/Make.defs
|
||||
|
||||
ifeq ($(CONFIG_ARCH_RAMVECTORS),y)
|
||||
CMN_CSRCS += arm_ramvec_initialize.c arm_ramvec_attach.c
|
||||
|
|
@ -20,10 +20,6 @@
|
|||
#
|
||||
############################################################################
|
||||
|
||||
# Common ARM files
|
||||
|
||||
include common/Make.defs
|
||||
|
||||
# The vector table is the "head" object, i.e., the one that must forced into
|
||||
# the link in order to draw in all of the other components
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue