Commit Graph

1718 Commits

Author SHA1 Message Date
Stuart Ianna
160e1a965d mkexport: Allow boards to supply custom gnu-elf.ld.
Allows boards to supply their own gnu-elf linker script, used when building Nuttx applications and CONFIG_BUILD_KERNEL.

This is useful when building fully-linked applications (see #9395).
2023-06-28 08:46:10 +08:00
SPRESENSE
31a2c22112 tools: Add script to parse callstack
Add 'callstack.py' script for parsing stack dump log to callstack.
2023-06-27 10:10:12 -03:00
chao an
df6d799577 tools/ci: Update GNU Arm Embedded Toolchain to Version 12.2-2022.12.22
x86_64 Linux hosted cross toolchains
AArch32 bare-metal target (arm-none-eabi)

arm-gnu-toolchain-12.2.rel1-x86_64-arm-none-eabi.tar.xz

Remove toolchain workaround which already fixed by ARM:
https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads
https://community.arm.com/support-forums/f/compilers-and-libraries-forum/53470/arm-gnu-toolchain-11-3-rel1-x86_64-arm-none-eabi-wrong-newlib-version-strings-error-when-stdlib-h-is-included

Signed-off-by: chao an <anchao@xiaomi.com>
2023-06-26 20:03:38 +08:00
anjiahao
adc5c8b5ac Debug:support python script auto debug nuttx kernel
This patch add an example and pyhton base modules:
1.add memdump.py is an example to analyze memory
usage by python script.
2.add The most basic data structure analysis, like list, etc.

future ideas:
Maybe we can add modules related to "sched, drivers, arch, fs.." to
automatically analyze scripts to debug some problems

References:
linux kernel (https://github.com/torvalds/linux/tree/master/scripts/gdb)
The official manual of gdb (https://sourceware.org/gdb/onlinedocs/gdb/Python-API.html)

Change-Id: Ib9025a0a141cb89f3813526f7c55dcb28de31ed9
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2023-06-25 18:17:30 +08:00
Lucas Saavedra Vaz
bc4266fa48 tools: Fix CONFIG_BASE_DEFCONFIG generation
Modify sed command to avoid appending multiple "-dirty" at the end of the configuration name
2023-06-19 23:07:42 +08:00
zhangyuan21
514e77b75e semaphore: Optimize priority inheritance with only one holder
This PR is a modification that optimizes priority inheritance
for only one holder. After the above modifications are completed,
the mutex lock->unlock process that supports priority inheritance
can be optimized by 200 cycles.

Before modify: 2000 cycle
After modify: 1742 cycle

Signed-off-by: zhangyuan21 <zhangyuan21@xiaomi.com>
2023-06-17 08:26:46 +03:00
Huang Qi
4c9e11d559 tools: Support string upper/lower case in make
Implement UPPER_CASE/LOWER_CASE function in pure make, usage:
```
UPPER = $(call UPPER_CASE,$(xxx))
```

Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2023-06-02 11:12:12 -03:00
Lucas Saavedra Vaz
6a220a08ba tools: Add way to get current defconfig name on runtime
This commit aims to provide a way to get the current applied defconfig on runtime by providing CONFIG_BASE_DEFCONFIG that is updated when the configure and build scripts are run.
2023-06-02 09:17:58 -03:00
chao an
fb9b41221d semantic/parser: fix compile warning found by sparse
Reference:
https://linux.die.net/man/1/sparse

Signed-off-by: chao an <anchao@xiaomi.com>
2023-05-30 23:00:00 +08:00
chao an
6fdb8b8a66 tools/coredump: add coredump python parser
Signed-off-by: chao an <anchao@xiaomi.com>
2023-05-25 20:42:04 +08:00
yinshengkai
416cd2da35 tools/mkallsyms: add exception handle
Signed-off-by: yinshengkai <yinshengkai@xiaomi.com>
2023-05-19 20:22:55 +08:00
Liyu Wang
d7d6fa4d82 Fix windows compile errors because of double quotes in config
The "CONFIG_APPS_DIR" generated in .config has double quotes and is not recognized as a path by most make systems. This commits removes these double quotes to make the compile successfully.
2023-05-17 11:56:29 -03:00
chao an
26361ee1d2 tools/nuttx-gdbinit/armv7-a: add fpu support
The offset of the relevant registers in xcp will change after
enabling the FPU, this PR will add fpu offset correct the register offset

Signed-off-by: chao an <anchao@xiaomi.com>
2023-05-16 21:40:43 +08:00
chao an
50cf3d8577 tools/nxstyle: add "_NSGetExecutablePath" into ignore list
sim/posix/sim_hostmisc.c:128:6: error: Mixed case identifier found

Signed-off-by: chao an <anchao@xiaomi.com>
2023-05-16 17:05:42 +08:00
Alan Carvalho de Assis
d3b6bbe4fd tools/refresh.sh: Add option to refresh all archs or all chips
Currently when we modify some Kconfig related to some chip or
some architecture we need to run refresh.sh to all boards that
is too slow (more than one hour to finish).

This patch modify the script to update only the boards configs
of an specific chip or only the boards of an specific architecture.

Examples:

$ ./tools/refresh.sh --silent --defaults arch:renesas
  Normalize us7032evb1/ostest
  Normalize us7032evb1/nsh
  Normalize skp16c26/ostest
  Normalize rx65n-rsk2mb/netnsh
  Normalize rx65n-rsk2mb/ipv6
  Normalize rx65n-rsk2mb/nsh
  Normalize rx65n-rsk1mb/netnsh
  Normalize rx65n-rsk1mb/nsh
  Normalize rx65n-grrose/netnsh
  Normalize rx65n-grrose/ipv6
  Normalize rx65n-grrose/nsh
  Normalize rx65n/nsh

It updates the boards from all 'renesas' architecture (m9c, rx65n, sh1)

$ ./tools/refresh.sh --silent --defaults chip:rx65n
  Normalize rx65n-rsk2mb/netnsh
  Normalize rx65n-rsk2mb/ipv6
  Normalize rx65n-rsk2mb/nsh
  Normalize rx65n-rsk1mb/netnsh
  Normalize rx65n-rsk1mb/nsh
  Normalize rx65n-grrose/netnsh
  Normalize rx65n-grrose/ipv6
  Normalize rx65n-grrose/nsh
  Normalize rx65n/nsh

It updates all the boards from renesas chip 'rx65n' family
2023-05-15 10:44:44 +08:00
chao an
a3ddd4d27a tools/Unix: treat kconfig warning as failure
The syntax check of kconfiglib is stricter than kconfig-frontends,
but the warnings of kconfiglib are not catched by Makefile. Since kconfiglib
is implemented by python, the return value of the shell is always zero($?),
In this PR, I redirected the relevant standard errors to the file to check
whether the kconfig warning is occurred

Signed-off-by: chao an <anchao@xiaomi.com>
2023-05-08 21:36:45 +03:00
chao an
95ca613e98 tools/nuttx-gdbinit/armv7-a: reorder and synchronization registers of save/restore
The order of the registers was changed by the following commit:

---------------------------------
| armv7-a/r: modify regs index to improve exception performance
|
| Signed-off-by: zhangyuan21 <zhangyuan21@xiaomi.com>

Signed-off-by: chao an <anchao@xiaomi.com>
2023-05-09 01:01:53 +08:00
chao an
af559a8311 tools/nuttx-gdbinit: improve experience of gdb backend scripts
Redefine built-in command (info thread/thread/c) to compatible with developer habits

Test board:
./tools/configure.sh -E lm3s6965-ek:qemu-flat

1. start qemu:
qemu-system-arm   -M lm3s6965evb   -device loader,file=nuttx   -serial mon:stdio   -nographic  -s

2. gdb attach:
gdb-multiarch -ix tools/nuttx-gdbinit nuttx -ex "target extended-remote localhost:1234"

3. show thread info and callstack:

| (gdb) info thread
| * 0 Thread 0x20001548  (Name: Idle Task, State: Running, Priority: 0, Stack: 1000) PC: 0x9eee in up_idle()
|   1 Thread 0x20005058  (Name: hpwork, State: Waiting,Semaphore, Priority: 224, Stack: 1992) PC: 0xa124 in up_switch_context()
|   2 Thread 0x20005c20  (Name: nsh_main, State: Waiting,Semaphore, Priority: 100, Stack: 2000) PC: 0xa124 in up_switch_context()
|   3 Thread 0x20006b30  (Name: NTP daemon, State: Waiting,Semaphore, Priority: 100, Stack: 1952) PC: 0xa124 in up_switch_context()
|   4 Thread 0x200086f0  (Name: telnetd, State: Waiting,Semaphore, Priority: 100, Stack: 2008) PC: 0xa124 in up_switch_context()
| (gdb) bt
| #0  0x00009eee in up_idle () at chip/common/tiva_idle.c:62
| #1  0x00003dd2 in nx_start () at init/nx_start.c:698
| #2  0x00000190 in __start () at chip/common/lmxx_tm4c_start.c:177
| (gdb) thread 4
|   4 Thread 0x200086f0  (Name: telnetd, State: Waiting,Semaphore, Priority: 100, Stack: 2008) PC: 0xa124 in up_switch_context()
| (gdb) bt
| #0  up_switch_context (tcb=0x20001548 <g_idletcb>, rtcb=rtcb@entry=0x200086f0) at common/arm_switchcontext.c:95
| #1  0x0000453a in nxsem_wait (sem=sem@entry=0x2000916c) at semaphore/sem_wait.c:176
| #2  0x0000197e in _net_timedwait (sem=sem@entry=0x2000916c, interruptible=interruptible@entry=true, timeout=timeout@entry=4294967295) at utils/net_lock.c:101
| #3  0x0000198e in net_sem_timedwait (sem=sem@entry=0x2000916c, timeout=timeout@entry=4294967295) at utils/net_lock.c:242
| #4  0x00001996 in net_sem_wait (sem=sem@entry=0x2000916c) at utils/net_lock.c:330
| #5  0x00025f84 in psock_tcp_accept (psock=<optimized out>, addr=<optimized out>, addrlen=<optimized out>, newconn=newconn@entry=0x2000956c) at tcp/tcp_accept.c:274
| #6  0x00025432 in inet_accept (psock=<optimized out>, addr=<optimized out>, addrlen=<optimized out>, newsock=0x20009568, flags=0) at inet/inet_sockif.c:1443
| #7  0x00027a10 in psock_accept (psock=0x200044b8, addr=addr@entry=0x2000921c, addrlen=addrlen@entry=0x2000920c, newsock=newsock@entry=0x20009568, flags=flags@entry=0) at socket/accept.c:149
| #8  0x00027a8c in accept4 (sockfd=sockfd@entry=3, addr=addr@entry=0x2000921c, addrlen=addrlen@entry=0x2000920c, flags=flags@entry=0) at socket/accept.c:280
| #9  0x0002a256 in accept (sockfd=sockfd@entry=3, addr=addr@entry=0x2000921c, addrlen=addrlen@entry=0x2000920c) at net/lib_accept.c:50
| #10 0x0001efaa in telnetd_daemon (config=config@entry=0x20009290) at telnetd_daemon.c:200
| #11 0x0001e508 in telnetd_main (argc=1, argv=0x20008af8) at telnetd.c:98
| #12 0x00008486 in nxtask_startup (entrypt=0x1e4bd <telnetd_main>, entrypt@entry=0x1 <up_putc>, argc=1, argv=0x20008af8) at sched/task_startup.c:70
| #13 0x000056d2 in nxtask_start () at task/task_start.c:134
| #14 0x00000000 in ?? ()
| (gdb) c

Signed-off-by: chao an <anchao@xiaomi.com>
2023-05-07 14:49:13 +08:00
chao an
0460165f9a tools/nuttx-gdbinit: remove unsafed function call from script
Some time nuttx will receive SIGSEGV while executing the function:

| Thread 1 "nuttx" received signal SIGSEGV, Segmentation fault.
| 0xf7bab4a0 in __sanitizer::common_flags_dont_use () from /lib/i386-linux-gnu/libasan.so.6
| The program being debugged was signaled while in a function called from GDB.
| GDB has restored the context to what it was before the call.
| Evaluation of the expression containing the function
| (up_check_tcbstack) will be abandoned.

Signed-off-by: chao an <anchao@xiaomi.com>
2023-05-07 14:49:13 +08:00
chao an
0da1599e9e tools/nuttx-gdbinit: correct xcp context size
Signed-off-by: chao an <anchao@xiaomi.com>
2023-05-07 14:49:13 +08:00
liuhaitao
db84cd2e59 tools: add git pre-commit hook based on checkpatch.sh
tools/pre-commit should be copied to .git/hooks/pre-commit to take
effect.

Signed-off-by: liuhaitao <liuhaitao@xiaomi.com>
2023-05-03 14:42:34 +02:00
yanghuatao
e9dfa0094f libm/libmcs: add math library libmcs support
add math library libmcs support
(1)open menuconfig  (2)close math.h:build setup->Customize Header Files->math.h (3) select libmcs:Library Rountines->Select math library->Math Library fram LibmCS (4)build

Signed-off-by: yanghuatao <yanghuatao@xiaomi.com>
2023-04-29 13:47:28 +08:00
chao an
c87da0d115 tools/nxstyle: add white files list to allow assembly headers to pass ci checks
Signed-off-by: chao an <anchao@xiaomi.com>
2023-04-28 09:51:52 +08:00
zouboan
64b948cfde tools/Win.mk: fix error: can't open file .\NuttX\nuttx /arch/dummy/Kconfig in Windows native build 2023-04-27 00:32:15 +08:00
yanghuatao
6d5f8caf53 libm/openlibm: add math library openlibm support.
add math library openlibm support
(1)open menuconfig  (2)close math.h:build setup->Customize Header Files->math.h (3) select openlibm:Library Rountines->Select math library->Math Library fram openlibm (4)build

Signed-off-by: yanghuatao <yanghuatao@xiaomi.com>
2023-04-25 20:37:00 +08:00
yanghuatao
826dd87f30 libm/newlib: add newlib/libm support
Signed-off-by: yanghuatao <yanghuatao@xiaomi.com>
2023-04-24 10:32:53 +08:00
Huang Qi
b21f68d751 tools/mksymtab: Fix a compilation warning
Fix:
```
mksymtab.c: In function ‘main’:
mksymtab.c:280:15: warning: the comparison will always evaluate as ‘true’ for the address of ‘g_parm’ will never be NULL [-Waddress]
  280 |       cond = (g_parm[COND_INDEX] && strlen(g_parm[COND_INDEX]) > 0);
```

Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2023-04-23 12:22:19 +08:00
David Sidrane
b5913af01b tools:Add STM32 Pin migration tool
tools/stm32_pinmap_tool: Generate legacy file

stm32_pinmap_tool:Handel #undef
2023-04-19 09:58:11 +02:00
Fotis Panagiotopoulos
098b7bbfb3 Fixes in asprintf usage. 2023-04-19 02:48:39 +08:00
Fotis Panagiotopoulos
1530e04f20 ostest: Enabled KASAN, UBSAN & assertions. 2023-04-19 02:44:48 +08:00
chao an
41f1044fa0 ci/cibuild.sh: upgrade esptool to 4.5.1
Signed-off-by: chao an <anchao@xiaomi.com>
2023-04-12 23:14:45 +03:00
chao an
743d13c2b0 tools/nxstyle: skip mixed case check for particular headers
Add header keywords into whitelist, skip the warning if the
particular headers will contain the functions with mixed case

Signed-off-by: chao an <anchao@xiaomi.com>
2023-04-11 11:12:32 +03:00
Huang Qi
7f27129896 tools: Move Rust relative settings to Rust.defs
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2023-04-01 16:45:11 +03:00
Huang Qi
2650fa9509 tools/Zig: Simplify compile flags handling
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2023-03-31 16:55:15 -03:00
Huang Qi
536739d2da tools: Export LLVM style arch info for non-c language
Current Toolchain.defs set the compile flags directly, it's OK for
target specified gcc toolchain.

But some LLVM based toolchains (Rust/Zig etc) use single toolchain to handle all supported paltform.

In this patch, arch level Toolchain.defs export standard LLVM style arch flags, and let <Lang>.defs to map them into internal style,

This will simplify the intergration of non-c language.

Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2023-03-29 09:26:38 -03:00
Lucas Saavedra Vaz
1b87c86619 boards: Update and fix configs for ESP boards 2023-03-25 12:23:35 +02:00
Stuart Ianna
6a357797cd tools/export: Add LDELFFLAGS to mkexport.sh.
Some targets, such as qemu-rv support multiple architectures. The required flags need to passed to the linker when built "out-of-tree" in the application directory.
2023-03-24 15:02:59 -03:00
Petro Karashchenko
f84f30fe17 tools/ci: upgrade to the latest Xtensa ESP32 toolchains
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2023-03-21 21:59:30 -03:00
Gustavo Henrique Nihei
81499fcdf2 risc-v/espressif: Add support for ESP32-H2
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2023-03-14 23:55:35 +01:00
Gustavo Henrique Nihei
17f7f6e86d risc-v: Add Espressif chip family support on top of esp-hal-3rdparty
Initially supporting ESP32-C3 chip, to be followed by other RISC-V-based
chips from Espressif.

Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2023-03-14 23:55:35 +01:00
yinshengkai
e1c9b5def0 tools/parsetrace: fix context swtich parsing error
Signed-off-by: yinshengkai <yinshengkai@xiaomi.com>
2023-03-13 22:23:35 +02:00
Karel Kočí
62661600b2 treewide: add DOWNLOAD variable as unification of curl call
This is a followup to the commit
03b164f59c.
2023-03-08 17:05:05 +08:00
raiden00pl
c4c2b14623 tools/nxstyle: add 'IRQn_Type' to whitelists 2023-03-05 17:56:37 +02:00
chao an
a7de849944 tools/ci: setup wasi-sdk/wamrc into cibuild
wasi-sdk:
https://github.com/WebAssembly/wasi-sdk
wamrc:
https://github.com/bytecodealliance/wasm-micro-runtime

Signed-off-by: chao an <anchao@xiaomi.com>
2023-03-04 01:40:25 +08:00
zhangyuan21
83bbb54558 tools/ci: Don't build simusb on macOS
Signed-off-by: zhangyuan21 <zhangyuan21@xiaomi.com>
2023-03-03 14:31:30 -03:00
zhangyuan21
0af63cfc48 sim/usb: add sim usb host
signed-off-by: zhangyuan21 <zhangyuan21@xiaomi.com>
2023-03-03 14:31:30 -03:00
zhangyuan21
c61c694a77 sim/usb: add sim usb device
Signed-off-by: zhangyuan21 <zhangyuan21@xiaomi.com>
2023-03-03 14:31:30 -03:00
chao an
b01b93cb54 sim/wamr: add example of WAMR(WebAssembly Micro Runtime)
Added compilation rules to support the construction of WebAssembly(WASM/WAMR):

1. Compile Toolchain
 1> Download WASI sdk and export the WASI_SDK_PATH path:

$ wget https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-19/wasi-sdk-19.0-linux.tar.gz
$ tar xf wasi-sdk-19.0-linux.tar.gz
Put wasi-sdk-19.0 to your host WASI_SDK_PATH environment variable, like:
$ export WASI_SDK_PATH=`pwd`/wasi-sdk-19.0

 2> Download Wamr "wamrc" AOT compiler and export to the PATH:
$ mkdir wamrc
$ wget https://github.com/bytecodealliance/wasm-micro-runtime/releases/download/WAMR-1.1.2/wamrc-1.1.2-x86_64-ubuntu-20.04.tar.gz
$ tar xf wamrc-1.1.2-x86_64-ubuntu-20.04.tar.gz
$ export PATH=$PATH:$PWD

2. Configuring and running

 1> Configuring sim/wamr and compile:

nuttx$ ./tools/configure.sh  sim/wamr
nuttx$ make
...
Wamrc Generate AoT: /home/archer/code/nuttx/n5/apps/wasm/hello.aot
Wamrc Generate AoT: /home/archer/code/nuttx/n5/apps/wasm/coremark.aot
LD:  nuttx

 2> Copy the generated wasm file(Interpreter/AoT)

nuttx$ cp ../apps/wasm/hello.aot .
nuttx$ cp ../apps/wasm/hello.wasm .
nuttx$ cp ../apps/wasm/coremark.wasm .

 3> Run iwasm

nuttx$ ./nuttx
NuttShell (NSH) NuttX-10.4.0
nsh> iwasm /data/hello.wasm
Hello, World!!
nsh> iwasm /data/hello.aot
Hello, World!!
nsh> iwasm /data/coremark.wasm
2K performance run parameters for coremark.
CoreMark Size    : 666
Total ticks      : 12000
Total time (secs): 12.000000
Iterations/Sec   : 5.000000
Iterations       : 60
Compiler version : Clang 15.0.7
Compiler flags   : Using NuttX compilation options
Memory location  : Defined by the NuttX configuration
seedcrc          : 0xe9f5
[0]crclist       : 0xe714
[0]crcmatrix     : 0x1fd7
[0]crcstate      : 0x8e3a
[0]crcfinal      : 0xa14c
Correct operation validated. See README.md for run and reporting rules.
CoreMark 1.0 : 5.000000 / Clang 15.0.7 Using NuttX compilation options / Defined by the NuttX configuration

Signed-off-by: chao an <anchao@xiaomi.com>
2023-03-02 09:56:35 +01:00
SPRESENSE
a3cce487ca tools/Unix.mk: Add VERSION_ARG to argument of version.sh
Allow version arguments to be changed externally.
2023-03-01 13:32:01 +08:00
SPRESENSE
d71562c794 tools/cxd56: Fix nxstyle 2023-03-01 12:26:32 +08:00
SPRESENSE
fc1c8a4d74 tools/cxd56: Fix typo in mkspk tool
Fix typo in mkspk tool.
2023-03-01 12:26:32 +08:00
Xiang Xiao
2c5f653bfd Remove the tail spaces from all files except Documentation
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-02-26 13:24:24 -08:00
zhangyuan21
3c162b1e14 tools/ci: add libusb1.0 package
Signed-off-by: zhangyuan21 <zhangyuan21@xiaomi.com>
2023-02-26 22:39:57 +08:00
Takeyoshi Kikuchi
b901837f52 tools: nxstyle: add "NimMain" to whitelists.
Signed-off-by: Takeyoshi Kikuchi <kikuchi@centurysys.co.jp>
2023-02-26 19:11:53 +08:00
Xiang Xiao
0f20888a0e tools/parsememdump.py: Restore the execution permission bit
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-02-25 12:21:13 -03:00
Xiang Xiao
8b4ecac6c2 libc: Move math library from libs/libc/math to libs/libm/libm
to prepare the support of other implementation e.g.:
https://github.com/JuliaMath/openlibm
https://gitlab.com/gtd-gmbh/libmcs

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-02-23 10:40:07 +02:00
yinshengkai
6b10d8ed19 tools: make the symbol table generated by mkallsyms.py two-byte aligned
When using stm32, the starting address of the function parsed by mkallsyms.py is an odd number, one large than the actual address

Signed-off-by: yinshengkai <yinshengkai@xiaomi.com>
2023-02-23 00:57:32 +08:00
chao an
b8ef55d201 Revert "tools/ci: Update GNU Arm Embedded Toolchain to Version 12.2-2022.12.22"
This reverts commit 809252e3fd.

Wrong warning array subscript [0] is outside array bounds:

|  chip/lpc43_usb0dev.c: In function 'lpc43_getframe':
|  arch/arm/src/common/arm_internal.h:134:25: warning: array subscript 0 is outside array bounds of 'volatile uint32_t[0]' {aka 'volatile long unsigned int[]'} [-Warray-bounds]
|    134 | #define getreg32(a)    (*(volatile uint32_t *)(a))
|        |                        ~^~~~~~~~~~~~~~~~~~~~~~~~~~
|  chip/lpc43_usb0dev.c:347:33: note: in expansion of macro 'getreg32'
|    347 | # define lpc43_getreg(addr)     getreg32(addr)
|        |                                 ^~~~~~~~
|  chip/lpc43_usb0dev.c:2605:15: note: in expansion of macro 'lpc43_getreg'
|   2605 |   return (int)lpc43_getreg(LPC43_USBDEV_FRINDEX_OFFSET);
|        |

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

Signed-off-by: chao an <anchao@xiaomi.com>
2023-02-20 20:05:13 +08:00
chao an
809252e3fd tools/ci: Update GNU Arm Embedded Toolchain to Version 12.2-2022.12.22
x86_64 Linux hosted cross toolchains
AArch32 bare-metal target (arm-none-eabi)

arm-gnu-toolchain-12.2.rel1-x86_64-arm-none-eabi.tar.xz

Remove toolchain workaround which already fixed by ARM:
https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads
https://community.arm.com/support-forums/f/compilers-and-libraries-forum/53470/arm-gnu-toolchain-11-3-rel1-x86_64-arm-none-eabi-wrong-newlib-version-strings-error-when-stdlib-h-is-included

Signed-off-by: chao an <anchao@xiaomi.com>
2023-02-20 16:20:39 +08:00
chao an
f0825c2402 tools/unix: use anonymous pipes to avoid menuconfig break
Signed-off-by: chao an <anchao@xiaomi.com>
2023-02-20 13:31:02 +08:00
Tomasz 'CeDeROM' CEDRO
833f7a5a3e Updated python scripts interpreter invocation in tools/.
* Using call to portable `#!/usr/bin/env python3` syntax.
* Updated python interpreter call in `tools/ci/testrun` (please verify).

Signed-off-by: Tomasz 'CeDeROM' CEDRO <tomek@cedro.info>
2023-02-19 14:15:27 +08:00
wangbowen6
0f5b66c335 nxstyle: add "CMUnitTest" to nxstyle white list
https://github.com/apache/nuttx-apps/pull/1575 need this

Signed-off-by: wangbowen6 <wangbowen6@xiaomi.com>
2023-02-17 22:57:58 +08:00
chao an
fff0e58860 tools/kconfiglib: purge warning print of kconfiglib
Purge warning:
Kconfig:249: warning: the 'modules' option is not supported.
Let me know if this is a problem for you, as it wouldn't be that
hard to implement. Note that modules are supported -- Kconfiglib
just assumes the symbol name MODULES, like older versions of the
C implementation did when 'option modules' wasn't used.

Signed-off-by: chao an <anchao@xiaomi.com>
2023-02-17 16:01:52 +08:00
Xiang Xiao
e334786f81 tools/Unix.mk: Make sed compatible with macOS
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Co-authored-by: chao an <anchao@xiaomi.com>
2023-02-17 16:01:52 +08:00
Xiang Xiao
d5b510e023 tools/ci: Install genromfs instead building it from source code
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-02-17 16:01:52 +08:00
Xiang Xiao
0582930e4b tools/ci: Install python kconfiglib
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-02-17 16:01:52 +08:00
yinshengkai
abdb16aea2 tools: add trace parse script
Extract a valid trace line and resolve the address to a function name

Signed-off-by: yinshengkai <yinshengkai@xiaomi.com>
2023-02-17 02:06:38 +08:00
chenwen@espressif.com
cfc9029c5d risc-v/esp32c6: Add ESP32-C6 basic support
1. Bring up OS kernel.
  2. Add interrupt support.
  3. Add system timer support.
  4. Add the ESP32-C6 devkit board.
  5. Add basic UART support for console.
  6. Add clock configuration.
  7. Add board reset support.
2023-02-10 17:38:41 -03:00
chao an
807d59632c tools/kconfig: add kconfiglib support
Reference:
https://github.com/ulfalizer/Kconfiglib

Setup:
pip install kconfiglib

Signed-off-by: chao an <anchao@xiaomi.com>
2023-02-10 20:29:22 +08:00
chao an
74ce3b81d3 build/Kconfig: add BINDIR/APPSBINDIR to support out of tree build
First decoupling changes related to CMAKE

BINDIR/APPSBINDIR:
Output path of Kconfig which dynamically generated by NuttX Kernel/Apps
This option is consistent with the TOPDIR/APPSDIR by default, and will
be changed when out-of-tree compilation is supported

Signed-off-by: chao an <anchao@xiaomi.com>
2023-02-09 20:13:04 +08:00
Xiang Xiao
916fa4d759 boards/sim: Enable CONFIG_SIM_M32 in nimble
please reference this pr:
https://github.com/apache/mynewt-nimble/pull/1125

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-02-09 14:36:05 +08:00
chao an
dad6b105ca tools/Config: silent print of archive objects
Signed-off-by: chao an <anchao@xiaomi.com>
2023-02-06 16:22:28 -03:00
chao an
5e623da2dd tools/Config: stack usage(.su) file should be removed on clean phase
Signed-off-by: chao an <anchao@xiaomi.com>
2023-02-07 00:30:49 +08:00
Masayuki Ishikawa
79704620f8 tools: ci: Fix testrun/utins/common.py for sabrelite (QEMU)
Summary:
- I noticed that nuttx crashes if DEBUG_ASSERTIONS=y
- This commit fixes this issue by changing QEMU options

Impact:
- None

Testing:
- Tested with QEMU

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2023-02-06 18:26:05 +08:00
Masayuki Ishikawa
6097f12765 tools: Fix Config.mk
Summary:
- I noticed that the following build error happened on my machine.

  make -C sched libsched.a EXTRAFLAGS="-D__KERNEL__ "
  make[1]: Entering directory '/mnt/m2ssd/opensource/RTOS/tmp/nuttx/sched'
  /bin/sh: 1: echoCC: clock/clock_initialize.c : not found

- This commit fixes this issue

Impact:
- Should be none

Testing:
- Build on ubuntu 18.04 x86_64

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2023-02-04 01:05:39 +02:00
yinshengkai
c57a0e90a0 tools: use relative paths when reverting to compile
Using the full path will make __FILE__ longer, which will lead to a larger flash footprint
revert 9c6c9fb0cd && e14309a92d

Signed-off-by: yinshengkai <yinshengkai@xiaomi.com>
2023-02-03 18:28:33 +08:00
anjiahao
984208f6a2 tools: parsememdump.py support show total pid memory
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2023-02-02 22:47:03 +08:00
chao an
03b164f59c tools/makefile: silent all compile output
In order to make compilation warnings and errors easier to be found out,
this commit will disable the printing of the compilation process as much
as possible, and also if you want to restore the log information of the
compilation process, please enable verbose build on command line:

$ make V=0
OR
$ make V=1

| V=0:   Exit silent mode
| V=1,2: Enable echo of commands
| V=2:   Enable bug/verbose options in tools and scripts

Signed-off-by: chao an <anchao@xiaomi.com>
2023-02-02 17:40:19 +08:00
Xiang Xiao
bf5c7b6e5d tools/checkpatch.sh: Check the source code doesn't set executable bit
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-02-02 00:14:55 +02:00
Xiang Xiao
0a66cbdcdd tools/checkpatch: Should check the spell and encoding for rust file too
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-02-02 00:14:55 +02:00
Gustavo Henrique Nihei
e6b204f438 nuttx: Use MIN/MAX definitions from "sys/param.h"
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2023-02-01 23:47:44 +08:00
Fotis Panagiotopoulos
290a9157eb checkpatch: Added encoding check with cvt2utf 2023-02-01 20:42:35 +08:00
yinshengkai
e14309a92d tools: ARCHIVE uses the full path
Signed-off-by: yinshengkai <yinshengkai@xiaomi.com>
2023-02-01 20:39:52 +08:00
qiaohaijiao1
869d3bfb32 tools/ci/docker/linux/Dockerfile: add libmp3lame-dev:i386
Signed-off-by: qiaohaijiao1 <qiaohaijiao1@xiaomi.com>
2023-02-01 13:29:01 +08:00
yinshengkai
9c6c9fb0cd tools/Config.mk: compile with full file path
Signed-off-by: yinshengkai <yinshengkai@xiaomi.com>
2023-01-31 18:15:59 +08:00
chao an
c3ddb1507b tools/unix.mk: Pass APPDIR to arch's Makefile
make link custom library from apps/staging working

Signed-off-by: chao an <anchao@xiaomi.com>
2023-01-31 16:53:33 +08:00
yinshengkai
3f97a87162 tools: add separate flags parameter for COMPILE/COMPILEXX
Signed-off-by: yinshengkai <yinshengkai@xiaomi.com>
2023-01-31 13:42:33 +08:00
chao an
d96189ce26 tools/version: generate dummy version without breakout
Signed-off-by: chao an <anchao@xiaomi.com>
2023-01-28 12:10:15 -03:00
haopengxiang
fc81bb8b36 nuttx: increase MAX_BUFFER to 10240 for CI build
01:28:16  ERROR: CFLAG string is too long [8194/8192]: '-nostdinc++' '-fno-exceptions' '-fcheck-new' '-std=c++17' '-pipe' '-Os' '-fno-strict-aliasing' '-fomit-frame-pointer' '-fstack-protector-all' '-mthumb' '-Wa,-mthumb' '-Wa,-mimplicit-it=always' '-fno-common' '-Wall' '-Wshadow' '-Wundef' '-ffunction-sections' '-fdata-sections' '-g' '-mlittle-endian' '-march=armv8-m.main+dsp' '-mtune=cortex-m33' '-mfpu=fpv5-sp-d16' '-mfloat-abi=hard' '-isystem' '/home/work/ssd1/workspace/MiRTOS-Dev-Daily-Build/out/86v1/ap_test/.unionfs/nuttx/include/libcxx' '-isystem' '/home/work/ssd1/workspace/MiRTOS-Dev-Daily-Build/out/86v1/ap_test/.unionfs/nuttx/include' '-D__NuttX__' '-D__KERNEL__' '-Wno-cpp' '-I' '/home/work/ssd1/workspace/MiRTOS-Dev-Daily-Build/out/86v1/ap_test/.unionfs/apps/crypto' '-I' '/home/work/ssd1/workspace/MiRTOS-Dev-Daily-Build/out/86v1/ap_test/.unionfs/apps/crypto/mbedtls/mbedtls/include' '-I' '/home/work/ssd1/workspace/MiRTOS-Dev-Daily-Build/out/86v1/ap_test/.unionfs/apps/system/uorb/' '-I' '/home/work/ssd1/workspace/MiRTOS-Dev-Daily-Build/out/86v1/ap_test/.unionfs/apps/system/libuv/libuv/include' '-I'

Signed-off-by: haopengxiang <haopengxiang@xiaomi.com>
2023-01-28 09:05:06 +02:00
nietingting
5d45ec6d03 update MAX_SHQUOTE to 4096
Signed-off-by: nietingting <nietingting@xiaomi.com>
2023-01-28 09:05:06 +02:00
anjiahao
ed89d7252b minidumpserver: add arm-a support
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2023-01-28 09:00:59 +02:00
Xiang Xiao
d3525ec637 tools/ci: Enable stm32u5, stm32wb and stm32wl5
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-01-24 08:40:50 +09:00
Xiang Xiao
931677a86e tools: Add showstack.sh to parse *.su files
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-01-19 10:35:20 -03:00
ligd
8bd0d441ae minidumpserver: replace stackdump to stack_dump
Signed-off-by: ligd <liguiding1@xiaomi.com>
2023-01-17 11:01:11 +08:00
chao an
613bfd0fde mm/tlsf: fix compile error/warning on tlsf
1.
make[1]: Entering directory '/home/archer/code/nuttx/n2/incubator-nuttx/mm'
/bin/sh: 1: Syntax error: "(" unexpected

2.
tools/Unix.mk:681: warning: overriding recipe for target 'mm_clean'
tools/Unix.mk:681: warning: ignoring old recipe for target 'mm_clean'
tools/Unix.mk:700: warning: overriding recipe for target 'mm_distclean'
tools/Unix.mk:700: warning: ignoring old recipe for target 'mm_distclean'

Signed-off-by: chao an <anchao@xiaomi.com>
2023-01-16 16:14:13 +08:00
Xiang Xiao
a6428f4c27 mm: Integrate TLSF manager
can be enabled by CONFIG_MM_TLSF_MANAGER=y

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2023-01-15 03:43:37 +08:00
Zhe Weng
8fb98bc9d1 script: support IPv6 in simhostroute.sh
1. Change IP address format to addr/prefix, to be compatible with both IPv4/IPv6.
   - When adding address in CIDR type, netmask/route will be automatically added.
2. Since route of whole subnet is added automatically, not specifying NuttX's IP any more.
   - Multiple NuttX simulators (with IP 10.0.1.x) attached to same bridge can surf the net at same time.
3. NAT66 is used to make sure it works even if host has only one IPv6 address.

Signed-off-by: Zhe Weng <wengzhe@xiaomi.com>
2023-01-05 23:36:43 +08:00
yinshengkai
a86684574f syscall: export UP_WRAPSYM/UP_REALSYM macro
Signed-off-by: yinshengkai <yinshengkai@xiaomi.com>
2022-12-30 22:13:34 +08:00
Zhe Weng
d549333511 script: enable forward in simhostroute.sh
We found that some people don't know / forget to enable forward in linux, which keeps nat not working.

Because we don't know the previous state before 'on', and forward seldom has side effect, we don't disable it in 'off'.

Signed-off-by: Zhe Weng <wengzhe@xiaomi.com>
2022-12-29 09:32:25 -03:00
Petro Karashchenko
a208e5860a tools: Ensure removing Python3.11 related commands for macOS
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2022-12-28 22:05:33 +08:00
Petro Karashchenko
b52aa1b5ca tools: Ensure removing Python related commands for macOS
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2022-12-25 04:35:27 +08:00
zhangyuan21
45394eb6dc arch: save user context in assert common code
This is the work continue with #7875

Signed-off-by: zhangyuan21 <zhangyuan21@xiaomi.com>
2022-12-24 13:02:56 +08:00
Petro Karashchenko
b107e4f417 nuttx: unify MIN, MAX and ABS macro definition across the code
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2022-12-21 09:31:28 +08:00
wangbowen6
eb884c00e8 minidumpserver: sync the stackdump search string after #7875
Signed-off-by: wangbowen6 <wangbowen6@xiaomi.com>
2022-12-21 01:39:43 +08:00
Gustavo Henrique Nihei
aac0228c74 ci: Force reinstall of python tools to workaround GitHub cache issue
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2022-12-17 14:02:20 +08:00
Almir Okato
8f3c425067 xtensa/esp32s3: Enable booting from MCUboot bootloader
Add support for booting from MCUboot bootloader on ESP32-S3.

Signed-off-by: Almir Okato <almir.okato@espressif.com>
2022-12-15 00:42:13 +08:00
Peter Bee
80fa70da4e boards/sim: Add nxcamera config
Config which enables nxcamera app and video framework.
Exclude from CI macOS test because macOS does not have V4L2.
(Maybe consider adding it back after porting with avfoundation)

Signed-off-by: Peter Bee <bijunda1@xiaomi.com>
2022-12-14 21:20:27 +08:00
Peter Bee
e1561f8512 tools/ci/docker/linux/Dockerfile: add libv4l-dev
Signed-off-by: Peter Bee <bijunda1@xiaomi.com>
2022-12-14 12:17:37 +08:00
Xiang Xiao
a64c61f530 Remove incubat.* from the code base
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-12-13 21:21:27 +02:00
Xiang Xiao
4873fec670 cibuild.sh: Remove bloaty-src and nuttx-tools repo after build
to avoid the below error:
destination path '/Users/runner/work/nuttx/nuttx/sources/tools/bloaty-src' already exists and is not an empty directory.

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-12-13 18:25:35 +08:00
Alin Jerpelea
5dc50bcc9f tools: zipme: remove incubator from releases
NuttX has graduated the incubator phase and the releases should be renamed
to match the current status

Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2022-12-13 17:19:06 +08:00
Xiang Xiao
c6d31ac990 cibuild.sh: Install ccache in the last step
to fix the below error:
x86_64-elf-gcc --version
Copyright (C) 2002-2007 Andrew Tridgell
ccache: error: Could not find compiler "x86_64-elf-gcc" in PATH
Copyright (C) 2009-2022 Joel Rosdahl and other contributors

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-12-13 15:35:09 +09:00
Xiang Xiao
2392659258 cibuild.sh: Fix "Untracked files: tools/ci/bloaty-src/"
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-12-13 15:35:09 +09:00
Xiang Xiao
7a9267219c Revert "Fix ccache: error: Could not find compiler "x86_64-elf-gcc" in PATH"
This reverts commit 0a23bfea03.
2022-12-13 15:35:09 +09:00
Xiang Xiao
3c99c5cf45 tools/ci/cibuild.sh: Fix destination path 'pinguino-compilers' already exists and is not an empty directory.
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-12-13 10:17:39 +09:00
Xiang Xiao
0a23bfea03 Fix ccache: error: Could not find compiler "x86_64-elf-gcc" in PATH
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-12-12 20:25:51 +09:00
Xiang Xiao
4b760fcea8 tools/cibuild.sh: Sync the installation between macOS and Ubuntu
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-12-11 22:41:25 +08:00
Xiang Xiao
b83f3e6ca7 workflow: Move ccache setting from build.yml to cibuild.sh
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-12-11 22:41:25 +08:00
Xiang Xiao
98412b9e97 tools/cibuild.sh: Move the installation directory from prebuilt to tools
sync with tools/ci/docker/linux/Dockerfile

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-12-11 22:41:25 +08:00
Xiang Xiao
4026f47b3b ci: Exclude litex/arty_a7 from tools/ci/testlist/risc-v.dat
to workaround the new toolchain generate the wrong path for
--print-libgcc-file-name and --print-file-name=libm.a:
https://static.dev.sifive.com/dev-tools/freedom-tools/v2020.12/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14.tar.gz

please reference here for more info:
https://github.com/apache/nuttx/pull/7835

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-12-11 22:41:25 +08:00
Gustavo Henrique Nihei
6711b37662 tools/ci: Update RISC-V toolchain in Dockerfile to latest version
The #6094 updated the toolchain, but only in the script used by MacOS
CI runners.

Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2022-12-08 17:13:41 -03:00
Gustavo Henrique Nihei
f78c6432d8 xtensa/esp32: Simplify board linker script selection
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2022-12-08 21:55:29 +08:00
Gustavo Henrique Nihei
bfc40c74d0 xtensa/esp32s3: Add support for Protected Mode
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2022-12-07 03:07:45 +08:00
zouboan
aad321dfa8 tools/define.bat: sync design of define.bat with define.sh to uniform usage 2022-12-03 19:22:17 +08:00
zouboan
498bc98b1b tools/Win.mk:Fix an pass1dep error when USERDEPDIRS is empty in Windows native build 2022-12-01 01:47:46 +08:00
zouboan
f115a97bdc tools/Config:Fix too long input line error call ARCHIVE when use too many libc in Windows native build
tools/Config:Fix too long input line error call ARCHIVE when use too many libc in Windows native build
2022-12-01 01:47:46 +08:00
zouboan
20c69294db tools/Win.mk:Fix an issue in mkdir -p in Windows native build 2022-12-01 01:47:46 +08:00
zouboan
744df68b10 tools/Win.mk:Fix some error in clean_context in Windows native build 2022-12-01 01:47:46 +08:00
zouboan
e2c2cc16ee tools/Config:Fix some error call DELFILE/DELDIR/CATFILE/CLEAN in Windows native build
tools/Config:Fix some error call DELFILE/DELDIR/CATFILE  in Windows native build
2022-12-01 01:47:46 +08:00
zouboan
fd9838f41f tools/mkdeps:Fix an error caused by do_shquote in Windows native build
tools/mkdeps:Fix an error caused by do_shquote in Windows native build

tools/mkdeps:Fix an error caused by do_shquote in Windows native build
2022-12-01 01:47:46 +08:00
qiaohaijiao1
127a3585cc tools/ci/docker/linux/Dockerfile: add libmad0-dev in docker environment
Signed-off-by: qiaohaijiao1 <qiaohaijiao1@xiaomi.com>
2022-11-29 00:20:25 +08:00
xinbingnan
4800c166ec Dockerfile: fix cp clang-extdef-mapping no effect
Use a wrong command `CMD`, and the correct is `RUN`.
That's a low level fault made by me.

Signed-off-by: xinbingnan <xinbingnan@xiaomi.com>
2022-11-28 14:31:19 +01:00
Nathan Hartman
03802dad13 NuttX graduated the Incubator; update repository links 2022-11-26 11:58:15 -08:00
chao an
1815c2e1e1 tools/nuttx-gdbinit: restore the context at the end of each command
Signed-off-by: chao an <anchao@xiaomi.com>
2022-11-25 11:32:42 +09:00
nietingting
6368b29751 test: update usrsocktest script
Signed-off-by: nietingting <nietingting@xiaomi.com>
2022-11-24 23:14:31 +08:00
Xiang Xiao
c5704eb1e7 tools/ci/testlist: Switch half build to clang
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-11-23 07:27:48 +01:00
zouboan
b96ced8f4b tools/Config:Fix some error caused by double quotation in Windows native build 2022-11-23 10:02:05 +08:00
Xiang Xiao
79d02c0e29 arch/sim: Unify the host soruce file naming
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-11-22 19:37:48 +01:00
chao an
f23ec0f995 Revert "tools/ci/arm/llvm/clang: bump up LLVMEmbeddedToolchainForArm to release-15.0.2"
This reverts commit b4bab51e86.

Issue:
Builtin math symbols are missing on llvm 15.0.2(libm.a):
https://github.com/ARM-software/LLVM-embedded-toolchain-for-Arm/issues/158

Signed-off-by: chao an <anchao@xiaomi.com>
2022-11-22 07:43:02 -08:00
chao an
b4bab51e86 tools/ci/arm/llvm/clang: bump up LLVMEmbeddedToolchainForArm to release-15.0.2
Upstream:
https://github.com/ARM-software/LLVM-embedded-toolchain-for-Arm/releases/tag/release-15.0.2

Signed-off-by: chao an <anchao@xiaomi.com>
2022-11-22 19:07:13 +08:00
zhangyuan21
f1837e7e96 tools/nxstyle: add more white list for sim arch 2022-11-22 16:27:56 +08:00
Brennan Ashton
9140b39bde CI: Update worker base OS version
Also pin Bloaty to 52948c107c8f81045e7f9223ec02706b19cfa882
 - see https://github.com/google/bloaty/pull/326/files
2022-11-21 17:20:24 +08:00
yinshengkai
bcefa2f0a2 tools: fix errors when executing indir
fix the error message when executing make -C nuttx/tools -f Makefile.host clean
/bin/sh: 1: nuttx/tools/../tools/incdir: not found
Signed-off-by: yinshengkai <yinshengkai@xiaomi.com>
2022-11-16 12:51:54 +08:00
simbit18
c8855ab986 Update configure.bat
(USAGE): Add -E -e
2022-11-15 02:14:04 +08:00
Petro Karashchenko
3b78f6db3e tools: Do not check ccname get_os() for windows native build
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2022-11-12 14:14:57 +08:00
Petro Karashchenko
eeeb88a1ed tools: fix NULL pointer dereference in configure.c
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2022-11-12 14:14:57 +08:00
Petro Karashchenko
d0c7d2dd88 tools: fix arguments passing in configure.bat
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2022-11-12 14:14:57 +08:00
simbit18
a522a8eeaf tools/Win.mk
fix shell conditional
2022-11-10 10:39:25 +08:00
zouboan
77cbd3379c tools: Fix an error of make -C tools -f Makefile.host clean 2022-11-09 13:50:15 +08:00
zouboan
afd3c65cf6 tools/Win.mk Fix some issue caused by out-sync of Win.mk and Unix.mk 2022-11-09 13:50:15 +08:00
simbit18
c4d654946f tools/incdir.bat
Fix mistakes in comments
2022-11-09 01:38:12 +08:00
zouboan
12f57bd9b2 tools:fix some error use of shell command in Windows native build 2022-11-06 16:41:49 +08:00
zouboan
5edb9141e4 tools:fix distclean error in Windows native build 2022-11-06 16:41:49 +08:00
zouboan
def151869f tools:fix build error of incdir in Windows native build 2022-11-06 16:41:49 +08:00
zouboan
c8e4adad9f tools:fix 'input line is too long error' in Windows native build 2022-11-06 16:41:49 +08:00
yinshengkai
85f727f232 tools: replace INCDIR to Makefile variable
In the past, header file paths were generated by the incdir command
Now they are generated by concatenating environment variables

In this way, when executing makefile, no shell command will be executed,
it will improve the speed of executing makfile
Signed-off-by: yinshengkai <yinshengkai@xiaomi.com>
2022-11-03 19:59:55 +08:00
yinshengkai
95d9abcf58 tools: replace DEFINE script to Makefile variable
In the past, predefined macros were generated by define.sh scripts
Now they are generated by concatenating environment variables

In this way, when executing makefile, no shell command will be executed,
it will improve the speed of executing makfile

Signed-off-by: yinshengkai <yinshengkai@xiaomi.com>
2022-11-03 19:59:55 +08:00
Zhe Weng
eeb4d41f55 script: fix simhostroute.sh to remove nat rule correctly
Signed-off-by: Zhe Weng <wengzhe@xiaomi.com>
2022-10-31 21:22:30 +08:00
nietingting
8f7a16889e fix PytestUnknownMarkWarning issue
Signed-off-by: nietingting <nietingting@xiaomi.com>
2022-10-29 18:12:37 +08:00
Xiang Xiao
c8670cf2eb tools/ci/cibuild.sh: Add bloaty to install variable
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-10-28 21:22:44 +02:00
Xiang Xiao
9810ab817d tools/ci/cibuild.sh: Keep the installation in alphabetical order
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-10-28 21:22:44 +02:00
Xiang Xiao
cdf8cff1f6 tools/ci/cibuild.sh: Move all pip3 installation into python-tools
and keep the installation in alphabetical order

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-10-28 21:22:44 +02:00
nietingting
f361d1cd41 CI: add example to sim
Signed-off-by: nietingting <nietingting@xiaomi.com>
2022-10-26 10:55:50 +08:00
W-Mai
07a2fa8d57 ci/docker: copy clang-extdef-mapping to clang-arm
Clang relies on clang-extdef-mapping for ctu checking. But clang-arm doesn't provide this file
A tweaking way to support this feature is copy a `clang-extdef-mapping` from other clang version.

Signed-off-by: xinbingnan <xinbingnan@xiaomi.com>
2022-10-24 17:04:45 +08:00
Xiang Xiao
8c1036b7a1 tools/ci/docker/linux/Dockerfile: Keep the installation in alphabetical order
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-10-23 17:10:01 -07:00
Xiang Xiao
d922119f0a tools/ci/docker/linux/Dockerfile: Intall libtinfo5 in final image
fix the following error:
/tools/clang-arm-none-eabi/bin/clang: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-10-23 17:10:01 -07:00
Xiang Xiao
19d1e08717 tools/ci/docker/linux/Dockerfile: Intall libncurses5-dev in final image
fix the following warning:
clang: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-10-22 11:48:24 -03:00
Xiang Xiao
4ea0c905e6 ci: Install LLVM Embedded Toolchain for Arm
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-10-22 17:04:21 +08:00
Xiang Xiao
b42b8c9275 Revert "Revert "tools/ci: patch for gcc-arm-none-eabi to 11.3.Rel1 August 08, 2022""
This reverts commit 8150534a2f.
2022-10-22 09:12:18 +08:00
chao an
d6b441f141 tools/ci: patch for docker gcc-arm-none-eabi to 11.3.Rel1 August 08, 2022
Fix Wrong Newlib version strings, error when stdlib.h is included

Reference:
https://community.arm.com/support-forums/f/compilers-and-libraries-forum/53470/arm-gnu-toolchain-11-3-rel1-x86_64-arm-none-eabi-wrong-newlib-version-strings-error-when-stdlib-h-is-included
Signed-off-by: chao an <anchao@xiaomi.com>
2022-10-21 09:30:36 +02:00
nietingting
8438396f33 ci: add qemu run support
Signed-off-by: nietingting <nietingting@xiaomi.com>
2022-10-21 14:57:43 +08:00
nietingting
81ff16c675 install qemu-system-misc in dockerw
Signed-off-by: nietingting <nietingting@xiaomi.com>
2022-10-20 17:44:22 +08:00
SPRESENSE
10a5c660f2 tools: Fix an issue that libboard.a is not exported
If CONFIG_ARCH_BOARD_COMMON is enabled, libboard.a should be generated.
Fix an issue it is not built with make export.
2022-10-19 16:59:21 +02:00
Xiang Xiao
edd68d8ae9 board: Change CONFIG_SYSTEM_NSH_SYMTAB to CONFIG_NSH_SYMTAB
follow the apps side change

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-10-18 22:18:51 +02:00
nietingting
33b7219caa install qemu-system-arm in docker
Signed-off-by: nietingting <nietingting@xiaomi.com>
2022-10-18 21:29:25 +08:00
nietingting
ecb80dd888 install qemu on docker
Signed-off-by: nietingting <nietingting@xiaomi.com>
2022-10-18 07:56:04 +02:00
Hidenori Matsubayashi
28180b49d1 arm64: add Cortex-A57 and Cortex-A72 configurations
This change adds the following:
- Rename the board configuration name from qemu-a53 to qemu-v8a.
- Add the configurations for Cortex-A57 and Cortex-A72.

Signed-off-by: Hidenori Matsubayashi <hidenori.matsubayashi@gmail.com>
2022-10-14 09:27:35 +08:00
chao an
8150534a2f Revert "tools/ci: patch for gcc-arm-none-eabi to 11.3.Rel1 August 08, 2022"
revert this change since docker image upload always fails

This reverts commit 0f3f5d091a.

Signed-off-by: chao an <anchao@xiaomi.com>
2022-10-13 17:28:37 +08:00
chao an
53dd0819cf tools/ci: patch for docker gcc-arm-none-eabi to 11.3.Rel1 August 08, 2022
Fix Wrong Newlib version strings, error when stdlib.h is included

Reference:
https://community.arm.com/support-forums/f/compilers-and-libraries-forum/53470/arm-gnu-toolchain-11-3-rel1-x86_64-arm-none-eabi-wrong-newlib-version-strings-error-when-stdlib-h-is-included

Signed-off-by: chao an <anchao@xiaomi.com>
2022-10-13 08:33:50 +09:00
chao an
0f3f5d091a tools/ci: patch for gcc-arm-none-eabi to 11.3.Rel1 August 08, 2022
Fix Wrong Newlib version strings, error when stdlib.h is included

Reference:
https://community.arm.com/support-forums/f/compilers-and-libraries-forum/53470/arm-gnu-toolchain-11-3-rel1-x86_64-arm-none-eabi-wrong-newlib-version-strings-error-when-stdlib-h-is-included

Signed-off-by: chao an <anchao@xiaomi.com>
2022-10-12 19:54:37 +08:00
chao an
cfe2ec3d4d tools/ci: Update gcc-arm-none-eabi to 11.3.Rel1 August 08, 2022
Signed-off-by: chao an <anchao@xiaomi.com>
2022-10-12 19:54:37 +08:00
xinbingnan
d8cff7d17a tools/ci/docker/linux/Dockerfile: Install CodeChecker and requirements(clang, clang-tidy)
.github/workflows/build.yml: added CodeChecker support for GitHub Workflow
tools/testbuild.sh: added support for CodeChecker checks

- Added support for CodeChecker checks.
- Generate inspection reports and summaries.
- After the task is executed, the logs are compressed and the database is packaged.

Signed-off-by: xinbingnan <xinbingnan@xiaomi.com>
2022-10-12 16:23:43 +08:00
Fotis Panagiotopoulos
63d00a5fb1 Added Kconfig option for ccache. 2022-10-10 16:12:27 -03:00
nietingting
70053700b8 add ci run on sim
Signed-off-by: nietingting <nietingting@xiaomi.com>
2022-10-09 20:12:39 +08:00
yinshengkai
3c8773a854 tools: Optimizing mkallsyms scripts with python
When compiling my project, the time to generate allsyms decreased from tens of seconds to 2 seconds

Signed-off-by: yinshengkai <yinshengkai@xiaomi.com>
2022-09-29 08:33:04 +08:00
yinshengkai
d9065f29aa tools/ci: add pyelftools and cxxfilt 2022-09-28 14:08:13 +08:00
nietingting
8b3a936588 ci: enable pytest on docker file
Signed-off-by: nietingting <nietingting@xiaomi.com>
2022-09-26 13:47:23 +08:00
Nathan Hartman
f608b37e3c tools/configure.sh: Update USAGE for custom out-of-tree boards
* tools/configure.sh:
  (USAGE): Explain both styles of usage:
   - <board-name>:<config-name> for in-tree boards
   - path to custom out-of-tree boards (relative to TOPDIR
     or absolute)

Suggested by TimH in mailing list discussion "build board from custom
directory" started 15 Sept 2022, archived:
https://lists.apache.org/thread/7t8k79mm4kxy9cbo7vmybd36nzh94qtd
2022-09-23 02:33:15 +08:00
chao an
7d2a8c9c8b ci/testcase: add launchxl-tms57004/nsh(Cortex-R4) into build list
Signed-off-by: chao an <anchao@xiaomi.com>
2022-09-23 02:32:21 +08:00
chao an
0f0a94186f arch/arm/toolchain: migrate the toolchain define to arch/arm/Kconfig
migrate the toolchain define to arch/arm/Kconfig to simplify new toolchain registration

Signed-off-by: chao an <anchao@xiaomi.com>
2022-09-16 14:47:27 +08:00
xinbingnan
204d143e9e tools/ci/cibuild.sh: add CodeChecker requirements for cibuild.sh
Signed-off-by: xinbingnan <xinbingnan@xiaomi.com>
2022-09-16 02:09:20 +08:00
xinbingnan
ef6036f63e tools/ci/docker/linux/Dockerfile: Install CodeChecker and requirements(clang, clang-tidy)
Signed-off-by: xinbingnan <xinbingnan@xiaomi.com>
2022-09-16 02:09:20 +08:00
Nathan Hartman
69feebe48c tools/pic32: Add description, fix nxstyle, fix typos
* tools/pic32/Config.mk: Fix typo.

* tools/pic32/mkpichex.c:
  (): Add one-line description of this file.
  (adjust_extlin): Fix nxstyle error and typo in comment.
2022-09-13 14:53:54 +08:00
Nathan Hartman
8231485eff tools/b16.c: Fix usage text 2022-09-13 14:53:42 +08:00
Huang Qi
d7b04a2b8b Config.mk: Add COMPILEZIG
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2022-09-09 21:39:49 +08:00
curuvar
9ad75fd95d Added SMART flash filesystem to RP2040 2022-09-05 10:38:56 -03:00
chao.an
62977ec4e8 arch/sim: add windows host simulate support
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-08-23 22:04:42 +08:00
Tiago Medicci Serrano
df0604a4be Added default config for lvgl configs based on both fb and lcddev.
In order to better test the lcdddev driver and framebuffer, newer
board configs (for the TTGO T-Display and for the simulator) were
added.

Adjusted references of the sim:lvgl_(fb/lcd) config.
2022-08-13 20:36:45 +08:00
Ville Juven
b8b541fbf5 mpfs: Remove the ddrstorage section from the OpenSBI package
It is not really needed; g_hart_stacks is only used during SBI init as
a temporary stack area. We can use the scratch area buffers for this, as
the scratch areas define almost 4K of extra space, which is used for
exception stacks anyway.
2022-08-10 10:01:47 +03:00
Peter van der Perk
f64677b8c9 Add Embedded Template Library (ETL) support 2022-08-05 09:38:48 +08:00
Masayuki Ishikawa
5633e38da2 tools: testbuild.sh: Add exportandimport func
Summary:
- This commit adds exportandimport func for CONFIG_BUILD_KERNEL=y

Impact:
- ci with CONFIG_BUILD_KERNEL=y only

Testing:
- Tested with sabre-6quad:netknsh (will be updated later)

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2022-07-27 23:22:23 +08:00
Masayuki Ishikawa
88d0a4d20e tools: Unix.mk: Generate .tar.gz file with make export
Summary:
- This commit generates .tar.gz file with make export

Impact:
- make export file format

Testing:
- Tested with sabre-6quad:netknsh

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2022-07-27 23:22:23 +08:00
qinwei1
e77b06721b arch: arm64: ARMv8-A support for NuttX
N/A

Summary:

Arm64 support for NuttX, Features supported:

1. Cortex-a53 single core and SMP support: it's can run into nsh shell at
   qemu virt machine.

2. qemu-a53 board configuration support: it's only for evaluate propose

3. FPU support for armv8-a: FPU context switching at NEON/floating-point
  TRAP is supported.

4. psci interface, armv8 cache operation(data cache) and smccc support.

5. fix mass code style issue, thank for @xiaoxiang781216, @hartmannathan @pkarashchenko

Please refer to boards/arm64/qemu/qemu-a53/README.txt for detail

Note:
1. GCC MACOS issue
The GCC 11.2 toolchain for MACOS may get crash while compiling
float operation function, the following link describe the issue
and give analyse at the issue:

https://bugs.linaro.org/show_bug.cgi?id=5825

it's seem GCC give a wrong instruction at certain machine which
without architecture features

the new toolchain is not available still, so just disable the MACOS
cibuild check at present

Signed-off-by: qinwei1 <qinwei1@xiaomi.com>
2022-07-14 09:35:49 -04:00
Gustavo Henrique Nihei
76acfef5ec xtensa/esp32: Add support for Protected Mode
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2022-07-14 14:57:57 +08:00
Nathan Hartman
849f760b77 Fix various typos 2022-07-08 02:15:54 +08:00
Fotis Panagiotopoulos
47e40842a7 Added -fPIC option when building jlink-nuttx.so. 2022-06-29 13:16:54 +03:00
Xiang Xiao
4c2b7f3ac9 tools/jlink-nuttx: Move the register index check to setget_reg
avoid access tcbinfo before initializing it in update_tcbinfo

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-06-25 16:53:40 +03:00
Alan Carvalho de Assis
d4dc2f8ab2 tools: Fix warnings and replace deprecated readdir_r() 2022-06-24 11:42:41 +08:00
qinwei
881c896c06 tools: ci : add cibuild rule for arm64
Summary:

1. add aarch64-none-elf toolchain for cibuild rule

Signed-off-by: qinwei <qinwei1@xiaomi.com>
2022-06-22 12:14:59 +08:00
Petro Karashchenko
39f174908f tools/gencromfs: add attribute to set minimum 4 bytes aignment for cromfs image data
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2022-06-01 12:07:35 +08:00
YAMAMOTO Takashi
9bccfbc2d9 esp32*: Update nuttx.manifest for nuttx.bin 2022-05-27 13:41:51 +03:00
Abdelatif Guettouche
4896623be2 build: Fix dependencies of kernel targets.
Targets build during the kernel phase did not have their dependencies
specified and thus they were not rebuilt after their dependencies have
changed, for example by changing options in menuconfig.

Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2022-05-24 10:45:39 +08:00
Xiang Xiao
1067b6afc9 boards/sim: Remove the unnecessary CONFIG_SIM_M32
to enable build on macOS

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-05-19 23:23:01 +03:00
Gustavo Henrique Nihei
c778f35f08 risc-v/esp32c3: Add support for Protected Mode
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2022-05-18 11:43:52 +08:00
Abdelatif Guettouche
53cf328cbe xtensa.h: Remove old prototype.
Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2022-05-18 01:07:48 +08:00
Xiang Xiao
f905563cc9 tools/nxstyle: Add kbps to the while suffix list
and correct offset by 1 error

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-05-15 13:55:58 +03:00
Xiang Xiao
317cc6c174 tools/nxstyle: Add the suffix white list
and initialize it to "kHz", "Mbps", and "us"

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-05-13 16:39:16 +03:00
YAMAMOTO Takashi
072c28fe8e Revert "tools/mkallsyms.sh: Disable the mismatch warning of builtin declaration"
This reverts commit 848d1ef0b7.

It doesn't make sense because the generated file just have names of
symbols as strings. Nothing to worry about builtins.
2022-05-12 22:19:52 +08:00
YAMAMOTO Takashi
30a1b4e359 tools/mkallsyms.sh: Make it work with llvm
The llvm version of c++filt doesn't have -p option.
Use sed instead.
2022-05-12 14:56:07 +08:00
wangbowen6
32a47f7e3d ci/arm-13.dat: do not check board tlsr8278adk80d
Signed-off-by: wangbowen6 <wangbowen6@xiaomi.com>
2022-05-09 12:33:39 +08:00
Xiang Xiao
59db30fd59 tools/nxstyle: Add __sFILE_fake(defined by newlib) to the white list
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-05-06 14:43:57 -03:00
Xiang Xiao
05ff19d17b tools/testbuild.sh: Don't skip configure and distclean
to improve the test coverage

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-05-01 09:50:50 +03:00
Xiang Xiao
baf852ff4b tools/ci: Enable libcxx test config
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-04-29 21:08:14 -03:00
anjiahao
2b938ed8f8 tools:minidumpserver.py support xtensa
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2022-04-28 13:29:25 +08:00
anjiahao
cbdd39b6c9 tools:fix parsememdump.py match error
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2022-04-23 23:59:36 +08:00
Jiuzhu Dong
de1c184e6c boards/sim: support rc.sysinit
Follow: http://glennastory.net/boot/sysinit.html

This is first script that init runs is rc.sysinit. This
script does serval initialization tasks about basic service.

The boot sequence currently provided to the board level is:
board_earlyinitialize->
    board_lateinitialize(Peripherals driver, core driver, ...)->
	run rcS script(mount fs, run service) ->
	    board_appinitialize->

After this patch:
The boot sequence currently provided to the board level is:
board_earlyinitialize->
    board_lateinitialize(core driver,...)->
	run rc.sysinit script(mount fs, run core service) ->
	    board_appinitialize(Peripherals driver)->
		run rcS script(run other service)->

So, Peripheral drivers can do more with the file system and
core services.

Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2022-04-21 12:54:53 +03:00
chao.an
e066d5d1e0 arch/risc-v: Unify the toolchain definition of RVG for linux and windows
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-04-19 23:17:27 +08:00
chao.an
2df591b3bb arch/armv7-a/r: Unify the toolchain definition of eabi for linux and windows
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-04-19 23:17:27 +08:00
chao.an
2246afcdd8 arch/armv7-m: Unify the toolchain definition of eabi/clang/iar for linux and windows
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-04-19 23:17:27 +08:00
Petro Karashchenko
88369d54c4 Revert "tools/cibuild.sh: Download risc-v toolchain with --no-check-certificate"
This reverts commit 3b97e37b52.
2022-04-19 09:56:26 +08:00
Xiang Xiao
3b97e37b52 tools/cibuild.sh: Download risc-v toolchain with --no-check-certificate
untils SiFive update their certification

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-04-18 17:07:21 +03:00
Xiang Xiao
a3e2b0a992 tools/cibuild.sh: Migrate risc-v toolchian from 8.3.0 to 10.2.0
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-04-18 17:07:21 +03:00
Xiang Xiao
ef1a98dd00 Remove the unneeded void cast
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-04-17 23:32:05 +03:00
nietingting
dd70d29d4e tools/mkdeps: Extend MAX_SHQUOTE to 3072
Signed-off-by: nietingting <nietingting@xiaomi.com>
2022-04-10 09:55:14 +03:00
liuhaitao
c4e2d88e6b Make top Make.defs symlink to board Make.defs instead
Symlink to board Make.defs for top Make.defs, so top Make.defs
syncs in realtime.

Signed-off-by: liuhaitao <liuhaitao@xiaomi.com>
2022-04-10 01:28:27 +02:00
liuhaitao
c998a2c9bf checkpatch.sh: add -m option to enable/disable Change-Id check
Defaultly disable Change-Id check in commit message.

Signed-off-by: liuhaitao <liuhaitao@xiaomi.com>
2022-04-09 22:06:54 +02:00
Xiang Xiao
074beff551 tools/checkrelease.sh: Don't check DISCLAIMER-WIP anymore
since all license is clean up now

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-04-08 21:00:56 -03:00
zhuyanlin
df6985e2bf jlink-nuttx: update regs as nuttx regs save path change
Signed-off-by: zhuyanlin <zhuyanlin1@xiaomi.com>
2022-04-05 13:33:00 +02:00
anjiahao
e597f3812d tools:use dump log creat a gdbsever to debug
this is a tool,when crash help you to debug.
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2022-03-25 17:55:12 +08:00
Xiang Xiao
3259b7d700 tools/jlink: Change the type of pid from uint16_t to uint32_t
follow up the bellow chnage:
commit 0f2f48f8ba
Author: Xiang Xiao <xiaoxiang@xiaomi.com>
Date:   Sun Mar 20 18:12:26 2022 +0800

    sys/type.h: Change pid_t from int16_t to int

    to fix the following warning:
    include/unistd.h:302:9: error: incompatible redeclaration of library function 'vfork' [-Werror,-Wincompatible-library-redeclaration]
    pid_t   vfork(void);
            ^
    include/unistd.h:302:9: note: 'vfork' is a builtin with type 'int (void)'

    and change 32768 to INT_MAX to match the type change

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-03-23 11:00:49 +02:00
Xiang Xiao
fa42ebace4 tools/nxstyle: Order g_white_prefix by alphanum
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-03-20 20:35:08 +02:00
Michael Mogenson
2c450be9e8 nxstyle: ignore mixed-case identifiers for Lua types 2022-03-20 23:32:20 +08:00
Petro Karashchenko
b302173f31 Revert "zig-build added"
This reverts commit 4880613b26.
2022-03-16 22:17:16 +02:00
Matheus Catarino França
4880613b26 zig-build added
zig install added on CI - fixed

Docker - zig install

parent 5d2e3573c25b48ba7c3d697de11e64896e818aea
author Matheus Catarino França <matheus-catarino@hotmail.com> 1647344723 -0300
committer Matheus Catarino França <matheus-catarino@hotmail.com> 1647344723 -0300

zig-build added

zig install added on CI - fixed

Docker - zig install

CI - replace wget2curl

rm bloat curl command & zig latest version

ZIG_ENV - rm bin folder

ident format

Apply suggestions from code review

Co-authored-by: Petro Karashchenko <petro.karashchenko@gmail.com>

rm arch-zigoptimization

rm arch-zigoptimization ref
2022-03-17 02:09:36 +08:00
Petro Karashchenko
e8213b9ae5 tools: define BOARD_COMMON_DIR only if ARCH_BOARD_COMMON is set
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2022-03-12 22:12:44 +08:00
chao.an
8cead9ec25 tools/ci: remove sim:segger from macOS build
macOS doesn't support --wrap flag

Signed-off-by: chao.an <anchao@xiaomi.com>
2022-03-09 22:32:39 +08:00
chao.an
99ba405535 tools/mkallsyms: add support to generate the symbol table without const
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-03-09 10:16:54 +02:00
Huang Qi
572f961136 ci: Update gcc-arm-none-eabi to 10.3-2021.10
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2022-03-02 15:41:56 +08:00
anjiahao
91e2b1341a tools:add parsememdump.py to parse memdump info(by cmd: memdump all)
This script will help you analyze memdump log files,
analyze the number of occurrences of backtrace,
and output stack information
memdump log files need this format:
pid   size  addr   mem

Signed-off-by: anjiahao <anjiahao@xiaomi.com>
Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2022-02-28 22:29:59 +08:00
Piet
b13fa5fc05 ci/tools: add rustfmt to checkfmt and ci config 2022-02-26 12:45:20 +08:00
Piet
29c55cdda6 ci: harmonize rust installation paths. 2022-02-23 10:31:01 +08:00
YAMAMOTO Takashi
3aa83d6146 tools/testbuild.sh: Add an optional step to run NuttX
I plan to use this to run sim:ostest (and probably other tests later)
on the CI.

The script indirection might allow future non-sim usage as well.
(like running it with qemu, or even on the real hardware.)
I have no plan to do it by myself right now though.
2022-02-22 13:30:57 +08:00
YAMAMOTO Takashi
75c5ae1207 tools/README.txt: Update testbuild.sh help text 2022-02-22 13:30:57 +08:00
Piet
fbfe457ced ci: add RUSTUP_HOME to get rustup parts into container 2022-02-21 18:45:47 -08:00
Piet
c5bdbc810d ci: get rust copied to final image. 2022-02-21 16:58:29 -08:00
Piet
bc3c316f5b ci: Install Rust via RUN. (2nd try) 2022-02-21 11:25:42 -03:00
Petro Karashchenko
7744ca998f Revert "ci: Install Rust via RUN."
This reverts commit 2e3b77da8e.
2022-02-21 11:41:32 +01:00
Piet
2e3b77da8e ci: Install Rust via RUN. 2022-02-21 11:04:58 +08:00
Xiang Xiao
163fe4ff0b boards: Replace CONFIG_CYGWIN_WINTOOL with CONVERT_PATH
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-02-20 21:15:36 +01:00
Xiang Xiao
1d1bdd85a3 Remove the double blank line from source files
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-02-20 20:10:14 +01:00
Piet
bb3d8c35e4 ci: add Rust compiler suite 2022-02-20 10:30:30 +08:00
Xiang Xiao
848d1ef0b7 tools/mkallsyms.sh: Disable the mismatch warning of builtin declaration
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-02-18 09:04:47 +01:00
Piet
8828a43219 Default macro to compile one Rust file 2022-02-17 15:35:27 -03:00
Peter Kalbus
6abdf73535 sim: Initial support on MacOS M1 and Linux AARCH64 based hosts. 2022-02-17 09:35:09 +08:00
Xiang Xiao
d056834605 Add CONFIG_NDEBUG Kconfig to control NDEBUG definition
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-02-16 12:03:07 -08:00
Alan Rosenthal
8defb843aa Remove duplicate linker script definitions
## Summary
A lot of linker scripts were listed twice, once for unix, once for windows.

This PR cleans up the logic so they're only listed once.

 ## Impact
Any opportunity to use a single source of truth and reduce lines of code is a win!

 ## Testing
CI will test all build
2022-02-17 02:55:25 +08:00
Michael Jung
fd8b087012 Fix JLinkGDBServer crash attaching to target
If attaching to a target that is already running JLinkGDBServer calls
RTOS_GetNumThreads() without a prior call to RTOS_UpdateThreads().  So
do this within RTOS_GetNumThreads() if g_plugin_priv.ntcb has not yet
been initialized.

Note: If after attaching the debugger to the target, the target is
resumed and then stopped again, the RTOS_UpdateThreads is actually
called.  Thus, we are not running on stale thread data in this case.

I also changed PLUGIN_VER to API_VER and its value to 101, as
RTOS_GetVersion() does not query the version of the plugin, but the API
version implemented by the plugin, which in our case is 1.1.

Signed-off-by: Michael Jung <mijung@gmx.net>
2022-02-15 23:05:15 +08:00
Michael Jung
0a37744826 Fix jlink-nuttx build with GCC 10.2
The packed-attribute on the tcb_info_s type was misplaced, which caused
incompatible memory layout between host and target.  According to
current GCC documentation:

> You may specify type attributes in an enum, struct or union type
> declaration or definition by placing them immediately after the struct,
> union or enum keyword.  You can also place them just past the closing
> curly brace of the definition, but this is less preferred because
> logically the type should be fully defined at the closing brace.

I also added jlink-nuttx.so to the .gitignore list and updated nxstyle
to ignore the camel case function names required by JLinkGDBServer.

Signed-off-by: Michael Jung <mijung@gmx.net>
2022-02-15 13:48:52 +01:00
Juha Niskanen
176d78938f tools/Unix.mk: silence output from version.sh
This fixes error:

  tools/Unix.mk:49: *** missing separator. Stop.

that can happen if version.sh is invoked on a git repository
that contains no tags.

See https://github.com/apache/incubator-nuttx/issues/5324

Signed-off-by: Juha Niskanen <juha.niskanen@haltian.com>
2022-02-15 02:01:50 +08:00
Anton Potapov
8f6be5e4ce Fix configure.sh for custom apps dir. 2022-02-14 21:28:07 +08:00
Xiang Xiao
d426875fcf tools/mkconfig: Remove the unnecessary config option correction
since Kconfig can handle the dependence correctly for us

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-02-09 14:34:38 -03:00
zouboan
ad3f16358e enable sparc's daily ci and eliminate some warnings 2022-02-03 14:43:21 +01:00
zouboan
09d57de7ec add sparc toolchain to linux docker 2022-02-03 13:20:39 +08:00
Xiang Xiao
7dfa768552 tools/nxstyle: add Segger RTT prototype name into white list
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-02-01 11:26:46 +01:00
Peter Kalbus
61acceb1ca Detect host CPU on MacOS/Linux running on ARM. 2022-01-29 20:49:50 -03:00
chao.an
11f04e516a drivers/segger: download the RTT/SystemView from github
RTT:
https://github.com/SEGGERMicro/RTT/archive/refs/tags/V7.54.zip

SystemView:
https://github.com/SEGGERMicro/SystemView/archive/refs/tags/V3.30.zip

Signed-off-by: chao.an <anchao@xiaomi.com>
2022-01-29 17:26:04 +08:00
chao.an
3fc18d50b8 tools/nxstyle: add Segger System View prototype name into white list
Reference:
https: //github.com/SEGGERMicro/SystemView/blob/master/SYSVIEW/SEGGER_SYSVIEW.h

Signed-off-by: chao.an <anchao@xiaomi.com>
2022-01-29 17:26:04 +08:00
Gustavo Henrique Nihei
b0d24f53c4 xtensa: Add initial support for ESP32-S3
Co-authored-by: Alan Carvalho de Assis <alan.carvalho@espressif.com>
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2022-01-27 13:46:50 -03:00
Petro Karashchenko
7b5af90565 tools/mkromfsimg.sh: add attribute to set minimum 4 bytes aignment for romfs image data
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2022-01-27 23:50:47 +08:00
Gustavo Henrique Nihei
281ec4682f docker/linux: Add ESP32-S3 toolchain and binaries
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2022-01-27 10:01:17 -03:00
zhuyanlin
6578461cc8 tcbinfo: add packet align to struct tcbinfo
Signed-off-by: zhuyanlin <zhuyanlin1@xiaomi.com>
2022-01-27 17:36:27 +08:00
zhuyanlin
8f1c6ee7bc tools/jlink-nuttx: update tcbinfo follow nuttx arch tcbinfo_s
Signed-off-by: zhuyanlin <zhuyanlin1@xiaomi.com>
2022-01-27 17:36:27 +08:00
Alexander Lunev
c45534f41b tools/nxstyle: fixed "Mixed case identifier found" errors related to sim/wpcap 2022-01-27 10:37:32 +08:00
chao.an
e518a9f031 tools/Config.mk: suppress all normal output for cmp
Fix build break:
make: *** No rule to make target 'byte', needed by 'differ'.  Stop.

Regression by:
-----------------------------------------------------
|commit 0951f70df6
|
|    Improve dependencies for include/nuttx/version.h
-----------------------------------------------------

Signed-off-by: chao.an <anchao@xiaomi.com>
2022-01-26 14:45:32 +01:00
Petro Karashchenko
48211f90d3 ci: select ARMV7A_TOOLCHAIN_GNU_EABIL for ARMv7-A based builds
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2022-01-25 20:24:28 +08:00
Alan Rosenthal
35905302d3 Cleanup boards/Makefile
Changes:
There was logic in `tools/Config.mk` which was duplicated in `boards/Makefile`.
This PR removes the duplicated logic in boards/Makefile
2022-01-24 11:17:55 +08:00
Xiang Xiao
9c74380b11 tools/ci: Enable build sim:cxxtest
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-01-20 18:01:54 +08:00
Xiang Xiao
2763f67640 tools/ci: Remove testlist/all.dat
since it isn't used anymore and mismatch with other *.dat

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-01-20 14:46:56 +08:00
YAMAMOTO Takashi
ec54c4e30d tools/ci/testlist/sim-01.dat: Enable libcxxtest for macOS 2022-01-20 01:16:56 +08:00
Petro Karashchenko
630c209bbc tools: add option to reuse boards common files for custom boards
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2022-01-19 12:09:37 +01:00
Petro Karashchenko
87e5b1b87c tools/mkromfsimg.sh: fix build error in case if romfs is used
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2022-01-19 12:09:22 +01:00
Alan C. Assis
dfd972a534 z80: Fix z80sim build system 2022-01-15 11:37:28 +08:00
Gustavo Henrique Nihei
42ffae2d2d tools/esp: Fix App image alignment when Flash Encryption is enabled
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2022-01-05 17:04:19 -03:00
Gustavo Henrique Nihei
10a8dc9f22 tools/esp: Prevent reset after flash when Flash Encryption is enabled
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2022-01-05 17:04:19 -03:00
Gustavo Henrique Nihei
6053de27ce tools: Fix parallel build issue due to missing dependency
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2022-01-05 23:27:30 +08:00
Alan Rosenthal
f4d74b52d8 Rename tools/Makefile.* to have the .mk extension
This PR renames `tools/Makefile.*` to have the `.mk` extension. This PR also updates `README.md` and other files that references the other files.
Note: Skipped Makefile.host for this PR since it caused failures in CI for the sim build

By using a standard extension for Makefiles (https://www.file-extension.info/format/mk), editors will auto-format files.
This change will also improve developer ergonomics when searching for specific files

Verified locally that build still works, CI will verify more!
2022-01-05 18:33:16 +08:00
Alan Rosenthal
57a19de451 Improve dirlinks dependencies for Makefile.win
This PR improved dirlinks dependencies for Makefile.unix: https://github.com/apache/incubator-nuttx/pull/5069

This PR copies the changes into Makefile.win
2022-01-05 02:03:08 +08:00
Alan Rosenthal
0951f70df6 Improve dependencies for include/nuttx/version.h
`include/nuttx/version.h` is dependent on `.version`, which needs to run for every invocation of make, since git info can update at any time.
Currently the `.version` target is PHONY, thus making `include/nuttx/version.h` and `context` targets (and every target that depends on `context`) have to run every time.

This PR modifies `.version` so it's a real rule. Additionally, `tools/version.sh` is run every invocation of make. This maintains the current behavior while preventing some targets from needlessly running every time
2022-01-04 17:49:39 +01:00
Eero Nurkkala
b4d2944df7 tools/mpfs: prepare OpenSBI image
Polarfire Icicle board has only (128K - 256) bytes for the bootloader
in the non-volatile eNVM. This space is barely enough for running NuttX.
If OpenSBI is selected, it will be placed in DDR. This all means the
nuttx.bin file grows into gigabyte size, filling the unused space (ddr -
envm) with zeroes.

The memory layout is as follows:

MEMORY
{
    ddr  (rx)          : ORIGIN = 0x80000000, LENGTH = 4M
    envm (rx)          : ORIGIN = 0x20220100, LENGTH = 128K - 256
    l2lim  (rwx)       : ORIGIN = 0x08000000, LENGTH = 1024k
    l2zerodevice (rwx) : ORIGIN = 0x0A000000, LENGTH = 512k
}

OpenSBI library is used as a separate binary, which is stored into
eMMC or SD-card. It is then loaded into its precise location in DDR.

Thus, we separate OpenSBI from NuttX and end up with two images
by utilizing the objcopy options:

  --only-section=sectionpattern (-j in short)
  --remove-section=sectionpattern (-R in short)

This is only valid when CONFIG_MPFS_OPENSBI is set.

Signed-off-by: Eero Nurkkala <eero.nurkkala@offcode.fi>
2022-01-04 19:45:14 +08:00
Alan Rosenthal
2366795786 Improve dependencies for dirlinks.
This PR updates the dependencies for `dirlinks` so they're all real files. This allows `dirlinks` rule to not have to be rerun every time.
This PR also changes the name from `dirlinks` to `.dirlinks`, since a file named `.dirlinks` is created to denote that all symlinks have been created

Changes:
* tools/link.sh
  * link.sh now detects broken symlinks. Previously, it would return `0` if the symlink existed, but didn't point to anything.

* tools/Makefile.unix
  * Added dependencies to symlinks as order-only prerequisites. See https://www.gnu.org/software/make/manual/html_node/Prerequisite-Types.html
  * Removed `touch` from symlink recipes by specifying them as order only prerequisites.
  * Check Kconfig variables before adding directories as symlinks
  * Added rule for `$(TOPDIR)/arch/dummy/Kconfig`
  * Added rule for `$(ARCH_SRC)/board/board`
  * Added pattern rule (similar to `CONTEXTDIRS_DEPS`) for external folder dirlink dependencies
  * Use $(APPDIR) instead of $(CONFIG_APPS_DIR), since on line 64 $(APPDIR) is validated and `realpath` is called on the path
  * Added a rule `clean_dirlinks` to cleanup the symlinks in the correct order

* .gitignore
  * Added ignore rule for `.dirlinks`

Testing
Step 1: configure nuttx:
```
$ (cd tools && ./configure.sh -a ../incubator-nuttx-apps stm32f3discovery:nsh)
```
part of the configure step ends up calling `.dirlinks`.

Step 2: We can confirm that `.dirlinks` doesn't need to be run again by running with the question flag: `--question`
```
$ make .dirlinks --question
$ echo $?
0
```

Step 3: confirm `make` succeeds.
```
make
```
2022-01-03 17:12:18 +01:00