NUTTXNAME is used only as an alias for "nuttx", not actually a
configuration property. Its definition might erroneously imply that the
name of binary image may be configurable, which is not the case.
Summary:
- This commit adds iperf to rndis and rndis_smp defcofigs
Impact:
- rndis and rndis_smp
Testing:
- Tested with iperf
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
The BaseBoard carries Teensy 4.1 SBC. The complete design
of the baseboard (teensy_bb-1.tdb) is available at
https://gitlab.com/pikron/projects/imxrt-devel/-/tree/master/hw
Attempt is to provide configuration which enables most
of interfaces of the BaseBoard and allows runtime applications
loading over TFTP.
Signed-off-by: Pavel Pisa <ppisa@pikron.com>
The ARMv7 specifies minimal alignment to be 8 for EABI. Ensure
that sections are placed with even greater minimal alignment.
Sections final alignment should be adjusted according
to alignment of their inputs, but for some reasons some
combinations lead to .ARM.exidx overlap with .data.
When alignment is increased then the direct fetch of the
fill location
_eronly = ABSOLUTE(.);
does not match with final LMA placement of the .data section.
Use constructs which should result in matching .data LMA
address for all cases
_eronly = ABSOLUTE(.);
Signed-off-by: Pavel Pisa <ppisa@pikron.com>
The BSP MAke.defs line
LDFLAGS += -Map=$(TOPDIR)/nuttx.map
results in absolute path in nuttx-export/scripts/Make.defs
which would mean that each application rebuild would attempt
to modify file inside original build of NuttX system.
Even worse, it prevents linking by GCC, because -Map=xxx/nuttx.map
works directly in LD, it would require -Wl,-Map= for GCC.
Fixed name of map file prevents to define map file by build
system using exported NuttX libraries and link kit.
Change is done to allow OMK template based applications
development for another NuttX BSP
https://github.com/ppisa/nuttx-devel/tree/master/nuttx-omk-template
Signed-off-by: Pavel Pisa <ppisa@pikron.com>
Summary:
- This commit makes the iperf work with CONFIG_NET_TCP_WRITE_BUFFERS
- Since the iperf sends a large packet (e.g. 16KB), CONFIG_IOB_NBUFFERS
must be increased enough to hold the packet
- To improve performance CONFIG_IMX_ENET_NTXBUFFERS was changed to
the default (i.e. 2)
Impact:
- sabre-6quad:netnsh only
Testing:
- Tested with iperf with QEMU
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
Summary:
- This commit updates the followings
- Remove CONFIG_DEBUG_XXX except for CONFIG_DEBUG_FULLOPT and CONFIG_DEBUG_SYMBOLS
- Add CONFIG_EXAMPLES_IPERF=y and CONFIG_EXAMPLES_TCPBLASTER=y
- Set CONFIG_IMX_ENET_NTXBUFFERS=1 and CONFIG_NET_ETH_PKTSIZE=1514
- Add CONFIG_SCHED_LPWORK=y and CONFIG_SYSLOG_TIMESTAMP=y
- Add CONFIG_SYSTEM_DHCPC_RENEW=y and CONFIG_SYSTEM_DHCPC_RENEW=y
Impact:
- sabre-6quad:netnsh only
Testing:
- Tested with sabre-6quad:netnsh with QEMU
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
add support to attach the devices via HCI TTY to Bluetooth Host
Reference:
drivers/wireless/bluetooth/bt_uart_shim.c
Signed-off-by: chao.an <anchao@xiaomi.com>
Summary:
- This commit adds the following configs
+CONFIG_EXAMPLES_IPERF=y
+CONFIG_EXAMPLES_IPERFTEST_DEVNAME="eth0"
+CONFIG_NET_ETH_PKTSIZE=1514
Impact:
- lm3s6965-ek:discover only
Testing:
- Tested with qemu
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
interrupts.
This example uses the GPIO driver with the 3 on board LEDs outputs and one input
as an interrupt pin.
Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
The compiler default varies among the environment.
Especially, the default std version for xcode clang doesn't work
for libcxx.
This commit just ensures to use the consistent std version
among compilers. we can come up with a more sophisticated way
to control the version later if desiable.
clang/macOS (from xcode):
spacetanuki% c++ -dM -E -x c++ /dev/null | grep __cplusplus
#define __cplusplus 199711L
spacetanuki% c++ --version
Apple clang version 11.0.0 (clang-1100.0.33.17)
Target: x86_64-apple-darwin18.7.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
spacetanuki%
clang/macOS (from homebrew):
spacetanuki% /usr/local/Cellar/llvm/11.0.0/bin/clang++ -dM -E -x c++ /dev/null | grep __cplusplus
#define __cplusplus 201402L
spacetanuki% /usr/local/Cellar/llvm/11.0.0/bin/clang++ --version
clang version 11.0.0
Target: x86_64-apple-darwin18.7.0
Thread model: posix
InstalledDir: /usr/local/Cellar/llvm/11.0.0/bin
spacetanuki%
gcc/ubuntu:
root@477d94753e9b:/# c++ -dM -E -x c++ /dev/null | grep __cplusplus
#define __cplusplus 201402L
root@477d94753e9b:/# c++ --version
c++ (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
root@477d94753e9b:/#
* For C, wchar_t is provided by the OS. On NuttX, it's uint16_t.
(Except wide character literals, which uses the compiler
built-in knowledge of wchar_t.)
* For C++, wchar_t is a built-in type. It's provided by the compiler.
* The compilers built-in wchar depends on the compiler configuration.
For the sim, the compilers are usually configured with wchar_t == int,
which is 32-bit.
* wchar_t should be compatible between C and C++.
This commit fixes the mismatches by telling the compiler to use
16-bit wchar_t.
An alternative is to make NuttX use 32-bit wchar_t if the compiler
is configured with 32-bit wchar_t. It can increase the runtime
footprint. While it might be ok for the sim, it might be a problem
for real devices.
An empty extension for sed -i is not widely available.
* Where it isn't available (eg. macOS's sed) "sed -i -e" will
create a backup file with the "-e" suffix.
* Even GNU sed documentation says it's "not recommended".
This commit deals with it by:
* Replace it with a more appropriate tool (kconfig-tweak)
* Or, specify the extension (.bak)
Summary:
- This commit updates how to build the u-boot
- Also adds tftpboot
Impact:
- No impact
Testing:
- Tested with sabre-6quad board
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
Modify the default configuration in KConfig.
Sync latest commit from mainline.
Remove unused demo configuration
fixup bl602 nsh defconfig cause CICD failed
Rebase from mainline code
Summary:
- This commit replaces SHES related headers under stm32f4discovery
Impact:
- No impact
Testing:
- Build check only
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
Summary:
- This commit replaces SHES related headers under cxd56xx
Impact:
- No impact
Testing:
- Build check only
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
This reverts commit e70bff723b.
* These warnings sometimes find real bugs. There are ways to disable
the specific warnings for the specific code (eg. libcxx) selectively.
* It doesn't make much sense to disable these warnings only on sim.
There are many boards with -Wall -Wshadow. Because the sim is
mainly for development and testing, it should be less forgiving
than real boards.
Summary:
- This commit adds imx_enet driver derived from imxrt_enet
Impact:
- imx6 only
Testing:
- Tested with sabre-6quad:netnsh
- NOTE: telnetd works with QEMU
these macro doesn't need anymore with commit:
commit d32e9c38df
Author: Xiang Xiao <xiaoxiang@xiaomi.com>
Date: Sat Jul 11 18:37:40 2020 +0800
boards: Move the C/C++ search path to the common place
so all boards support uClibc++/libc++ automatically
Summary:
- This commit adds adb configuration
Impact:
- stm32f4discovery:adb only
Testing:
- Tested with adb client on ubuntu18.04 x86_64
- adb shell works but still unstable
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
Summary
- This commit fixes interrupt handling for SMP
- The following are the changes
- Introduce up_copyfullstate.c
- Add enter_critical_section() to up_exit()
- Add a critical section to up_schedule_sigaction()
- Introduce pseudo timer thread to send periodic events
- UART and interval timer are now handled in the pause handler
- Apply the same SMP related code as other CPU architectures
- However, signal handling and context switching are not changed
- Also enable debug features and some tools in smp/defconfig
Imact
- SMP only
Testing
- Tested with sim:smp on ubuntu18.04 x86_64
- Tested with hello, taskset, smp, ostest
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
The following nxstyle errrors are intentionally left.
They are a part of a large table, which is not trivial to fix.
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:43:87: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:44:86: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:45:87: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:46:84: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:47:89: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:48:84: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:49:84: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:50:84: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:51:84: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:52:84: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:53:84: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:54:84: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:55:84: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:56:84: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:57:84: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:58:84: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:59:84: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:60:84: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:61:84: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:62:84: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:63:84: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:64:84: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:65:84: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:66:84: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:67:84: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:68:84: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:69:84: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:70:84: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:71:84: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:72:84: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:73:84: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:74:84: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:75:84: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:76:84: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:77:84: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:78:84: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:79:84: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:80:84: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:81:84: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:82:84: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:83:84: error: Long line found
boards/arm/sam34/sam3u-ek/src/sam_lcd.c:84:84: error: Long line found
The following nxstyle error was intentionally left.
(a URL in a comment)
boards/arm/stm32l4/nucleo-l452re/src/stm32_adc.c:79:93: error: Long line found
The following nxstyle errors are intentionally left.
* A table, not trivial to fix:
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:142:119: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:143:95: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:144:88: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:145:119: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:146:108: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:147:108: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:148:108: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:149:108: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:150:108: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:151:108: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:152:108: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:153:108: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:154:119: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:155:119: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:156:119: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:157:119: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:158:119: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:159:119: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:160:119: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:161:119: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:162:108: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:163:108: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:164:108: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:165:108: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:166:108: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:167:108: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:168:108: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:169:108: error: Long line found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:170:119: error: Long line found
* Identifiers like ASCII_a:
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:397:35: error: Mixed case identifier found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:651:16: error: Mixed case identifier found
boards/arm/stm32/stm32ldiscovery/src/stm32_lcd.c:660:38: error: Mixed case identifier found
Summary:
- Remove comments on up_idle() which is old information
- Add L2CC info with QEMU
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
Summary:
- This commit adds L2CC to smp/defconfig
- Also adds CLOCK_MONOTONIC
Impact:
- sabre-6quad:smp only
Testing:
- Tested with both QEMU and dev board
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
Summary:
- This commit adds L2CC to nsh/defconfig
- Also adds EXAMPLES_HELLO, TESTING_GETPRIME and TESTING_OSTEST
Impact:
- sabre-6quad:nsh only
Testing:
- Tested with both QEMU and dev board
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
This change improves upon current support for pin interrupts. Before,
a pin interrupt was handled (with nrf52_gpiote_setevent) using one
of the eight available GPIOTE channels. Moreover, it didn't event let
the user specify which channel to use (simply tried to get a free one).
Also, it was buggy since it did not consider unsetting the callback.
Besides GPIOTE channels, there is another way to deal with pin interrupts.
The GPIO peripheral is capable of generating a PORT event
(for the whole GPIO port) depending on the pin SENSE configuration
(HIGH or LOW, or NONE) and GPIO DETECTMODE register
(latching or non-latching).
This change then renames nrf52_gpiote_setevent into nrf52_gpiote_set_ch_event,
maintaining functionality of original function, but now allows specifying
channel (and correctly handles unsetting the callback). Then, a
new nrf52_gpiote_set_pin_event is added, which allows to set a callback
for a given pin. During initialization, interrupt for the PORT event is
enabled and handled in such way that for each pin whose corresponding
bit in LATCH register (indicates the result of pin SENSEing) the
callback for this pin will be invoked. This mechanism means that
every pin can get an ISR. It also avoids using GPIOTE channels for this
purpose which carry higher current consumption.
This new per-pin callback mechanism has some added memory requirement
so it can be disabled and its default is dependant on DEFAULT_SMALL.
When disabled, a callback for the PORT event can be set directly
with nrf52_gpiote_set_port_event
There was only one use of nrf52_gpio_setevent() which was migrated
into nrf52_gpio_set_ch_event() passing channel zero.
regards to the data used by the ROM.
Static alloaction sections should end at the begining of the ROM data.
The rest of memory (End of ROM data --> End of DRAM) is added to the
heap.
Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
This adds the inital wiring for i2c bus support in the sim target
and for Linux host adds the lower half that uses the i2c chardev.
Signed-off-by: Brennan Ashton <bashton@brennanashton.com>
Squashed commit of the following:
sim audio: call alsa to playback/capture data
sim/audio: correct the format capability
sim/audio: add pause/resume support
sim/audio: add auto stop when meet AUDIO_APB_FINAL
sim/audio: fix abort when set small buffer_size
sim/audio: move sim_audio.c to sim_alsa.c
Change-Id: I8e00ece79159e844ca17fd4c363480b985ee0490
Signed-off-by: ligd <liguiding1@xiaomi.com>
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>