This works by having the build system look for nuttx/external/Kconfig
to determine whether this directory is present or not. nuttx/external
is gitignored in order to be added by the final user but not to be
commited into the repo. Tipically this will by a symbolic link, just like
apps/external.
Inside external/ a Makefile should be placed with the same structure
than any nuttx/ subdirectory (eg: nuttx/drivers/). The
nuttx/external/Kconfig will be sourced and any options defined there will
appear at the bottom of menuconfig (unless options are conditioned on
menus, in which case they will appear accordingly).
The purpose is to allow arch/board independent code, which for any
reason is not to be upstreamed (propietary, not relevant for mainline,
testing, etc), to be built into the OS during OS building stage. This
way the user does not need to fork the NuttX repo to do so. This feature
complements well with external apps and custom board support.
In some cases, when NuttX configuration changes and this makes the
object list used to build one of the .a libraries change as well,
since the command used to build it is "ar crs" and this simply appends
the list of object files, the library could still include object
files from prior builds. This commit modifies the ARCHIVE macro to
erase the .a file if it already exists.
Since in some cases this behavior was actually expected (object
files from a subdirectory were appended to a library created one
level above) I added a ARCHIVE_ADD which works as ARCHIVE did.
This change should greatly improve behavior of building after
configuration changes.
1.Reduce the default size of task_group_s(~512B each task)
2.Scale better between simple and complex application
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: Ia872137504fddcf64d89c48d6f0593d76d582710
Summary:
- This commit enables nuttx thread debugging without openocd-nuttx
- To use this script, gdb must support python
- To show all thread, use 'info_nxthreads'
- To switch thread, use 'nxthread pid'
- To continue, use 'nxcontinue'
Impact:
- No impact
Testing:
- Tested with spresense (Cortex-M4F), sim (x86_64), lm3s6965-ek (Cortex-M3)
- Tested with GNU Tools for Arm Embedded Processors 9-2019-q4-major
- Tested with GNU gdb (Ubuntu 8.1-0ubuntu3.2) 8.1.0.20180409-git
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
since it isn't used anymore after:
commit bd656888f2
Author: Xiang Xiao <xiaoxiang@xiaomi.com>
Date: Mon May 18 22:18:15 2020 +0800
build: Replace WINTOOL with CYGWIN_WINTOOL Kconfig
so the correct value can be determinated by Kconfig system automatically
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
configuration changes
According to the usage documentation, [-e] option should "enforce
distclean if already configured". This behavior was broken due to the -e
option being evaluated only if the current defconfig is different from
the backup defconfig. The new -E command inherits this behavior.
it is useful to pass the nonempty argument to change the init task behaviour
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: I684e9c76b9eac54404d0e4e63ab78e51e039c9a8
This will resolve numerous problems with the way that hard links, in particular "." and ".." are handled. Instead of trying to fudge the stat flags, the correct implementation is to follow the hard link to the final link target node. That is what must determine the attributes of the directory entry.
PR 1372 vfs/stat: Make the flag defintion more confirm POSIX
standard. Silently broke the cromfs. This was due to the
necessary replication of the S_xxxx flags of the NuttX
sys/stat.h. The unfortunate outcome was most likely caused by
fact, that a grep of S_xxxx did not match the tools/gencromfs.c
To insure this sort of thing does not happen again, comments
have been added the will match search.
custom board.
Custom boards don't set CONFIG_ARCH_BOARD since the full path is given
during configuration.
Furthermore this creates problems when when referencing other
folders using BOARD_DIR because a trailing DELIM will be present.
Since testbuild.sh called by nightly build and check build, it should
suppress logs from configure stage to keep all output clean.
Signed-off-by: liuhaitao <liuhaitao@xiaomi.com>
Make.defs under board folder can still overwrite the default as needed
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: I1c300a8ace4b54d475ef8d398661ed65ca273a2e
so all boards support uClibc++/libc++ automatically
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: Ibe6fafbec57f7acb26ea6188a3e9923ea82295c5
Squashed commit of the following:
commit 40b788f8a0e79aa90734813a557c17f90fb9cdbe
Author: Adam Feuer <adam@adamfeuer.com>
Date: Sat Jul 4 14:45:13 2020 -0700
updated license header to APL 2.0; updated usage
commit 81984aeeb503d90f30cb1d0c62a888e2a23235ed
Author: Adam Feuer <adam@adamfeuer.com>
Date: Thu Jul 2 18:32:05 2020 -0700
move tar.gz files to current dir
- for convenience, so user can untar them and build
commit e1a3100402e39703ea08daa16e2388d4572413dc
Author: Adam Feuer <adam@adamfeuer.com>
Date: Wed Jul 1 13:17:37 2020 -0700
added trap; copyright header; can take release name
- instead of URL, optionally
commit e0109214c5b887b4b662120ce59c59520d8a5918
Author: Adam Feuer <adam@adamfeuer.com>
Date: Wed Jul 1 12:54:54 2020 -0700
trap and remove tempfile; set -e to catch errors
commit 196dc4ca4285b821cce644561296a2034e9a671e
Author: Adam Feuer <adam@adamfeuer.com>
Date: Wed Jul 1 12:15:01 2020 -0700
using wget recursive and cut-dir to download files
- as per PR feedback
commit 127c22bbc14cabe2a59b238b75c21711b000e41b
Author: Adam Feuer <adam@adamfeuer.com>
Date: Wed Jul 1 11:35:01 2020 -0700
intial addition
enhance the post build can support configurable BIN directory
Change-Id: I64f286b6eb5ed77e91b67a27d815d62c345ac589
Signed-off-by: chao.an <anchao@xiaomi.com>
post build processing is also necessary for import compilation
Change-Id: Ie27e25b84e2212e9c86358c30ca1a5b7c2adffc5
Signed-off-by: chao.an <anchao@xiaomi.com>
use LDNAME instead of LDSCRIPT to avoid invalid native path
exported to the import build
Change-Id: I1ba3cfdbfca02447941dc32a292fe4d76c1ced04
Signed-off-by: chao.an <anchao@xiaomi.com>