Commit Graph

175 Commits

Author SHA1 Message Date
Pavel Pisa
6c2c70c61e Make: fix use of gcc as LD for modules and ELF executables builds
The patch

  Make: use gcc as LD

introduced use of GCC wrapper as linker. LD variable references GCC
executable now. But when GCC wrapper s used to build relocatable
loadable objects (ELF executables and modules) then it causes
linking of toolchain default libc and other libraries even when -r
is usd. Another problem is that incorrect multiarch variant is selected
for libraries search and possibly even for LTO or C++ templates
instantiating and other glue code which causes fails during linking
if CFLAGS selects non/default miltiarch variant.

Corresponding CFLAGS are passed to LDMODULEFLAGS and LDELFFLAGS
as well as -nostartfiles -nodefaultlibs options.

Separate line is used to easily find and adjust lines if link
process is changed in future.

Signed-off-by: Pavel Pisa <ppisa@pikron.com>
2021-07-19 08:41:25 -03:00
Xiang Xiao
663104a2e9 fs: Simplify sendfile implementation
and avoid call nx_ file API in the kernel space

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: Id951ca161df2c2ee267dc4b5a0d7dfa67df4c1e6
2021-07-17 07:39:15 -03:00
Jiuzhu Dong
85470176e7 sched/task: delete CONFIG_MAX_TASKS limit
Change-Id: I583015a95dbcebd352f81ecb3104ffdbd646a9ec
Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2021-07-11 19:42:30 -07:00
Masayuki Ishikawa
48ab08c43d boards: spresense: Update rndis and rndis_smp defconfigs
Summary:
- This commit adds CONFIG_NET_TCP_WRITE_BUFFERS=y to
  rndis and rndis_smp defconfigs

Impact:
- webserver performance will be improved

Testing:
- Tested with nxplayer, telnetd, webserver, iperf

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2021-07-09 02:19:32 +02:00
SPRESENSE
3a22af5d9b boards: cxd56xx: Change c++ option to -std=c++11
Change CXXFLAGS from -std=c++98 to -std=c++11.
2021-07-04 00:36:20 -05:00
SPRESENSE
6f78544fd9 boards: cxd56xx: Fix some printf format warnings
Fix some warnings by -Wformat.
2021-07-03 23:33:40 -05:00
Masayuki Ishikawa
c8a14147d2 boards: spresense: Add interrupt stack to smp/defconfig
Summary:
- This commit adds CONFIG_ARCH_INTERRUPTSTACK=2048 to defconfig

Impact:
- None

Testing:
- Tested with ostest

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2021-07-03 07:02:33 -05:00
Masayuki Ishikawa
30fd340e74 boards: spresense: Add CONFIG_BOARD_LATE_INITIALIZE=y for SMP
Summary:
- I noticed that spresense:rndis_smp and spresense:wifi_smp
  do not boot due to the recent change in nx_start.c
- As the result of the discussion, I understand that we have to
  add CONFIG_BOARD_LATE_INITIALIZE=y for SMP

Impact:
- spresense only

Testing:
- Tested with spresense:rndis_smp and spresense:wifi_smp

Signed-off-by: Masayuki Ishikawa <masayuki.ishikawa@gmail.com>
2021-07-02 10:15:45 -05:00
Masayuki Ishikawa
e890e2e45c boards: spresense: Update rndis and rndis_smp for workaround
Summary:
- I noticed that Telnet session is sometimes not closed
  when tested with nxplayer + command stress test
- The symptom relates to the change of IOB throttling in TCP
  but we are still finding the root cause.
- This commit is just a workaround to avoid the issue by
  disabling telnet character mode.

Impact:
- spresense:rndis, spresense:rndis_smp only

Testing:
- Tested with nxplayer (HTTP audio streaming) + command stress test

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2021-06-25 00:58:27 -05:00
Masayuki Ishikawa
35a7902367 boards: spresense: Update elf/defconfig
Summary:
- This commit adds the following configs to spresense:elf
  +CONFIG_DEBUG_FULLOPT=y
  +CONFIG_DEBUG_SYMBOLS=y
  +CONFIG_STACK_COLORATION=y

Impact:
- None

Testing:
- Tested with spresense

Signed-off-by: Masayuki Ishikawa <masayuki.ishikawa@gmail.com>
2021-06-15 22:30:32 -03:00
Alexander Vasiljev
45672c269d Make: use gcc as LD 2021-06-10 03:43:18 -07:00
Xiang Xiao
2e54df0f35 Don't include assert.h from public header file
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-06-03 08:36:03 -07:00
Masayuki Ishikawa
9e8441e66e boards: spresense: Normalize rndis_smp and wifi_smp defconfigs
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2021-06-02 22:13:10 -05:00
Kazuya Hioki
d3ef61af31 boards: spresense: Introduce ramconfig-new.ld for the system bus
Summary:
- In order to support the atomic instructions by ldrex/strex instruction
  in NuttX SMP, the data or later sections are mapped to the system bus.

Impact:
- Bootloader for Spresense SDK 2.1.0 or later must be installed
- Loops per msec must be adjusted
- Physical address for DMA must be converted with CXD56_PHYSADDR

Testing:
- Will be tested with later commits

Signed-off-by: Kazuya Hioki <Kazuya.Hioki@sony.com>
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2021-06-02 22:13:10 -05:00
Nakamura, Yuuichi
85f9b893b2 Add new config nsh_trace for spresense 2021-06-01 00:48:59 -05:00
Masayuki Ishikawa
f14ceb43b7 boards: spresense: Remove CONFIG_LIBM from defconfigs
Summary:
- This commit removes CONFIG_LIBM from defconfigs to use libm for gcc

Impact:
- Applications which use the math library

Testing:
- Tested with spresense:wifi_smp

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2021-05-27 12:56:54 +02:00
SPRESENSE
14c57b0774 boards: cxd56xx: Fix uninitialized variable
Fix uninitialized variable.
CodeSonar Warning 520074
2021-05-23 20:42:54 +02:00
SPRESENSE
6cc60f3bd9 boards: cxd56xx: Set the pin number to the argument of gpio handler
Make it easy to get the pin number on GPIO interrupt handler.
2021-05-23 20:42:54 +02:00
SPRESENSE
ca775beccb boards: spresense: Support board_reset on interrupt context
When CONFIG_BOARD_RESET_ON_ASSERT is enabled, board_reset() may be
called on interrupt context. This commit changes to be able to call the
function on interrupt context.
2021-05-23 20:42:54 +02:00
SPRESENSE
8b5425d661 boards: spresense: Add delay only for PMIC GPO setting
When RTC clock is still unstable, add a delay time only for PMIC GPO
setting to avoid a problem that the setting is not reflected.
2021-05-23 20:42:54 +02:00
SPRESENSE
8403fe6503 boards: spresense: Fix PMIC setting during boot-up
When RTC clock is still unstable, the continuous PMIC settings may not
be reflected. This commit adds a delay time to avoid such problem.
2021-05-23 20:42:54 +02:00
Masayuki Ishikawa
3af0ef70ff boards: spresense: Update rndis/rndis_smp/wifi/wifi_smp defconfigs
Summary:
- Add the following configs
  +CONFIG_NFS=y
  +CONFIG_USERMAIN_STACKSIZE=3072 (rndis/defconfig only)

Impact:
- None

Testing:
- Tested with NFS server on Ubuntu 18.04 (x86_64)

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2021-05-13 22:33:12 -03:00
Xiang Xiao
11ef8a3201 board: Enable CONFIG_BOARDCTL_ROMDISK
to fix build break by commit 3156aa7532

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-05-13 10:44:16 -05:00
Gregory Nutt
27e0725a4e Remove CONFIG_NET_UDP_BINDTODEVICE from DHCPC configurations
CONFIG_NET_UDP_BINDTODEVICE is now selected by default if DHCPC is enabled.

This change will not build without apps PR 696
2021-04-28 21:22:40 -05:00
Abdelatif Guettouche
f43f066018 boards: Update the iperf configs.
Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2021-04-21 13:44:18 -05:00
Masayuki Ishikawa
1a9e7efde5 smp: Remove CONFIG_SMP_IDLETHREAD_STACKSIZE
Summary:
- The CONFIG_SMP_IDLETHREAD_STACKSIZE was introduced to optimize
  the idle stack size for other than CPU0
- However, there are no big differences between the idle stacks.
- This commit removes the config to simplify the kernel code

Impact:
- All SMP configurations

Testing:
- Tested with ostest with the following configs
- spresense:smp, spresense:rndis_smp
- esp32-devkitc:smp (QEMU), maix-bit:smp (QEMU)
- sabre-6quad:smp (QEMU), sabre-6quad:netnsh_smp (QEMU)
- raspberrypi-pico:smp, sim:smp (x86_64)

Signed-off-by: Masayuki Ishikawa <asayuki.Ishikawa@jp.sony.com>
2021-04-19 21:46:39 -05:00
Barry Xu
099980efb5 Support different hardware version of Wi-Fi add-on board (iS110B)
Signed-off-by: Barry Xu <barry.xu@sony.com>
2021-04-14 16:10:51 +09:00
Masayuki Ishikawa
0d1d42ec5f boards: spresense: Update defconfigs for rndis and rndis_smp
Summary:
- Update spresense:rndis_smp
  - Remove CONFIG_MAX_TASKS=16
  - Enable CONFIG_RTC_ALARM and CONFIG_RTC_HIRES
- Update spresense:rndis
  - Follow rndis_smp configuration except for SMP

Impact:
- spresense:rndis and spresense:rndis_smp

Testing:
- Tested with nxplayer

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2021-04-12 23:19:30 -05:00
Masayuki Ishikawa
9cce09e58a boards: Remove SCHED_INSTRUMENTATION from all SMP related configs
Summary:
- This commit removes SCHED_INSTRUMENTATION which has been used
  to debug NuttX SMP kernel

Impact:
- None

Testing:
- Tested with ostest

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2021-03-22 19:47:56 -07:00
Alin Jerpelea
40cd67eee6 boards: arm: Author Gregory Nutt: update licenses to Apache
Gregory Nutt has submitted the SGA and we can migrate the licenses
 to Apache.

Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2021-03-18 22:58:27 -07:00
Jiuzhu Dong
59eb4fa8d6 fs: delete NFILE_DESCRIPTORS for allocating dynamically
Change-Id: Id06d215063796d222b9792d25ab2d6742167729f
Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2021-03-17 06:46:42 -07:00
Masayuki Ishikawa
c3ace7a999 boards: spresense: Add CONFIG_ARCH_LEDS_CPU_ACTIVITY=y to rndis_smp and wifi_smp
Summary:
- This commit adds CONFIG_ARCH_LEDS_CPU_ACTIVITY=y to rndis_smp and wifi_smp

Impact:
- spresense:rndis_smp and spresense:wifi_smp configurations

Testing:
- Tested with smp and ostest

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2021-03-11 15:30:38 +01:00
Masayuki Ishikawa
d4d996cc28 boards: spresense: Add CONFIG_ARCH_LEDS_CPU_ACTIVITY to board.h and cxd56_leds.c
Summary:
- This commit adds CPU activity LEDs feature to spresense

Impact:
- CONFIG_ARCH_LEDS_CPU_ACTIVITY=y only

Testing:
- Arch specific code and defconfigs will be commited later

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2021-03-11 15:30:38 +01:00
Masayuki Ishikawa
06a81db203 boards: spresense: Update rndis_smp/defconfig
Summary:
- This commit updates rndis_smp/defconfig
- Adjust stack size to avoid hardfault
- Remove CONFIG_NET_TCP_WRITE_BUFFERS temporarily to avoid
  unstable behaviors with nxplayer + telnet

Impact:
- spresense:rndis_smp only

Testing:
- Tested with nxplayer, telnet

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2021-03-10 14:14:52 +08:00
Gustavo Henrique Nihei
330eff36d7 sourcefiles: Fix relative path in file header 2021-03-09 23:18:28 +08:00
Gustavo Henrique Nihei
47cb41c92f makefiles: Fix relative path in file header 2021-03-09 23:18:28 +08:00
Masayuki Ishikawa
a11764525d boards: spresense: Update rndis_smp/defconfig
Summary:
- This commit adds following parameters to rndis_smp/defconfig
- CONFIG_LIB_SENDFILE_BUFSIZE=1024
- CONFIG_MEMCPY_VIK=y
- CONFIG_MEMSET_64BIT=y
- CONFIG_MEMSET_OPTSPEED=y
- CONFIG_MQ_MAXMSGSIZE=64

Impact:
- rndis_smp only

Testing:
- Tested with nxplayer

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2021-03-07 19:51:12 -08:00
Xiang Xiao
9473434587 Ensure the kernel component don't call userspace API
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-03-01 09:23:09 +09:00
Masayuki Ishikawa
ad2e85433a boards, include, sched: Remove CONFIG_SPINLOCK_IRQ
Summary:
- This commit removes CONFIG_SPINLOCK_IRQ to avoid complexity

Impact:
- None

Testing:
- Tested with the following configs
- spresense:wifi, spresense:smp
- esp32-devkitc:smp (QEMU), sabre-6quad:smp (QEMU)
- maix-bit:smp (QEMU), sim:smp
- stm32f4discovery:wifi
2021-02-05 22:50:04 -08:00
Masayuki Ishikawa
8706db6f48 boards: spresene: Add iperf to rndis and rndis_smp defcofigs
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>
2021-01-31 21:43:54 -08:00
baggio63446333
0261e58a8b boards: cxd56xx: Add I2C bitbang driver registration
Add board API to register i2c bitbang driver as i2c device.
2021-01-26 13:59:30 -03:00
Alin Jerpelea
e76f0f3de9 arch: arm: cxd56xx: replace licenses with Apache 2.0
This change is a license change to Apache 2.0 license.

Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2021-01-25 04:34:41 -08:00
Xiang Xiao
0536953ded Kernel module should prefer functions with nx/kmm prefix
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-01-13 08:57:58 +01:00
Masayuki Ishikawa
96769b0722 boards: cxd56xx: Replace license header with Apache License 2.0
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>
2020-12-28 08:43:35 +01:00
chao.an
b88561299b make/expression: improving up asm/C/C++ compile times
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>
2020-11-02 07:53:53 -08:00
Xiang Xiao
cc869d891c boards/cxd56xx: Remove HOSTCC and HOSTCFLAGS from Make.defs
since all host toolchain definition is moved to the common place(tools/Config.mk)

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-11-02 09:11:37 +01:00
Alin Jerpelea
bc8ea75580 tools: cxd56: mkspk: automate mkspk build
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>
2020-10-28 12:50:02 +01:00
Masayuki Ishikawa
7be1739b41 boards: spresense: Add graphics demos to wifi and wifi_smp
Summary:
- This commit enables LCD for spresense and adds graphics demos

Impact:
- Affects wifi and wifi_smp configurations

Testing:
- Tested with nx, nxdemo, nxhello and nxlines

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2020-10-12 09:37:29 +02:00
Masayuki Ishikawa
b592228cea boards: spresense: Add CONFIG_ARCH_INTERRUPTSTACK=2048 to wifi and wifi_smp
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2020-10-12 09:37:29 +02:00
Masayuki Ishikawa
8d1dc11a36 boards: spresense: Add CONFIG_USERMAIN_STACKSIZE=3072 to wifi/defconfig
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>
2020-10-01 08:45:48 +02:00