Commit Graph

1698 Commits

Author SHA1 Message Date
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
ligd
75aec04330 serial: add CONFIG_TTY_LAUNCH support
this allow user start new program from tty

Signed-off-by: ligd <liguiding1@xiaomi.com>
2022-01-01 20:38:26 +08:00
Gustavo Henrique Nihei
9e5e60ba48 esp32s2/esp32c3: Build MCUboot bootloader with Flash Encryption support 2022-01-01 20:37:44 +08:00
zhouliang3
1f53a058fa nuttx:Change fs strncpy to strlcpy to avoid losing'\0'
Signed-off-by: zhouliang3 <zhouliang3@xiaomi.com>
2021-12-30 18:06:00 +08:00
Alan Rosenthal
88f07bd229 Remove .clean_context
These changes are from this PR: https://github.com/apache/incubator-nuttx/pull/5069
However I felt they were better as a stand only change.

The `.clean_context` dependency didn't make sense. It was a workaround to ensure that `context` was cleaned when the `.config` changed.
Rather than having a work around, this PR ensures that `clean_context` is run when the `olddefconfig` target is run

Verified locally by running: `tools/testbuild.sh -j 100 -e '-Wno-cpp -Werror' tools/ci/testlist/arm-01.dat`
2021-12-30 12:05:00 +08:00
Huang Qi
c2e8c92b25 arch/risc-v: Refine Toolchain.defs
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2021-12-28 00:30:10 -06:00
Petro Karashchenko
3ccb657dc2 nuttx: remove space befone newline in logs
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2021-12-27 21:01:19 -06:00
ligd
10ccba6671 init: move USERMAIN_XX out of INIT_ENTRYPOINT
Signed-off-by: ligd <liguiding1@xiaomi.com>
2021-12-24 08:23:30 -06:00
Alan Rosenthal
5d07dc96a8 Improve Makefile.[unix|win]::context's dependencies
This pull request improves the dependencies for Makefile.unix::context rule.
* `include/math.h`, `include/float.h`, `include/stdarg.h`, `include/setjmp.h` are only added to `context`'s dependency if the Kconfig value is set. This prevents `context` from trying to make `include/math.h` only to find out there's no command to create the file.
* Instead of executing $(CONTEXTDIRS) in a for loop in the `context` rule, $(CONTEXTDIRS) are added as a dependency to `context` and a rule is created to create the targets. Real files are used, to prevent needlessly rebuilding the same `context` over and over and over again.
* Instead of making the directory `staging`, add it as an order-only dependency for `context`. this ensures the directory is only created if it doesn't exist.

Tested by running:
```
(cd tools && ./configure.sh -a ../incubator-nuttx-apps stm32f3discovery:nsh)
make context
```

First time running context:
```
➜  incubator-nuttx git:(improve-make-context) time make context
make[1]: Entering directory '/home/user/code/fitbit/incubator-nuttx/tools'
make[1]: Leaving directory '/home/user/code/fitbit/incubator-nuttx/tools'
make[1]: Entering directory '/home/user/code/fitbit/incubator-nuttx'
make[2]: Entering directory '/home/user/code/fitbit/incubator-nuttx/boards'
make[2]: Leaving directory '/home/user/code/fitbit/incubator-nuttx/boards'
make[2]: Entering directory '/home/user/code/fitbit/incubator-nuttx-apps'
make[3]: Entering directory '/home/user/code/fitbit/incubator-nuttx-apps/platform'
make[3]: Leaving directory '/home/user/code/fitbit/incubator-nuttx-apps/platform'
make[3]: Entering directory '/home/user/code/fitbit/incubator-nuttx-apps/builtin'
make[3]: Leaving directory '/home/user/code/fitbit/incubator-nuttx-apps/builtin'
make[2]: Leaving directory '/home/user/code/fitbit/incubator-nuttx-apps'
make[2]: Entering directory '/home/user/code/fitbit/incubator-nuttx/graphics'
make[3]: Entering directory '/home/user/code/fitbit/incubator-nuttx/graphics/nxglib'
make[3]: Leaving directory '/home/user/code/fitbit/incubator-nuttx/graphics/nxglib'
make[3]: Entering directory '/home/user/code/fitbit/incubator-nuttx/graphics/nxglib'
make[3]: Leaving directory '/home/user/code/fitbit/incubator-nuttx/graphics/nxglib'
make[3]: Entering directory '/home/user/code/fitbit/incubator-nuttx/graphics/nxglib'
make[3]: Leaving directory '/home/user/code/fitbit/incubator-nuttx/graphics/nxglib'
make[2]: Leaving directory '/home/user/code/fitbit/incubator-nuttx/graphics'
make[1]: Leaving directory '/home/user/code/fitbit/incubator-nuttx'
Create .version
make[1]: Entering directory '/home/user/code/fitbit/incubator-nuttx/tools'
make[1]: Leaving directory '/home/user/code/fitbit/incubator-nuttx/tools'
Create version.h
LN: include/arch to arch/arm/include
LN: include/arch/board to /home/user/code/fitbit/incubator-nuttx/boards/arm/stm32/stm32f3discovery/include
LN: include/arch/chip to arch/arm/include/stm32
LN: arch/arm/src/board to /home/user/code/fitbit/incubator-nuttx/boards/arm/stm32/stm32f3discovery/../common
LN: arch/arm/src/board/board to /home/user/code/fitbit/incubator-nuttx/boards/arm/stm32/stm32f3discovery/src
LN: arch/arm/src/chip to arch/arm/src/stm32
LN: /home/user/code/fitbit/incubator-nuttx/drivers/platform to /home/user/code/fitbit/incubator-nuttx/drivers/dummy
make[1]: Entering directory '/home/user/code/fitbit/incubator-nuttx/boards'
make[1]: Leaving directory '/home/user/code/fitbit/incubator-nuttx/boards'
make[1]: Entering directory '/home/user/code/fitbit/incubator-nuttx-apps'
make[2]: Entering directory '/home/user/code/fitbit/incubator-nuttx-apps/platform'
LN: platform/board to /home/user/code/fitbit/incubator-nuttx-apps/platform/dummy
make[2]: Leaving directory '/home/user/code/fitbit/incubator-nuttx-apps/platform'
make[1]: Leaving directory '/home/user/code/fitbit/incubator-nuttx-apps'
make context  0.95s user 0.45s system 109% cpu 1.281 total
```
second time running context:
```
➜  incubator-nuttx git:(improve-make-context) time make context
Create .version
Create version.h
LN: include/arch/board to /home/user/code/fitbit/incubator-nuttx/boards/arm/stm32/stm32f3discovery/include
make[1]: Entering directory '/home/user/code/fitbit/incubator-nuttx/boards'
make[1]: Nothing to be done for 'dirlinks'.
make[1]: Leaving directory '/home/user/code/fitbit/incubator-nuttx/boards'
make[1]: Entering directory '/home/user/code/fitbit/incubator-nuttx-apps'
make[2]: Entering directory '/home/user/code/fitbit/incubator-nuttx-apps/platform'
LN: platform/board to /home/user/code/fitbit/incubator-nuttx-apps/platform/dummy
make[2]: Leaving directory '/home/user/code/fitbit/incubator-nuttx-apps/platform'
make[1]: Leaving directory '/home/user/code/fitbit/incubator-nuttx-apps'
make context  0.30s user 0.20s system 121% cpu 0.414 total
```
2021-12-22 16:10:13 -03:00
Gustavo Henrique Nihei
1c8e84b341 risc-v/esp32c3: Add Secure Boot support on top of MCUboot
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2021-12-21 07:02:40 -06:00
Gustavo Henrique Nihei
f542ab4564 xtensa/esp32s2: Add Secure Boot support on top of MCUboot
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2021-12-21 07:02:40 -06:00
Gustavo Henrique Nihei
d22a2aa7a0 xtensa/esp32: Refactor makefiles for compliance to Function Call Syntax
According to Make documentation:
- "Commas and unmatched parentheses or braces cannot appear in the text
  of an argument as written";
- "Leading spaces cannot appear in the text of the first argument as
  written".

Although in the current state it was not resulting in parsing issues, it
is better to fix it.

Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2021-12-21 07:02:40 -06:00
Gustavo Henrique Nihei
6c3223289f xtensa/esp32: Add Secure Boot support on top of MCUboot
This adds the capabitlity of building signed images on NuttX.

Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2021-12-21 07:02:40 -06:00
chao.an
d20bd62e08 libc/allsyms: Load all symbols for debugging
let the nuttx print out symbolic crash information and
symbolic stack backtraces. This increases the size of the nuttx
somewhat, as all symbols have to be loaded into the nuttx image.

Signed-off-by: chao.an <anchao@xiaomi.com>
2021-12-13 08:31:13 -06:00
Xiang Xiao
1ba1f3f24b tools/size_report.py: Fix the lint error
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-12-05 16:55:52 +01:00
Xiang Xiao
9bc00c4b58 tools: Rename size_report to size_report.py
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-12-05 16:55:52 +01:00
Lingao Meng
5ed85ef476 tools: Adapt Zephyr/zephyr to Nuttx/nuttx
Adapt Zephyr/zephyr to Nuttx/nuttx

Signed-off-by: Lingao Meng <menglingao@xiaomi.com>
2021-12-03 08:16:52 -06:00
Lingao Meng
87772796e3 tools: Add size report script
Add a resource statistics script, which can be used to
analyze the resource occupation of ELF files, including
BSS, data, ROM, etc.

Signed-off-by: Lingao Meng <menglingao@xiaomi.com>

LICENSE: Add size_report to license file

Declare license for intel Corporation.

Signed-off-by: Lingao Meng <menglingao@xiaomi.com>
2021-12-03 08:16:52 -06:00
Aaron Rumpler
422b596987 tools/rp2040: Compile with C++14 2021-12-01 06:54:41 -06:00
Petro Karashchenko
298c372afa tools/nxstyle: fix nxstyle check for pointer to function types
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2021-11-26 14:55:34 -03:00
Xiang Xiao
36a6f4cd09 tools/checkrelease.sh: Launch nuttx after build
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-11-23 17:17:24 +01:00
Xiang Xiao
403b09fa60 tools/release.sh: Build sim:asan instead of sim:nsh
since sim:asan could do more check

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-11-23 17:17:24 +01:00
chao.an
33044cdd10 tools/gdbinit: fix symbol mismatch if BOARD_LATE_INITIALIZE disable
Signed-off-by: chao.an <anchao@xiaomi.com>
2021-11-22 21:58:06 -06:00
chao.an
6268fbd208 tools/gdbinit: add sim:x86-m32 support
Signed-off-by: chao.an <anchao@xiaomi.com>
2021-11-22 21:58:06 -06:00
zhuyanlin
407bc04934 tools: add gdbplugin for JLinkGDBServer nuttx thread aware
Use `JLinkGDBServer -rtos libnuttxplugin` to add this plugin.
Then in gdb can use command:
  - `info threads` to show all threads infos
  - `thread (id) ` to switch thread.
  - `bt` to show thread backtrace.

Signed-off-by: zhuyanlin <zhuyanlin1@xiaomi.com>
2021-11-10 14:31:10 -03:00
Xiang Xiao
eee85faab1 tools/mkconfig: Remove the redundant skip_space
the same thing is already done at line 136
and remove the redundant cast too

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-11-07 18:47:14 +01:00
Xiang Xiao
e81182df14 tools/mkconfig: Handle string with escape character correctly
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-11-07 18:47:14 +01:00
Xiang Xiao
df877a8a91 boards/sim: Add new config for KASan
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-11-02 13:32:47 -03:00
chenwei23
39cdd99d77 mm: Support the kernel address sanitizer
Signed-off-by: chenwei23 <chenwei23@xiaomi.com>
2021-11-02 13:32:47 -03:00
yinshengkai
ee17ae5ba1 tool: add code coverage tool 2021-10-29 19:21:23 +02:00
liucheng5
d1ebdf6e65 fix: nxstyle: fix a bug after "'\'"
When nxstyle.c detects a "\'", it seeks the other "\'", records the index as "endndx", then skip the "'x'". But it makes the index "n" as "endndx+1".Then it comes to the "n++" in "for()". So the character after "'x'" will be skipped, causing some errors.
For example, "{"devid", no_argument, NULL, 'i'},", the "}" will be skipped, causing a lot of error reports.
Now it's fixed.

Signed-off-by: liucheng5 <liucheng5@xiaomi.com>
2021-10-28 09:59:36 -05:00
Tomasz 'CeDeROM' CEDRO
2abe1e9282 configure/sethost: Add BSD host (-B switch) + MAKECMD (make vs gmake).
This patch adds -B switch to select BSD host platforms.

Linux uses GNU Make as default, command is `make`.
BSD uses BSD Make as default, command is also `make`.
BSD can also use GNU Make, but the command is `gmake`.
This patch uses `make` on GNU platforms and `gmake` on BSD platforms.

Signed-off-by: Tomasz 'CeDeROM' CEDRO <tomek@cedro.info>

tools/sethost.sh: Add BSD host (-B switch) + MAKECMD (make vs gmake).

Signed-off-by: Tomasz 'CeDeROM' CEDRO <tomek@cedro.info>

tools/configure.c: Add BSD host (-B switch).

Signed-off-by: Tomasz 'CeDeROM' CEDRO <tomek@cedro.info>
2021-10-25 16:39:13 -03:00
Gustavo Henrique Nihei
eb889b0884 xtensa/esp32s2: Enable Partition Table allocation at custom offset
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2021-10-25 16:34:58 -03:00
Gustavo Henrique Nihei
eb7ffd014e risc-v/esp32c3: Enable Partition Table allocation at custom offset
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2021-10-25 16:34:58 -03:00
Gustavo Henrique Nihei
9d7b9821b3 xtensa/esp32: Enable Partition Table allocation at custom offset
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2021-10-25 16:34:58 -03:00
Gustavo Henrique Nihei
0299e7d35d tools/esp32: Refactor generation of QEMU-compatible image
Use the merge_bin builtin function from esptool.py.

Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2021-10-19 23:23:43 +02:00
Xiang Xiao
8b67944c75 sched: Remove pidhash_s and move ticks to tcb_s
simplify the code logic and reduce memory a little bit

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-10-16 06:19:17 -03:00
Alan C. Assis
e0389ce1fb build: Replace 'make download' with 'make flash' 2021-10-14 16:33:27 -03:00
Abdelatif Guettouche
04a6e1cc29 tools/configure.sh: Copy output to stderr on errors.
This helps when redirecting stdout to /dev/null (as in the CI for example) and still be able to catch error output.

Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2021-10-06 07:47:45 -07:00
Alin Jerpelea
38fa30ee2a tools: Gregory Nutt : update licenses to Apache
Gregory Nutt is the copyright holder for those files and he has submitted the
SGA as a result we can migrate the licenses to Apache.

Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2021-09-28 08:05:59 -06:00
Dave Marples
a8ddb6e7af Copyright transfer
This code is herby transferred from my copyright to Greg Nutt. The
comments at the head of the file have been updated accordingly.
2021-09-28 15:43:03 +02:00
Gustavo Henrique Nihei
3c63cb522c risc-v/esp32c3: Enable booting from MCUboot bootloader
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2021-09-27 18:22:29 -07:00
Gustavo Henrique Nihei
17ec1d04c0 tools/esp32: Remove unneeded variable initialization
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2021-09-27 18:22:29 -07:00
Gustavo Henrique Nihei
800678ca78 xtensa/esp32s2: Enable booting from MCUboot bootloader
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2021-09-27 18:21:53 -07:00
Abdelatif Guettouche
44268bac1f tools/ci/Docker: Download the latest ESPxx Xtensa toolchain 2021-09-24 18:17:22 -03:00
Abdelatif Guettouche
6526966987 tools/ci/cibuild.sh: Update the downloaded ESP Xtensa toolchain.
Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2021-09-24 18:17:22 -03:00
Gustavo Henrique Nihei
86518bdf25 tools: Trigger clean_bootloader on distclean for supported chips
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2021-09-24 10:48:19 -07:00
Gustavo Henrique Nihei
8816f21ba2 tools: Add new make targets for handling bootloader-related operations
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2021-09-23 20:52:25 -07:00
liucheng5
b42d2a7284 fix: nxstyle: detect --,->,++ not next to operand
The nxstyle check tool can't recongnize the style error that --, -> or ++ is not next to the operand. For example, "idx ++;", "p ->member" or "(-- idx)", which is in incorrect style, is not recongnized. This patch add detection for these cases.

Signed-off-by: liucheng5 <liucheng5@xiaomi.com>
2021-09-19 11:06:05 -04:00
Takayoshi Koizumi
7a68470e89 mkromfsimg: Add optional rcS file path
Add an option to mkromfsimg.sh to specify the target rcS file path.
2021-09-13 08:50:36 +08:00
Abdelatif Guettouche
cca3fa36ce tools/espXX/Config.mk: Refactor the flash options.
Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2021-09-08 09:25:28 -03:00
Gustavo Henrique Nihei
adef19704d tools/esp32[s2,c3]: Extract POSTBUILD operations into functions
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2021-09-08 12:16:52 +02:00
Gustavo Henrique Nihei
310a2dd0e4 tools/esp32c3: Create option for merging all binaries into a single file
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2021-09-08 12:16:52 +02:00
Gustavo Henrique Nihei
12b4d22757 tools/esp32s2: Create option for merging all binaries into a single file
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2021-09-08 12:16:52 +02:00
Gustavo Henrique Nihei
6de75d9932 tools/esp32: Add nuttx.signed.bin to the manifest file
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2021-09-08 12:16:52 +02:00
Gustavo Henrique Nihei
c0344d2273 tools/esp32: Create option for merging all binaries into a single file
This is only useful when the path to binary files (e.g. bootloader) is
provided via the ESPTOOL_BINDIR variable.

Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2021-09-08 12:16:52 +02:00
yangjiukui
014d6d026c tools/nxstyle: Fix the check tool incorrectly reported no alignment.
The nxstyle check tool recognizes the division operator as
a comment. Check the following content to determine whether
it is a comment.

Change-Id: Id07c6668489895b45a1042794bc3acca66cd3c47
Signed-off-by: yangjiukui <yangjiukui@xiaomi.com>
2021-09-08 09:45:06 +08:00
liuhaitao
a48d81b9ad checkpatch.sh: add check gerrit Change-ID support
Signed-off-by: liuhaitao <liuhaitao@xiaomi.com>
2021-09-08 09:44:47 +08:00
liucheng5
fdb9576d7a feature: driver: Add a Linux SPI into simulator.
When SIM_SPI is valid, a specified Linux SPI device ‘spidevN.P’(N is bus number and P is CS number) is attached to nuttx simulator, shown as 'spi0' under /dev. One may type spi command (need SPITOOL valid) in NSH to control the Linux SPI and exchange data, other devices such sensors can use it to debug in simulator on a Ubuntu PC. Note that a USB<>SPI module (e.g. CH341A/B) should be plugged in to achieve Linux SPI ports.

Change-Id: I275b2c2bbf6d14bcdf514c89efb9a2264d69e9a3
Signed-off-by: liucheng5 <liucheng5@xiaomi.com>
2021-09-03 18:15:25 +08:00
Alin Jerpelea
87f173f430 tools: update licenses to Apache
Ken Pettit has submitted the ICLA as a result we can migrate the licenses to Apache.

Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2021-09-02 21:56:05 +08:00
zhuyanlin
5c5975d887 makefile: let clean_context in distclean command
In multi-jobs build, `distclean` may be faster than `clean_context`,
Fix the case `distclean` use the dirctorys that have been
removed by `clean_context` in board/xtensa with xt-xcc
2021-09-02 15:05:33 +08:00
Gustavo Henrique Nihei
8af91aae3d tools/ci: Omit error message when tool is not found
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2021-09-02 14:21:58 +08:00
Gustavo Henrique Nihei
08ae93c1de tools/ci: Fix issues reported by ShellCheck
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2021-09-02 14:21:58 +08:00
Gustavo Henrique Nihei
98c30c2f7e tools/esp32: Rename signed binary image to match clean pattern
This is just a workaround for adding the MCUboot signed binary image to
the clean step of the build system. Once the NuttX build system becomes
aware of general signed images, a new naming pattern should be defined
for the signed images to be used by every platform.

Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2021-09-01 14:13:28 -03:00
Gustavo Henrique Nihei
23effc505c tools/ci: Install imgtool for CI build
This is mainly required for macOS builds which do not rely on a base
Docker image that would contain imgtool already preinstalled.

Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2021-08-31 11:21:58 +08:00
Gustavo Henrique Nihei
bdbbc3e514 tools/ci: Add imgtool to Docker image
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2021-08-31 11:21:58 +08:00
Xiang Xiao
a941c93f72 openamp: Move the download to context target
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-08-29 20:02:24 +02:00
Alin Jerpelea
dc590e6414 tools: cxd56: update licenses to Apache
Sony has submitted the SGA and we can update the remaining licenses
to Apache

Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2021-08-27 02:56:22 +08:00
Abdelatif Guettouche
15fb70cb00 libs/libxx: Download C++ libraries during context.
Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2021-08-19 03:05:54 -07:00
YAMAMOTO Takashi
c073b36741 tools/esp32/backtrace.gdbscript: Add a few convenient functions 2021-08-16 11:01:13 +02:00
Abdelatif Guettouche
6b412c873b tools/esp32/Config.mk: Bring back the old behaviour where ESPTOOL_BINDIR
can be omitted from the command line when flashing.

Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2021-08-13 20:46:51 -03:00
Abdelatif Guettouche
11fe075e5e tools/esp32/Config.mk: Remove an unused option.
Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2021-08-13 20:46:51 -03:00
Gustavo Henrique Nihei
1dfcc6ab49 xtensa/esp32: Enable boot from Espressif's port of MCUboot
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2021-08-13 08:44:20 -03:00
jsun
bb63afde1e Documentation/bl602: Update some imformation; Add partition.toml in tool/bl602 2021-07-27 21:01:15 -07:00
Masayuki Ishikawa
757c0cbf81 tools: Add armv7-a support to nuttx-gdbinit
Summary:
- This commit adds armv7-a support to nuttx-gdbinit

Impact:
- None

Testing:
- Tested sabre-6quad:smp with QEMU

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2021-07-21 20:42:48 -07:00
Abdelatif Guettouche
e85b119363 arch/: Clean what was made during context in distclean.
Cleaning during `clean_context` had the issue of remaking everything
when `menuconfig` was issued.  That's because `menuconfig` has a
`clean_context` on its way.

Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2021-07-21 16:52:36 -03:00
Masayuki Ishikawa
8660572a3c tools: Fix nuttx-gdbinit
Summary:
- I noticed that nuttx-gdbinit does not work.
- Finally, I found that the g_pidhash had been changed recently.
- This commit fixes this issue.

Impact:
- None

Testing:
- Tested with lm3s6965-ek:discover (QEMU)

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2021-07-21 03:49:35 -07:00
baggio63446333
383b2b7af2 tools/version.sh: Fix version number to get on master branch
Fix an issue that the nuttx version is not '10.1.0' but '10.1.0-RC1'
on the master branch. Add a pattern match of "nuttx-" to tags obtained
from git describe.
2021-07-19 08:40:23 -03:00
YAMAMOTO Takashi
0e76a16545 tools/esp32/backtrace.gdbscript: don't modify registers
* it wasn't intended.

* it doesn't always work:

    (gdb) source tools/esp32/backtrace.gdbscript
    (gdb) esp32_bt 0x40139706 0x80139811 0x3ffafd40
    Attempt to assign to an unmodifiable value.
    (gdb)
2021-06-28 01:11:34 -05:00
Gustavo Henrique Nihei
817d81d38f tools/ci: Revert workaround for issue with avr-binutils
avr-binutils homebrew recipe has been fixed upstream:
https://github.com/osx-cross/homebrew-avr/issues/243

This reverts commit 37e30ccc54.
2021-06-12 07:16:23 +09:00
Alexander Lunev
1bb23a7a33 boards: lm3s6965-ek: added config to run NuttX with enabled NXFLAT binary loader mode on QEMU;
Conditionally turn off -mpic-data-is-text-relative flag to access bss via the GOT
(https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=139630111).

This is related to issue #3737.
2021-06-09 12:03:35 -05:00
Gustavo Henrique Nihei
37e30ccc54 tools/ci: Workaround conflict with x86_64-elf-binutils after avr-gcc
version bump
2021-06-04 21:04:32 -07:00
Abdelatif Guettouche
2004acdeb1 boards/esp32s2: Remove anything that has to do with QEMU since it's not
supported.

Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2021-06-01 12:43:15 -05:00
Abdelatif Guettouche
9f4a5e67da docker/linux: Add ESP32-S2 toolchain and binaries.
Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2021-06-01 09:08:52 -05:00
Abdelatif Guettouche
8347a56bc0 Improve and remove not necessary board configuration 2021-06-01 07:49:54 +02:00
Nakamura, Yuuichi
72d2fc547e tools/mksyscall: Fix build break of syscall instrumentation wrapper 2021-05-31 22:36:50 -05:00
Alin Jerpelea
cde107f96b tools: update licenses to Apache
Gregory Nutt is the copyright holder for those files and he has submitted the
SGA as a result we can migrate the licenses to Apache.

Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2021-05-27 08:07:25 +09:00
Xiang Xiao
b3e1d1c3df tools/ci: Remove sim01.dat and sim02.dat
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-05-16 21:03:22 -07:00
Xiang Xiao
09a0ed111c tools/ci: Rename sim0x.dat to sim-0x.dat to align with arm-xx.dat
To avoid the build break sim0x.dat will remove in the upcoming patch

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-05-16 10:39:16 -07:00
Gustavo Henrique Nihei
b5ee9b673c tools: Add a bash completion script for the configure tool 2021-05-15 08:37:39 -03:00
Xiang Xiao
2f65c3dd74 boards/sim: Remove the hardcode platorm config
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-05-13 10:44:16 -05:00
Matias N
4befbdfa4b docker: add ninja-build 2021-05-12 11:30:53 -07:00
Gustavo Henrique Nihei
f547883747 tools/nxstyle: Extend check to any URI scheme 2021-05-07 19:38:10 -07:00
Gustavo Henrique Nihei
886009f15f tools/nxstyle: Add _Atomic keyword to whitelisted words 2021-05-06 06:48:59 -07:00
Abdelatif Guettouche
1ea25a83fe tools/esp32/mk_qemu_img.sh: Group the offsets in variables. 2021-05-03 11:11:32 -03:00
Abdelatif Guettouche
f08aa47927 tools/esp32/mk_qemu_img.sh: Refactor the dd commands and suppress all the
status output.

Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2021-05-03 11:11:32 -03:00
Matias N
3fef111509 docker: add cmake 2021-04-22 14:31:17 -07:00
chao.an
692856a626 tools/nxstyle: rename exception _Unwind_Ptr to _Unwind to support fuzzy match
Signed-off-by: chao.an <anchao@xiaomi.com>
2021-04-19 04:45:04 -07:00
jturnsek
61b0e530b0 Default config without flexspi and mtd 2021-04-14 14:57:26 -07:00
Jukka Laitinen
8334843bad Make noreturn proxies and stubs actually not return
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-04-12 03:57:35 -05:00
Jukka Laitinen
82a75122b0 Revert "mksyscall: Suppress "'noreturn' function does return" warnings"
This reverts commit f01953d364.
2021-04-12 03:57:35 -05:00
Christian Clauss
15932fa9ea Lint Python code with flake8 and isort 2021-04-10 08:36:29 -07:00
raiden00pl
56abcb2b97 tools/ci/testlist/sim01.dat: ignore FOC example (CONFIG_SIM_M32=y) 2021-04-10 06:43:53 -05:00
Christian Clauss
55026e87af Undefined name: true --> True
% `flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics`
```
./incubator-nuttx/tools/flash_writer.py:360:46: F821 undefined name 'true'
                    print("#", end="", flush=true)
                                             ^
1     F821 undefined name 'true'
1
```
2021-04-09 08:05:02 -05:00
Alin Jerpelea
7c8c6785ca NuttX: NX Engineering, S.A: update licenses to Apache
NX Engineering, S.A has submitted the SGA and we can migrate the licenses
 to Apache.

Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2021-04-05 06:07:48 -05:00
Brennan Ashton
15b99d1f4b CI: Migrate ci tooling from testing repository to main os repo 2021-04-05 01:22:48 -05:00
Xiang Xiao
9097244cb8 build: Makefile should reference CONFIG_HOST_xxx
instead to detect the host through uname

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-04-04 23:20:35 -07:00
Brennan Ashton
dac6a8421b lint tools/lwl/ocdconsole.py 2021-04-04 23:29:27 -05:00
Brennan Ashton
3a97f0e5bd lint licensing 2021-04-04 23:29:27 -05:00
Brennan Ashton
6b4e7d0fe7 lint tools/parsecallstack.py 2021-04-04 23:29:27 -05:00
Brennan Ashton
38cb837838 lint tools/ide_exporter.py 2021-04-04 23:29:27 -05:00
Brennan Ashton
d71e0d75b1 Lint tools/flash_writer.py 2021-04-04 23:29:27 -05:00
Brennan Ashton
7386cc3665 Port tools/discover.py to py3 and lint 2021-04-04 23:29:27 -05:00
Brennan Ashton
d2f922dc4d xmlrpc_test.py port to py3 and format 2021-04-04 23:29:27 -05:00
Brennan Ashton
97676a3c06 Remove fork of python xmodem that is an active project 2021-04-04 23:29:27 -05:00
Xiang Xiao
33d5f923b6 tools/testbuild.sh: Quote the parameter expansion pattern by "
to enable the exact match(disable glob match)

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-04-03 20:38:45 -03:00
Alin Jerpelea
f878390c6d tools: nxstyle: add exception for X11 keysymdef
Add exception for XK_* Mixed Case defined by X11 keysymdef.h

Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2021-04-03 11:56:35 -05:00
Alin Jerpelea
c7c3683845 tools: nxstyle: add Mixed case exceptions for nfs
add exceptions for nfs to avoid future false warnings

Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2021-04-03 09:37:06 -05:00
Alin Jerpelea
853d019904 tools: Richard Cochran : update licenses to Apache
Richard Cochran has submitted the ICLA and we can migrate the 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-04-03 09:36:43 -05:00
Alin Jerpelea
26fef3f6a1 NuttX: Fix nxtyle errors
Fix errors reported by nxstyle

Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2021-04-03 04:20:31 -07:00
Alin Jerpelea
08e5378b11 NuttX: Gregory Nutt: update licenses to Apache
Several licenses were missed in the initial work

David Sidrane has submitted the ICLA and we can migrate the 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-04-03 04:20:31 -07:00
Alin Jerpelea
f8aed9864d NuttX: Max Holtzberg: update licenses to Apache
Max Holtzberg has submitted the ICLA and we can migrate the 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-04-01 12:13:12 -05:00
Abdelatif Guettouche
aaedc99612 nxstyle: Fix typos in reported errors.
Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2021-04-01 07:06:49 -05:00
Alin Jerpelea
2a03582541 nxstyle: add Mixed Case exceptions
Add _Far and _Erom to the mixed case exceptions
Ref:
nuttx/compiler.h

Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2021-03-31 09:17:54 -07:00
Alin Jerpelea
579c70a598 tools: Author David Sidrane: update licenses to Apache
David Sidrane has submitted the ICL and we can migrate the 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-22 19:28:38 -07:00
Alin Jerpelea
122f59b761 tools; nxstyle: add exception for ascii.h definitions
The following definitions are added as exceptions
ASCII_a -> ASCII_z

Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2021-03-20 19:22:58 -07:00
Matheus Castello
738034e2eb toos/version.sh: Fix PATCH including extra version
VERSION is also used to get MAJOR, MINOR and PATCH configs. The commit
85edf0f added the remaining of the tag as an extra version and this is
being added erroneously to the PATCH variable. This commit excludes the
extra version from PATCH variable keeping only the number.

Fixes: 85edf0f (tools/version.sh: Add the remaining cut to VERSION)
Signed-off-by: Matheus Castello <matheus@castello.eng.br>
2021-03-18 19:47:56 -07:00
Matheus Castello
85edf0f49d tools/version.sh: Add the remaining cut to VERSION
The idea is to have something like EXTRAVERSION. This is useful for
getting RC tags, development tags and for customizing the version. For
example using the tag `nuttx-10.0.0-RC0` the VERSION will be
`10.0.0-RC0`

Signed-off-by: Matheus Castello <matheus@castello.eng.br>
2021-03-17 19:19:58 -03: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
Abdelatif Guettouche
07b65d10f1 tools/esp32/Config.mk: Revert part of "Don't abort make when QEMU script
fails"

Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2021-03-10 19:23:48 +08:00
Abdelatif Guettouche
05f1f3518b tools/esp32: Continue the build if the QEMU script fails.
Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2021-03-09 18:05:35 -03:00
Abdelatif Guettouche
e94bf12929 tools/esp32xx/: Always flash with DIO.
Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2021-03-09 18:05:35 -03:00
Gustavo Henrique Nihei
330eff36d7 sourcefiles: Fix relative path in file header 2021-03-09 23:18:28 +08:00
Abdelatif Guettouche
9428ba9186 tools/esp32XX: Delete the Makefile that downloads IDF.
That was only to build the bootloader and partition table.  Now we have
a repo with pre-built binaries and with instructions on how to
customize the bootloader.

Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2021-03-08 17:34:00 -03:00
YAMAMOTO Takashi
cb9ff5ff99 tools/version.h: If the version is not available, use 0.0.0
It's useful when you only have shallow git history handy.
(eg. to save some network bandwidth)

The default value here was chosen to mirror the default of
tools/Makefile.win.
2021-03-06 20:17:44 -08:00
Gustavo Henrique Nihei
95c8c99a3f tools/nxstyle: Verify relative path in the file header 2021-03-06 20:17:23 -08:00
Alin Jerpelea
796ef13b20 tools: nxstyle: add L_tmpnam/P_tmpdir exceptions
Those exceptions are defined in
https://pubs.opengroup.org/onlinepubs/9699919799/functions/tempnam.html

Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2021-03-03 18:52:53 -08:00
Abdelatif Guettouche
85620c3c1a risc-v/esp32c3: Add more flash options to esptool.
Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2021-03-03 18:28:18 -08:00
Abdelatif Guettouche
77302f9d3a xtensa/esp32: Add more flash options to esptool.
Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2021-03-03 18:28:18 -08:00
David Sidrane
367ec2068b tools/convert-comments:Fix breakage from Sytle fixes 2021-03-01 19:08:53 -08:00
Gustavo Henrique Nihei
76acb32e29 Fix typos reported by codespell 2021-02-25 11:31:49 -08:00
Gustavo Henrique Nihei
3850df7a78 tools/esp32: Fix warnings from ShellCheck 2021-02-22 17:39:33 +00:00
Masayuki Ishikawa
cf72133d3c rp2040: Continue to build even if PICO_SDK_PATH is not set
Summary:
- In the previous implementation, the build system stops if
  PICO_SDK_PATH is not set.
- However, this behavior is not good for CI. Because the path
  is only used to generate a flash image.
- This commit fixes this issue

Impact:
- rp2040 only

Testing:
- Tested with and without PICO_SDK_PATH
2021-02-21 20:30:58 -08:00
Abdelatif Guettouche
2c338a3ad0 tools/esp32xx/Config.mk: Update the binaries names to reflect the same
name used with the esp-nuttx-bootloader repo.

Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2021-02-21 09:57:01 -08:00
Abdelatif Guettouche
86fd6843c3 tools/esp32: Refine the QEMU image generation.
Use the usual while loop idiom when parsing arguments.
Add more options to the script to be able to specify the name of the
NuttX binary and final image.

Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2021-02-21 09:57:01 -08:00
Yuichi Nakamura
6b83f6a8fe tools: Add Raspberry Pi Pico post build tool to create uf2 binary 2021-02-20 03:45:24 -08:00
Alin Jerpelea
26e1f1f249 tools: 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-02-19 08:07:47 -08:00
Alin Jerpelea
00ac789e4e tools: fix nxstyle errors
Fix nxstyle errors to pass CI

Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2021-02-19 08:07:47 -08:00
Alin Jerpelea
7ff60d7c5b tools: 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-02-18 11:26:21 -08:00
Dong Heng
b11a5ca8b2 risc-v/esp32c3: Add ESP32-C3 basic support
Co-authored-by: Dong Heng <dongheng@espressif.com>
Co-authored-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2021-02-18 01:21:53 -08:00
Abdelatif Guettouche
b1ba1d4bca tools/esp32/Config.mk: Refine the usage of the IDF binaries.
1.  Don't use the bootloader and partition-table
binaries from a hello-world example.  Rather the ESPTOOL_BINDIR variable
can be used to give a user-defined location.
2. The ESPTOOL_BINDIR variable has to be as generic as possible.  Don't
   assume any board configuration.

Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2021-02-10 14:32:37 -03:00
Gustavo Henrique Nihei
ea3eccb490 esp32: Make esptool output non-silent on POSTBUILD 2021-02-09 23:20:02 +00:00
Gustavo Henrique Nihei
d1db7dc30c esp32: Fix esptool install command 2021-02-08 21:17:22 +00:00
Gustavo Henrique Nihei
da2e8c8514 esp32: Define DOWNLOAD target for flashing ESP32 2021-02-08 21:17:22 +00:00
Gustavo Henrique Nihei
1069bbd024 esp32: Abort POSTBUILD if esptool.py is missing 2021-02-08 21:17:22 +00:00
Gustavo Henrique Nihei
a8cf8abfaa esp32: Create chip selection config to improve capabilities refinement 2021-02-08 21:17:22 +00:00
Gustavo Henrique Nihei
7f7416278d build: Deprecate NUTTXNAME variable
NUTTXNAME is used only as an alias for "nuttx", not actually a
configuration property. Its definition might erroneously imply that the
name of binary image may be configurable, which is not the case.
2021-02-06 07:18:46 -08:00
Abdelatif Guettouche
0e8cce4dee tools/esp32: Remove some duplicated output.
Redirect the first check of esptool to /dev/null as it will be printed
twice when esptool is called to convert the binary.

Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2021-02-03 19:19:07 -08:00
Gustavo Henrique Nihei
053a560aa1 esp32: Make esp32 boards share a common Config.mk with POSTBUILD command 2021-02-03 18:15:56 -03:00
Gustavo Henrique Nihei
afad13dfaa esp32: Refactor QEMU image generation on POSTBUILD 2021-02-03 18:15:56 -03:00
Matias N
c33040f0cf License/authorship handling scripts 2021-01-27 10:06:37 -05:00
Alin Jerpelea
a1378e7f21 tools: flash_writer.py: 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
YAMAMOTO Takashi
c3a3fa7715 tools/esp32/backtrace.gdbscript: Add comments 2021-01-21 10:28:45 +01:00
Matias N
a150e03e24 gdbinit: add support for reporting total and used stack size
This checks if the required function is defined (when stack coloration
is enabled) and, if so, calls it to get used stack. Otherwise it just
reports zero used stack.
2021-01-16 21:33:42 -08:00
Alan C. Assis
0c5f71c849 boards/stm32f4discovery: Add a LWL board profile and improve the README.txt 2021-01-16 16:16:46 -08:00
Alan C. Assis
f62ff8d938 Move LWL python script to tools/lwl and add README.txt 2021-01-16 08:00:48 -06:00
Abdelatif Guettouche
f40389b359 tools/esp32/btdecode.sh: Script to decode the Xtensa backtrace. 2021-01-16 09:50:03 -03:00
YAMAMOTO Takashi
21c091f903 esp32: Add a gdb script to show backtrace
Just for my convenience. Hopefully useful for others too.
2021-01-14 09:23:36 +01:00
YAMAMOTO Takashi
fc7cddee39 Deal with "sed -i" portability
An empty extension for sed -i is not widely available.

* Where it isn't available (eg. macOS's sed) "sed -i -e" will
  create a backup file with the "-e" suffix.

* Even GNU sed documentation says it's "not recommended".

This commit deals with it by:

* Replace it with a more appropriate tool (kconfig-tweak)

* Or, specify the extension (.bak)
2021-01-11 08:38:19 +01:00
liuhaitao
82ff5b52f0 configure.sh: fix '/configure.sh -e board:config menuconfig' build break
If boardconfig changed, '/configure.sh -e board:config menuconfig'
would finally call 'make distclean menuconfig' which results in
build break. It also applies to nconfig and qconfig.

Change-Id: I44c06718cbda948932c667b9f2d1339913c9ba37
Signed-off-by: liuhaitao <liuhaitao@xiaomi.com>
2021-01-05 22:52:02 +01:00
kzhioki
223dd0dc8f tools/version.sh: Fix the version retrieved from git-tag
Fix an issue the wrong version could be retrieved from a private tag.
2021-01-03 03:04:11 -06:00
ligd
9ee04b5c53 tools/mkdeps.c: increase MAX_BUFFER to 8192
Change-Id: I0221194a647ff5083c951d682289793430e4268a
Signed-off-by: ligd <liguiding1@xiaomi.com>
2020-12-21 20:10:47 -08:00
Masayuki Ishikawa
39aa172957 tools: Fix version.sh
Summary:
- The latest version.sh retrieves version information from git tag
- However, if a repository contains private tags, it will fail
- This commit fixes this issue

Impact:
- version.sh only

Testing:
- Tested with https://github.com/masayuki2009/incubator-nuttx

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>>
2020-12-18 04:29:36 -06:00
Abdelatif Guettouche
076d89907f tools/version.sh: Fix the version retrieved from GIT.
Use the branch's tag if one exist otherwise use the most recent one.

Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2020-12-17 10:14:37 -08:00
John Bampton
ba12c6c0cf Fix spelling 2020-12-12 19:18:08 +01:00
John Bampton
7a5f7d470f Remove unneeded semicolons from Python files 2020-12-10 06:38:10 -06:00
liuhaitao
2bbb1f28d5 configure.c: add custom board path build support too
Signed-off-by: liuhaitao <liuhaitao@xiaomi.com>
2020-12-01 01:59:26 -06:00
liuhaitao
b044ec5a86 configure.sh: support custom board build with absolute path
Also add custom board build with absolute path support in addtion
to relative path.

Change-Id: I01bcb0b79db9e245484540c714036c64234b3656
Signed-off-by: liuhaitao <liuhaitao@xiaomi.com>
2020-12-01 01:59:26 -06:00
Matias N
88f1cdb915 build system: add missing --obj-path to MKDEP 2020-11-28 09:59:56 -06:00
chao.an
e5f5f6657d style/script: remove unnecessary trailing whitespace
N/A

Signed-off-by: chao.an <anchao@xiaomi.com>
2020-11-28 12:20:30 +01:00
chao.an
c56785bd0d style/Makefile: remove unnecessary trailing whitespace
N/A

Signed-off-by: chao.an <anchao@xiaomi.com>
2020-11-28 12:20:30 +01:00
Masayuki Ishikawa
03d461f7e2 tools: Add 'handle SIGUSR1' to nuttx-gdbinit for the NuttX sim SMP
Summary:
- The NuttX sim SMP uses SIGUSR1 for IPI
- However, gdb traps the signal by default
- With this commit, gdb just ignores this signal

Impact:
- NuttX sim SMP only

Testing:
- Tested with sim:smp

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2020-11-26 19:26:44 -08:00
Matias N
36088e8d21 Config.mk: fix CATFILE macro to work when file list is empty (Linux) 2020-11-26 17:35:04 +01:00
Brennan Ashton
b021375f2c Update checkrelease script for readme.md inread of .txt
Signed-off-by: Brennan Ashton <bashton@brennanashton.com>
2020-11-26 02:25:32 -08:00
Masayuki Ishikawa
3c11825cda tools: Fix nuttx-gdbinit for armv7-m with FPU
Summary:
- Brennan reported the script does not work with nucleo-h743zi:otg_fs_host
- Actually, the config uses FPU but the script did not detect it
- The script assumed that the nuttx contains fpuconfig symbol
- However, this assumption was incorrect
- This commit fixes this issue by detecting FPU with tcb->xcp.regs

Impact:
- Cortex-M targets

Testing:
- Tested with lm3s6965-ek:discover (Cortex-M3)
- Tested with spresense:wifi_smp (Cortex-M4F)
- Tested with sim:smp (x86_64)

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2020-11-22 16:13:22 -08:00
Matias N
d5b6ec450f Parallelize depend file generation 2020-11-22 09:02:59 -03:00
Alin Jerpelea
48e6f2051d audio: libsamplerate: add initial audio Sample Rate Converter
Add audio sample rate conversion library from
http://www.mega-nerd.com/SRC/index.html

Source:
https://github.com/libsndfile/libsamplerate

Add needed patches for NuttX OS and embedded boards.

NOTE:
We must use master branch until next stable release
2020-11-19 18:05:47 -08:00
YAMAMOTO Takashi
5dd5174722 testbuild.sh: Add -C option to skip tree cleanness check
Build-testing a dirty tree is convenient during development.
2020-11-10 18:07:51 -08:00
YAMAMOTO Takashi
954115e097 nxstyle: Add more inttypes.h stuff to the whitelist 2020-11-05 15:19:31 +01:00
Alan C. Assis
30f862f651 Avoid messing the final binary nuttx.(bin,hex,...) compilation msg 2020-11-04 18:08:55 -08:00
Xiang Xiao
9208176f60 build: Move __NuttX__ definition to tools/Config.mk
ensure this critical macro get defined in all projects

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-11-02 13:22:39 -03:00
YAMAMOTO Takashi
1184502661 Retire CONFIG_WCHAR_BUILTIN
wchar_t is always a builtin type for C++.

Note: boards/arm/stm32/nucleo-f4x1re/scripts/Make.defs was broken.
(missing -)
2020-11-01 18:19:13 -08:00
Brennan Ashton
e56a7146c2 build: Fix testbuild.sh artifact copy on macOS
xargs for macOS does not support the '-a/--file-arg' flag so
build artifacts were not getting stored.  This change passes it in
via stdin which is more portable.

Signed-off-by: Brennan Ashton <bashton@brennanashton.com>
2020-10-29 00:14:19 -07:00
Brennan Ashton
162da1169e CI: Store artifacts durring build
Add new option -A is added to tools/testbuild.sh that will take the
created build executable and store it in a folder for the config
that generated it under $ARTIFACTDIR which can be set via an
environment variable or defaulted to $(TOPDIR)/buildartifacts

This is also helpful for local testing because you can now run
tools/testbuild.sh -A sim.dat and have all of the simulation
targets generated without having to rebuild along the way.

In the GitHub Actions workflow the artifacs are uploaded
two two bundles one for macOS and one for Linux

Signed-off-by: Brennan Ashton <bashton@brennanashton.com>
2020-10-28 11:32:21 -07: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
Xiang Xiao
7901ad6959 tools/testbuild.sh: Support regular expression in blacklist
and prepend 'uname -s' to config for filtering config by host

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-10-28 00:18:03 -07:00
Xiang Xiao
1aed34182a tools/testbuild.sh: Don't support to change size_t type in datlist
since it doesn't need anymore with the follow patch:
commit e7d9260014
Author: Xiang Xiao <xiaoxiang@xiaomi.com>
Date:   Mon Feb 17 20:19:25 2020 +0800

    arch: Customize the typedef of size_t instead of intptr_t

    To ensure size_t same as toolchain definition in the first place and
    rename CXX_NEWLONG to ARCH_SIZET_LONG.  The change also check whether
    __SIZE_TYPE__ exist before CONFIG_ARCH_SIZET_LONG so our definition
    can align with toolchain(gcc/clang) definition automatically.

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-10-26 21:45:11 -07:00
Matias N
04e8207e20 Add $(OBJS) and $(BIN) to CLEAN macro to clean objects also in subdirectories 2020-10-25 08:28:33 -07:00
liuhaitao
f2d9f5c43a configure.sh: update custom board config build
If Make.defs not found under boardconfig dir, then try
scripts/Make.defs.

Signed-off-by: liuhaitao <liuhaitao@xiaomi.com>
2020-10-22 11:12:10 -03:00
Xiang Xiao
897b61b057 build: Change .external_dummy to dummy
to better align with the arch, boards and drivers naming convention

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-10-20 10:26:17 -03:00
Sara Souza
fde7c2bc19 xtensa/tools: Updated makefile to download the IDF stable version 2020-10-20 13:36:43 +01:00
Xiang Xiao
eb4121ce38 Change all 'Nuttx' to 'NuttX'
Unify the naming convention

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-10-20 01:45:06 -07:00
liuhaitao
d5c6bfe6cf arch: Add custom arch chip build support
Just like custom board build support, add custom arch chip build
support.

Change-Id: I71c87e6b2195501a1b1d728b71d7cbe344951057
Signed-off-by: liuhaitao <liuhaitao@xiaomi.com>
2020-10-20 14:48:16 +08:00
Xiang Xiao
a49a3eae51 tools: Remove the special handle for Ubuntu under Windows 10
since the Native Linux support could be reused for this case:
https://lists.apache.org/thread.html/r315682ed20bbeb2f1403cf592f892ef009274423189ffc5b3841a6a9%40%3Cdev.nuttx.apache.org%3E

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-10-18 11:48:19 -07:00
Abdelatif Guettouche
609a5fa4f0 arch/: Add the ARCH_SRC directory to the context and clean_context
targets

Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2020-10-17 22:46:27 +09:00
Xiang Xiao
1e94367eb2 tools/Config.mk: Don't set HOSTEXEEXT to .exe for Ubuntu on Windows
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-10-16 18:03:38 +01:00
Fotis Panagiotopoulos
3eee887d87 Typo fix. 2020-10-06 19:44:56 -03:00
Xiang Xiao
09a2c37daf tools/parsecallstack: Fix the style issue
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-09-27 11:10:49 -07:00
qiaowei
0d761b6db1 tools/parsecallstack.py: A tool to parse the callstack
Signed-off-by: qiaowei <qiaowei@xiaomi.com>
Change-Id: Ieb13cdf6ca36c0858f66c79629f2a96d8845612e
2020-09-27 11:10:49 -07:00
liuhaitao
8685dcbfc5 [WIP] do DIRUNLINK in clean_context instead of in disctclean
Signed-off-by: liuhaitao <liuhaitao@xiaomi.com>
2020-09-27 08:20:35 -06:00
Xiang Xiao
6a84d96bca tools/mkdeps: Fix EOVERFLOW returned by stat when CONFIG_SIM_M32=y
by define _FILE_OFFSET_BITS to 64 described here:
https://man7.org/linux/man-pages/man2/stat.2.html

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: I19c079294b79a541fbcc0bf5acbf7377067acf98
2020-09-25 20:41:22 -03:00
Masayuki Ishikawa
a92e394884 tools: Fix nuttx-gdbinit for armv7-m without FPU
Summary:
- I noticed that call stack for Cortex-M3 was incorrect
- This commit fixes this issue

Impact:
- Affects nuttx-gdbinit for armv7-m without FPU

Testing:
- Tested with lm3s6965-ek:discover (qemu)
- Tested with spresense:wifi
- Tested with sim

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2020-09-23 02:58:33 -07:00
Gregory Nutt
5ffb1c6a0b Fix Cygwin build broken by commit 34b34e2d45
Commit 34b34e2d45 uses the full path to libapps.a and introduced the use of the Make notdir command.  That command breaks the Cygwin build because when a native Windows toolchain is used, the full path to libapps.a is a Windows-sytle path and the Make notdir command (like most other GNU Make commands) fails if it is passed a Windows-style path.  This commit replaces the Make notdir command with the Bash basename command which can handle Windows paths.
2020-09-22 17:12:00 -03:00
Matias N
c695a5924f configure.sh/sethost.sh: add set -e so that the script aborts on any error 2020-09-16 20:09:44 -07:00
Xiang Xiao
6b7180fe87 tools/Config.mk: Replace tab with space
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-09-16 10:13:25 -07:00
Matias N
9ce4de634d support building external code into the OS, similar to how "external" apps work
This works by having the build system look for nuttx/external/Kconfig
to determine whether this directory is present or not. nuttx/external
is gitignored in order to be added by the final user but not to be
commited into the repo. Tipically this will by a symbolic link, just like
apps/external.

Inside external/ a Makefile should be placed with the same structure
than any nuttx/ subdirectory (eg: nuttx/drivers/). The
nuttx/external/Kconfig will be sourced and any options defined there will
appear at the bottom of menuconfig (unless options are conditioned on
menus, in which case they will appear accordingly).

The purpose is to allow arch/board independent code, which for any
reason is not to be upstreamed (propietary, not relevant for mainline,
testing, etc), to be built into the OS during OS building stage. This
way the user does not need to fork the NuttX repo to do so. This feature
complements well with external apps and custom board support.
2020-09-15 21:14:46 -07:00
Matias N
166242c171 use "export" to expose TOPDIR to all child make instead of passing it around every time 2020-09-15 21:11:33 -07:00
Matias N
34b34e2d45 Fix: ensure archive files do not carry object files from prior builds
In some cases, when NuttX configuration changes and this makes the
object list used to build one of the .a libraries change as well,
since the command used to build it is "ar crs" and this simply appends
the list of object files, the library could still include object
files from prior builds. This commit modifies the ARCHIVE macro to
erase the .a file if it already exists.

Since in some cases this behavior was actually expected (object
files from a subdirectory were appended to a library created one
level above) I added a ARCHIVE_ADD which works as ARCHIVE did.

This change should greatly improve behavior of building after
configuration changes.
2020-09-14 15:54:18 +08:00
Matias N
7d16090d11 Fix testbuild.sh to actually fail when using -x. Leave -x out for CI
so that we detect all possible build errors for a job.
2020-09-13 10:29:13 -07:00
Xiang Xiao
b0797263ca libc/stdio: Allocate file_struct dynamically
1.Reduce the default size of task_group_s(~512B each task)
2.Scale better between simple and complex application

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: Ia872137504fddcf64d89c48d6f0593d76d582710
2020-09-11 17:58:17 +08:00
Masayuki Ishikawa
2c8aa8629e tools: Add nuttx-gdbinit for nuttx thread debugging
Summary:
- This commit enables nuttx thread debugging without openocd-nuttx
- To use this script, gdb must support python
- To show all thread, use 'info_nxthreads'
- To switch thread, use 'nxthread pid'
- To continue, use 'nxcontinue'

Impact:
- No impact

Testing:
- Tested with spresense (Cortex-M4F), sim (x86_64), lm3s6965-ek (Cortex-M3)
- Tested with GNU Tools for Arm Embedded Processors 9-2019-q4-major
- Tested with GNU gdb (Ubuntu 8.1-0ubuntu3.2) 8.1.0.20180409-git

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2020-09-10 08:53:15 +02:00