Commit Graph

42934 Commits

Author SHA1 Message Date
zhouliang3 a4d8e35665 fs/littlefs: Add to get the full path
N/A

Signed-off-by: zhouliang3 <zhouliang3@xiaomi.com>
Change-Id: Ie7e51e0d57ae3c1cc3b165702025a2b58e534a34
2021-08-31 09:49:28 +08:00
chao.an 3a0885bafc net/udp: fix buffer release handling on failed buffer alloc
Attempt to release write buffer on failed UDP write I/O buffer
alloc and tryalloc failed to wrb->wb_iob assertion.

Change-Id: Ic77c148c55ded7871d179e321c57bba5ca8e4112
Signed-off-by: chao.an <anchao@xiaomi.com>
2021-08-30 21:50:57 +08:00
Xiang Xiao 4af9246ce1 openamp: Move the download to context target
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-08-30 02:09:43 +08:00
Xiang Xiao ab5d2adbca libxx: Change CXX_LIBSUPCXX to LIBSUPCXX
align with other Kconfig(e.g. LIBCXXABI, LIBCXX, UCLIBCXX)

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-08-29 21:32:01 +08:00
Xiang Xiao 3a7fcf743f board: Enable CONFIG_LIBCXXABI when CONFIG_LIBCXX is enabled
to avoid link libsupc++.a which is provided by toolchain

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-08-29 21:31:53 +08:00
Xiang Xiao 165c4fc5ef libxx: Disable CXX_EXCEPTION by default to save the code space
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: I1b1fafa95f0e385a615dba78f43858b797c5ce69
2021-08-29 21:31:46 +08:00
Xiang Xiao 39cafc1612 libcxx: Avoid the waring: "__EXCEPTIONS" is not defined, evaluates to 0 [-Werror=undef]
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: Ie91c28596f1504326e8dfbb4a79d276b712db5bc
2021-08-29 21:31:14 +08:00
Xiang Xiao b4f597bed4 libcxxabi: Avoid the waring: "__EXCEPTIONS" is not defined, evaluates to 0 [-Werror=undef]
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-08-29 21:30:16 +08:00
Abdelatif Guettouche 6af1bd5666 libs/libxx: Download C++ libraries during context.
Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2021-08-29 21:29:20 +08:00
Xiang Xiao 90a1d498b5 Remove the locale fallback from libcxx
since these functions can handled by NuttX's libc now

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: I7dc487688db9d656d35f828efaed5beefe3c48e7
2021-08-29 21:29:10 +08:00
SPRESENSE ed4fae3c93 libs/libxx/libcxx.defs: Fix build error on Windows platform
The libcxx-X.Y.Z.src.tar.xz contains a symbolic link to a directory
that not exist as below.

`libcxx-X.Y.Z.src/test/std/pstl -> ../../../pstl/test/std`

Linux and macOS environment have no problem, but it causes an error
when extracting tarball on Windows platform. This symbolic link is not
actually used, so exclude it from extracting the tarball.

Change-Id: Ib01c8bdca04794c3ca3761e940cf3ab8d6361262
2021-08-29 21:27:26 +08:00
zhuyanlin 8ac82559a7 arch:riscv: remove arch atomic, use libc atomic
It is more common for implement in libc/machine

Change-Id: I3da6c3db64adb78c05ddb26d3956817ac6ada93e
2021-08-29 16:10:03 +08:00
zhuyanlin 45e5d39fe0 libc:machine: add common atomic operation.
Add common atomic operation.

Change-Id: I9f6b891f1406d54871a3f50c217a1029b434d2e8
2021-08-29 16:09:56 +08:00
zhuyanlin 6d51f0c76a arch:xtensa: rename XCHAL_INT_NLEVELS
The name used in Tensilica support file core-isa.h for all vendors is
`XCHAL_NUM_INTLEVELS`.
Use a new name may be confused by newer porting xtensa arch.

Change-Id: Ie108d3fdfcc02c81f0eacfca852a1cfc9eea17de
2021-08-29 16:09:51 +08:00
chao.an 7af4143682 arch/arm/cortex-m: add up_backtrace support
add up_backtrace support based on push/branch instruction

Change-Id: I9bffecf55b4ad6127e421aa52a5a5bfb01aee0f6
Signed-off-by: chao.an <anchao@xiaomi.com>
2021-08-29 10:23:57 +08:00
chao.an 782a373b53 arch/arm/assert: enhance the assert dump
show the all tasks info including backtrace and registers

Change-Id: I394f9b2c7ccdd44009a912f6ae5638f6e2f835d1
Signed-off-by: chao.an <anchao@xiaomi.com>
2021-08-29 10:21:37 +08:00
zhuyanlin 46a93b5045 stddef: Let offset be defined from toolchain
Let `offset` could be defined from toolchain,
Which will be usefull for fixed code project.
2021-08-28 09:39:32 +08:00
zhuyanlin 9a2e9de4bc libxx: rename NUTTX_LIBCXX
NUTTX_LIBCXX is only basic C++ support, do not support many c++
library function, NUTTX_NOCXXLIB is more suitable.
When NUTTX_NOCXXLIB is select, do not select lower level support.

Change-Id: I158937a4ba02f8fa3c76101acbdfb295d8cd736f
2021-08-28 09:39:24 +08:00
zhuyanlin 6354a78791 libc:libcxx: add support for libcxxabi.
libcxxabi is either-or select with glibcxx.

Change-Id: I4fbea19f0648ddc318379dd43bac8406f7c86927
2021-08-28 09:39:13 +08:00
zhuyanlin a4abe4bd3e libc:libxx: add new low level c++ standard library support
LLVM libc++abi is a new implementation of low level support for
a standard C++ library.

Change-Id: Ica9c81bd96fd27b169a06e352b0c394d47aed5b6
2021-08-28 09:39:03 +08:00
zhuyanlin 32ea691d5f libs:cxx.defs: bypass -Wno-missing-exception-spec flag in xcc
Xtensa-toolchain do not recognize -Wno-missing-exception-spec flags
2021-08-28 09:38:55 +08:00
Xiang Xiao 8f976669a3 libc: Remove the legacy printf support
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-08-28 09:26:30 +08:00
Xiang Xiao 2659ab121f fs: Remove magic field from partition_info_s
since it is wrong and impossible to return file
system magic number from the block or mtd layer.

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-08-28 09:26:22 +08:00
Xiang Xiao a210e182dd arch/armv8-m: Add SAU support
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-08-28 09:26:10 +08:00
Jiuzhu Dong 7561882938 lib_vsprintf: Add %pV format support
test case:
void test(const char *fmt, ...)
{
  struct va_format vaf;
  va_list ap;

  va_start(ap, fmt);
  vaf.fmt = fmt;
  vaf.va = &ap;
  printf("func:%s, %pV, line:%d\n", __func__, &vaf, __LINE__);
  va_end(ap);
}

int main(int argc, FAR char *argv[])
{
  char str[] = "Hello Boy and Girl!";
  int count = 10;

  test("%s %d", str, count);
  return 0;
}

>> test
func:test, Hello Boy and Girl! 10, line:49

Change-Id: I6d97515dce3f10a880145a1ff7fcba5e9cbebd37
Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2021-08-27 11:08:48 +08:00
pengyiqiang b8f12c357f libc/misc: add lib_glob.
N/A

Change-Id: I1bace79c4c580e3a7e84aaf37e7963f789a896ef
Signed-off-by: pengyiqiang <pengyiqiang@xiaomi.com>
2021-08-26 16:57:07 +08:00
ligd e751451f36 sched/wdog: move SMP enter_critical_section to sched_timerexpiration.c
Change-Id: Id654e6d2151e3b807ed2df4ab8169b90ab07b015
Signed-off-by: ligd <liguiding1@xiaomi.com>
2021-08-26 14:38:35 +08:00
ligd a11c1d8246 sched/wdog: fix switch_context caused error in wd_start()
Thead A:                     Thread B:
wd_start(wdogX)
wd_cancel
nxsched_cancel_timer  -->    wd_start(wdogX)
                             wd_cancel
                             add wdogX to g_wdactivelist
                      <--
add wdogX to g_wdactivelist

then, you will find wdogX add twice.

Change-Id: Icbf3b2badff20908e115c9134e2400cdcb32b1e0
Signed-off-by: ligd <liguiding1@xiaomi.com>
(cherry picked from commit 3493c0cddb8db7154724a88c7c7786815675c561)
2021-08-26 14:38:35 +08:00
Alan C. Assis 4294354c9a Fix xtensa_btdump() to look at the exception frame
Remove xtensa_backtrace_start() since it is not used anymore
2021-08-26 12:19:50 +08:00
丁欣童 07283dffc3 net/local: Return the partial write size
N/A

Fix up that local socket will be endless loop when write data size more
than the fifo size.

Signed-off-by: 丁欣童 <dingxintong@xiaomi.com>
Change-Id: I69d63b7b156f0714333e7103bb266b7fcb1adf03
2021-08-26 10:20:13 +08:00
丁欣童 5738f26938 vfs: writev should return the partial write size
Signed-off-by: 丁欣童 <dingxintong@xiaomi.com>
Change-Id: Id7f161fa51a9ad66dad265cab125deb3323e6602
2021-08-26 10:19:56 +08:00
YAMAMOTO Takashi 95db8bb14f tcp_send_buffered.c: Fix snd_wnd
snd_wnd is an offset from the acked sequence number.
2021-08-25 21:15:14 +08:00
YAMAMOTO Takashi 3f15cd59e8 tcp_input: snd_wnd processing
* Do not accept the window in old segments.
  Implement SND.WL1/WL2 things in the RFC.

* Do not accept the window in the segment w/o ACK bit set.
  The window is an offset from the ack seq.
  (maybe it's simpler to just drop segments w/o ACK though)

* Subtract snd_wnd by the amount of the ack advancement.
2021-08-25 21:15:14 +08:00
chao.an 7c4521c8f2 arch/armv7: add up_backtrace support based on frame pointer
This feature depends on frame pointer, "-fno-omit-frame-pointer" is mandatory

This feature can not be used in THUMB2 mode if you are using GCC toolchain,
More details please refer:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92172

Change-Id: Ic34a6a378b6f01937abf993f2709d5c3279953ea
Signed-off-by: chao.an <anchao@xiaomi.com>
2021-08-25 21:01:09 +08:00
yangjiukui c5488010c2 fix: sensor: fix the bug that lsm6dsl selftest is invalid in nuttx.
N/A

according to the ST manual, the logic part of
selftest that is meaningless is modified.

Change-Id: Ie7218b502236a0c27136f8ec80ed8ac482c4285f
Signed-off-by: yangjiukui <yangjiukui@xiaomi.com>
2021-08-25 20:46:33 +08:00
zhuyanlin 2431b8e5b7 build.sh: support clang build
N/A

Change-Id: Ibaad1991e99cca8f6ffc7e4cf6357df36ea85eb9
2021-08-25 20:40:42 +08:00
pengyiqiang 01cbfec897 libc/string: fix lib_strchrnul warning.
N/A

Change-Id: I4661a42923b7e2f59155c734cba2131bddb94211
Signed-off-by: pengyiqiang <pengyiqiang@xiaomi.com>
2021-08-25 15:08:37 +08:00
zhuyanlin 0fc8d68ef0 sim:Make.defs: remove -fsanitize=undefined flag tempily
Change-Id: Id38458a3e777a9da846e8e488038a55d27aa8e1e
2021-08-24 21:49:16 +08:00
yangjiukui cc07094c69 fix: sensor: fix lsm6dso get a null pointer in non-fifo mode.
CHAMPION-63

get the parent pointer in front of the batch.

Change-Id: Ie309c6df942ecd3ae0f87966fe68053fe4fe4520
Signed-off-by: yangjiukui <yangjiukui@xiaomi.com>
2021-08-24 17:13:19 +08:00
Jiuzhu Dong 2862e57495 debug: allow customize EXTRA_FMT
Change-Id: I8c74871fa841584f31ba4873d0adf639e49eafd9
Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2021-08-24 12:26:19 +08:00
chao.an e48a4edff4 arch/riscv/assert: enhance the assert dump
enhance the assert dump to show the all tasks info including backtrace and registers

[    7.617000] [ EMERG] up_assert: Assertion failed at file:rv32im/riscv_exception.c line: 94 task: init
[    7.617000] [ EMERG] riscv_dumpstate: Call Trace:
[    7.617000] [  INFO] [BackTrace| 3|0]:  0x4202001e 0x42007cb4 0x42005782 0x42000fe2 0x403801e2 0x403800e2 0x4200bdd0 0x42009894
[    7.617000] [  INFO] [BackTrace| 3|1]:  0x4200a62e 0x42008e8a 0x4200841e 0x42008320 0x42005ad0 0x42001a56
[    7.617000] [ EMERG] riscv_registerdump: EPC:4200bdd0
[    7.617000] [ EMERG] riscv_registerdump: A0:ffffffff A1:00000010 A2:3fc9a95c A3:00000031 A4:00000009 A5:00000002 A6:00000001 A7:00000074
...
...
[    7.617000] [ EMERG] riscv_showtasks: Tasks status:
[    7.617000] [ EMERG] riscv_taskdump: Idle Task: PID=0
[    7.617000] [ EMERG] riscv_taskdump: Stack Used=596 of 976
[    7.617000] [  INFO] [BackTrace| 0|0]:  0x4200787e 0x3fc94ff0
[    7.617000] [ EMERG] riscv_registerdump: EPC:4200787e
[    7.617000] [ EMERG] riscv_registerdump: A0:00000032 A1:3c1008fa A2:3fc94fa8 A3:00000000 A4:00000101 A5:00000032 A6:00000001 A7:00000074
...
[    7.617000] [ EMERG] riscv_taskdump:
[    7.617000] [ EMERG] riscv_taskdump: hpwork: PID=1
[    7.617000] [ EMERG] riscv_taskdump: Stack Used=292 of 2016
[    7.617000] [  INFO] [BackTrace| 1|0]:  0x420082a6 0x4200328c 0x42001ab4 0x42001a42
[    7.617000] [ EMERG] riscv_registerdump: EPC:420082a6
[    7.617000] [ EMERG] riscv_registerdump: A0:00000002 A1:3fc98718 A2:3fc8307c A3:00000002 A4:00000000 A5:00000000 A6:00000000 A7:00000000
...

Change-Id: I284d9621fffd12e774d31133ba0277ba8abf8778
Signed-off-by: chao.an <anchao@xiaomi.com>
2021-08-23 12:08:43 +08:00
chao.an 2e15ea9d9f riscv/backtrace: add up_backtrace support
Change-Id: Id3e9014b3b9e07fbed20887f08032f87adb356a6
Signed-off-by: chao.an <anchao@xiaomi.com>
2021-08-23 12:08:43 +08:00
chao.an 93bd61a0e8 nuttx/up_backtrace: add up_backtrace interface
Change-Id: Ic056d679ae68a579b94a75dd05abbe390f7c7a4f
Signed-off-by: chao.an <anchao@xiaomi.com>
2021-08-23 12:08:43 +08:00
chao.an 19432f62ab sched/backtrace: simplify the assign of tcb in case of negative pid
Change-Id: I447a905f105131d1e3527800a8686d516af2affc
Signed-off-by: chao.an <anchao@xiaomi.com>
2021-08-23 12:08:43 +08:00
Xiang Xiao 2d1f4219d5 tools: Add checkstack.pl from linux kernel scripts folder
you can get the stack usage by:
objdump -d nuttx | tools/checkstack.pl [arch] [minstack]

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: I27c60ec4f1a7c34fcff3f3012e4440e4fc48bb82
2021-08-23 00:50:43 +08:00
Jiuzhu Dong ebcc2550d1 inode_getpath: correct get path whether path buffer is clean or not.
Change-Id: I21989a257e07e22c24a9cf92c7e42685fde80936
Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2021-08-20 22:14:46 +08:00
Jiuzhu Dong b3cb28a9ae fs: support exfat filesystem
VELAPLATFO-15

Change-Id: I222cc45cec45018db26f7e0d1551d6e84285b739
Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2021-08-20 22:14:46 +08:00
xiaoxiang 0371a4df22 Revert "sim: add popen and pclose to nuttx-name.in"
This reverts commit 6eb29f9715.

Reason for revert: don't need

Change-Id: If600953ae9b2de006e1ce319c68343f1c21facf9
2021-08-20 22:06:37 +08:00
chao.an 7c9d73e862 net/local: correct the nonblock send return value
Change-Id: I77b561d748ebb603e275d2fb38c0638093bb1214
Signed-off-by: chao.an <anchao@xiaomi.com>
2021-08-20 21:40:25 +08:00
pengyiqiang 57e4394dbd libc/string: add lib_strchrnul.
N/A

Change-Id: I25e2424e91b833815680d2e417f4384ed9062660
Signed-off-by: pengyiqiang <pengyiqiang@xiaomi.com>
2021-08-20 16:41:52 +08:00