In the current compilation environment, the recursive assignment(=) for compile
flags will be delayed until every file is actually need to be compile.
For example:
--------------------------------------------------------------------------------
arch/arm/src/Makefile:
INCLUDES += ${shell $(INCDIR) "$(CC)" $(ARCH_SRCDIR)$(DELIM)chip}
INCLUDES += ${shell $(INCDIR) "$(CC)" $(ARCH_SRCDIR)$(DELIM)common}
INCLUDES += ${shell $(INCDIR) "$(CC)" $(ARCH_SRCDIR)$(DELIM)$(ARCH_SUBDIR)}
INCLUDES += ${shell $(INCDIR) "$(CC)" $(TOPDIR)$(DELIM)sched}
CPPFLAGS += $(INCLUDES) $(EXTRAFLAGS)
CFLAGS += $(INCLUDES) $(EXTRAFLAGS)
CXXFLAGS += $(INCLUDES) $(EXTRAFLAGS)
AFLAGS += $(INCLUDES) $(EXTRAFLAGS)
--------------------------------------------------------------------------------
All compilation options will be included recursively,
which will be delayed until the compilation options are actually used:
tools/Config.mk:
--------------------------------------------------------------------------------
define COMPILE
@echo "CC: $1"
$(Q) $(CC) -c $(CFLAGS) $($(strip $1)_CFLAGS) $1 -o $2
endef
--------------------------------------------------------------------------------
All compile flags to be reexecuted $(INCDIR) as long as one file needs to be compiled,
but in fact, the compilation options have not changed in the current directory.
So the we recommand to change the syntax of assignment
From
Recursive (=)
To
Simple (:=)
In this way, we can ensure that all compilation options are expanded only once and reducing repeated works.
Signed-off-by: chao.an <anchao@xiaomi.com>
## Summary of changes
Disable CONFIG_NSH_ARCHINIT to prevent the boardctl() logic to call
multiple times the oneshot_register() function. The boardctl logic is
already called from nxwm_main.
Signed-off-by: Sebastian Ene <sene@apache.org>
This separation allows to interact with the watchdog from OS code,
for example initiating the watchdog very early on boot. Moreover,
these changes make the lower-half driver support an already running
watchdog, which may happen if there's a bootloader which already
started it.
Follow the POSIX description.
SIGTSTP should be sent when the Ctrl-Z characters is encountered, not SIGSTP.
Testing:
Built with hifive1-revb:nsh (CONFIG_SERIAL_TERMIOS=y, CONFIG_SIG_DEFAULT=y and CONFIG_TTY_SIGTSTP=y)
Add new option -A is added to tools/testbuild.sh that will take the
created build executable and store it in a folder for the config
that generated it under $ARTIFACTDIR which can be set via an
environment variable or defaulted to $(TOPDIR)/buildartifacts
This is also helpful for local testing because you can now run
tools/testbuild.sh -A sim.dat and have all of the simulation
targets generated without having to rebuild along the way.
In the GitHub Actions workflow the artifacs are uploaded
two two bundles one for macOS and one for Linux
Signed-off-by: Brennan Ashton <bashton@brennanashton.com>
the mkspk tool will automaticaly be built if CONFIG_CXD56_BINARY
is set.
Test:
nuttx.spk was succesfully generated
Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
### Summary of Changes ###
Running the NuttX simulation 'as fast as possible' breaks the features
that depend on timing: eg. the Bluetooth stack. Enabling this option by
default SIM_WALLTIME=y will introduce delays and will tick the simulation at
a real pace.
Refresh defconfigs for sim targets and add depends on SIM_WALLTIME for
SIM_HCISOCKET.
Signed-off-by: Sebastian Ene <sene@apache.org>
There is a good case on sim platform:
When we input some cmd and click enter key to start application in terminal,
this context will change to application from IDLE loop. Althrough entey key '\r'
has been received to recv buffer and complete post semaphore of reader, but
pollnotify may not be called because context change. So when application run
poll function, because no events happend and poll enter wait, context will
again change to IDLE loop, this pollnotify of IDLE loop will run to send poll
events, poll function of applicaton will wake up. It's wrong!
Change-Id: I812a889f2e90781a9c3cb4b0251cccc4d32bebd1
Signed-off-by: dongjiuzhu <dongjiuzhu1@xiaomi.com>
Fixes an issue I saw when trying libcxx.
esptool.py has a limit of 16 sections.
It complains like:
A fatal error occurred: Invalid segment count 23 (max 16).
Usually this indicates a linker script problem.
Usage:
nsh> ifconfig
eth0 Link encap:Ethernet HWaddr 52:13:FF:FF:FF:FF at UP
inet addr:10.0.0.2 DRaddr:10.0.0.1 Mask:255.255.255.0
nsh> renew eth0 && ifconfig
eth0 Link encap:Ethernet HWaddr 52:13:FF:FF:FF:FF at UP
inet addr:192.168.1.42 DRaddr:192.168.1.254 Mask:255.255.255.0
CONFIG_NETDB_DNSCLIENT is needed for
apps/netutils/netinit/netinit.c:659: \
undefined reference to `netlib_set_ipv4dnsaddr'
Change-Id: I54b8495637baf0f3f28abf67d4d4ce861ef49ced
Bug: https://github.com/apache/incubator-nuttx/issues/1988
Forwarded: https://github.com/apache/incubator-nuttx/pulls/rzr
Signed-off-by: Philippe Coval <rzr@users.sf.net>
It was tested using:
nsh> ifconfig
eth0 Link encap:Ethernet HWaddr 52:13:FF:FF:FF:FF at DOWN
inet addr:10.0.0.2 DRaddr:10.0.0.1 Mask:255.255.255.0
All flags are needed to prevent build failures like:
chip/kinetis_enet.c:181:4:\
error: #error "Unrecognized or missing PHY selection"
netlib_setifstatus.c: In function 'netlib_ifup':
netlib_setifstatus.c:83:27: \
error: 'NETLIB_SOCK_TYPE' undeclared (first use in this function);
Change-Id: I9496528ae09f6244d73ab77dbcd307ced95f46fd
Bug: https://github.com/apache/incubator-nuttx/pull/1988
Forwarded: https://github.com/apache/incubator-nuttx/pull/2066
Signed-off-by: Philippe Coval <rzr@users.sf.net>
This will suppress a warning.
For some reason if declared weak,
it's not properly resolved at runtime,
this will need more investigations, any clues ?
Change-Id: I3cc3b7d145c7b32db20f5f2cbf4314ac20dba588
Forwarded: https://github.com/apache/incubator-nuttx/pulls/rzr
Signed-off-by: Philippe Coval <rzr@users.sf.net>
Also enable ifup, use USB console and create raw image.
Windows is not mandatory, I use linux as host
so defconfig can rely on defaults.
Change-Id: Ic0e5f79f28facb6eff1d9831bcb31e1ff329a5aa
Forwarded: https://github.com/apache/incubator-nuttx/pulls/rzr
Signed-off-by: Philippe Coval <rzr@users.sf.net>
Then it can easly deployed using USB masstorage
(same as on embed)
Forwarded: https://github.com/apache/incubator-nuttx/pulls/rzr
Change-Id: I62381d3f571fbc6e4716fa01d6974954f9193075
Signed-off-by: Philippe Coval <rzr@users.sf.net>
Summary:
- During streaming test, I noticed a dealock when controlling IRQ
- Actually, it will send an IPI when the cpu index is not 0
- However, up_cpu_pause() also sends IPI with critical section
- So the IRQ control must follow the same rule
Impact:
- Affects SMP only
Testing:
- Tested with spresense:wifi_smp
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
Both CPUs are soft-reset with a call to board_reset. This is actually a
Core Reset, so both cores and all registers are reset. The only
exception is RTC.
Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
Summary:
- I noticed that stack for the init task was filled almost 100%
- This commit fixes this issue
Impact:
- Affects spresense:wifi configuration only
Testing:
- Tested with renew/mount/wget/nxplayer commands
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
## Summary of Changes
Add a host timer that generates periodic signals and sends SIGALRM to
the process that runs the NuttX simulation. This logic is integrated as
part of the existing NuttX oneshot timer. The host timer installs an
irq handler which is expected to run every CONFIG_USEC_PER_TICK .
Signed-off-by: Sebastian Ene <nuttx@fitbit.com>
Summary:
- This commit adjusts parameters for audio streaming
Impact:
- Only affects spresense:wifi and spresense:wifi_smp
Testing:
- Tested with nxplayer
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
1. There is difference about symbol replace on nuttx-names.in
between MacOS & Linux
2. For MacOS, if open '-fvisibility=hidden' and adjust nuttx-names.in,
it will meet symbol link-back-to-nuttx error.
3. Make the MacOS replace behaviour, same with Linux
Note:
MacOS should install objcopy with command:
$ brew install binutils
$ export PATH=$PATH:/usr/local/opt/binutils/bin
already check in to cibuild.sh
Change-Id: If78b784cc0ecb98cdbf7091de38acef00a8a02f3
Signed-off-by: ligd <liguiding1@xiaomi.com>
and remove the special handling in the stack dump
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: Ia1ef9a427bd4c7f6cee9838d0445f29cfaca3998
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
This can hidden all nuttx's symbols,
and DO NOT export nuttx's symbols to share libraries.
e.g.
wrong:
NUTTX PC NUTTX
ffmpeg -> asound -> sysconf
right:
NUTTX PC PC
ffmpeg -> asound -> sysconf
Signed-off-by: ligd <liguiding1@xiaomi.com>
boards/arm/stm32/b-g474e-dpow1/scripts/ld.script.dfu:
* New file. Reserve up to 24KiB at the start of FLASH for a
bootloader.
boards/arm/stm32/b-g474e-dpow1/scripts/Make.defs:
* When building with CONFIG_STM32_DFU, use the new ld.script.dfu
to leave room in FLASH for a bootloader.
boards/arm/stm32/b-g474e-dpow1/README.txt:
* "FLASH Bootloader Support": New section.
Summary:
- This commit adds a wifi_smp configuration for spresense
- To avoid deadlock, gs2200m_irq_enable() and gs2200m_irq_disable()
release global spinlock if they are not called on CPU0.
Impact:
- Only affects spresense:wifi_smp
Testing:
- Tested with ostest, renew, smp, telnetd.
- NOTE: tcpserver might be unstable
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
Add sotest/sotest32 example configs since they are removed
from module/module32 defconfigs in former commit.
Change-Id: I22808d06ef9e4231979a4467672c86386d216b83
Signed-off-by: liuhaitao <liuhaitao@xiaomi.com>
Sotest and module examples could not co-exist since there is only
one romfs_img array exist meantime. Or one of them would fail to
run.
Change-Id: I73e3b6791678f4e801181552c56af50e6d0e47c3
Signed-off-by: liuhaitao <liuhaitao@xiaomi.com>