Commit Graph

32 Commits

Author SHA1 Message Date
chao an
52353a7eb2 apps/build: Restore ARLOCK to improve compile speed in incremental case
To solve the issue of carrying object files from previous builds,
Matias changed the archiving process to re-archive libapps.a on every compilation,
if libapps.a carries more object files, incremental compilation will waste too
many time in re-archiving, compared with the previous implement, this is a degradation
of the build system.  Referring to mature engineering projects such as cmake, if there
is configuration or source file changed, the best solution should be to reconfigure
the environment.

Revert this PR to ensure the compilation speed during incremental compilation.

|  commit 18137c0fec
|  Author: Matias N <matias@protobits.dev>
|  Date:   Sat Sep 12 00:36:23 2020 -0300
|
|      Fix: ensure archive files do not carry object files from prior builds
|
|      This is the corresponding change to the one on main NuttX repo. In this
|      case this involves splitting the build of libapps.a into: a) building
|      all applications (which is safely parallelizable), b) adding each
|      application's object files to the archive in turns (serial by nature).
|
|      This removes the need for the flock used to protect the parallel build.

Testing:

sim:nsh
-------------------------------
|   Patched    |  Current
-------------------------------
|$ time make   |  $ time make
|real 0m1.270s |  real 0m1.728s
|user 0m0.971s |  user 0m1.276s
|sys  0m0.363s |  sys  0m0.530s
-------------------------------

Private project (20+ 3rd library needs archive to libapps.a)
-------------------------------
|   Patched     |  Current
-------------------------------
|$ time make    |  $ time make
|real 0m21.181s |  real 0m39.721s
|user 0m14.638s |  user 0m24.837s
|sys  0m6.919s  |  sys  0m14.394s
-------------------------------

Signed-off-by: chao an <anchao@xiaomi.com>
2023-09-12 21:55:39 +08:00
zhangchao53
791d1fc08d add superpi fold and nist-sts fold to gitignore 2023-09-12 10:08:35 +08:00
xuxin19
8e8d58a915 cmake:migrate apps CMakeLists for libsodium
Signed-off-by: xuxin19 <xuxin19@xiaomi.com>
2023-08-17 14:35:02 +08:00
makejian
53620b91c8 crypto/libsodium: porting libsodium into nuttx
Signed-off-by: makejian <makejian@xiaomi.com>
2023-08-03 07:26:16 -07:00
makejian
4b0a3d92ff Porting NIST-Statistical-Test-Suite in nuttx to test quality of rng
(1)add nist-sts init nuttx
(2)Fix possible memory bug
(3)Fix double free memory
Signed-off-by: makejian <makejian@xiaomi.com>
2023-08-01 10:06:45 -07:00
chao an
4f11f38c38 interpreters/wamr: add compile role of WebAssembly
Add compilation rules to support WebAssembly(WASM/WAMR):

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

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

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

2. Configuring and running

 1> Configuring sim/wamr and compile:

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

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

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

 3> Run iwasm

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

Co-Authored-By: Huang Qi <huangqi3@xiaomi.com>
Signed-off-by: chao an <anchao@xiaomi.com>
2023-03-06 13:23:44 +02:00
Xiang Xiao
b94c26fefc build: Generate a staging folder like kernel side
so the user could generate the separate library through BIN.
Here is the similar code snippet copied from nuttx/tools/Unix.mk:
context: include/nuttx/config.h include/nuttx/version.h .dirlinks $(CONTEXTDIRS_DEPS) | staging

staging:
	$(Q) mkdir -p $@

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-01-27 01:08:11 +02:00
Xiang Xiao
44d0642334 Add *.su to .gitignore
*.su is generated by gcc/clang when we pass -fstack-usage to them

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-01-19 08:19:34 +01:00
curuvar
ca4ef69661 Added simple ws2812 example 2022-07-04 10:50:48 +08:00
Xiang Xiao
0e9946956a .gitignore: Ignore gcov files(*.gcno and *.gcda)
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-05-03 16:11:28 +03:00
Michael Mogenson
87df63d367 interpreters: add Lua support 2022-03-21 13:49:42 +08:00
Huang Qi
9439fd8c79 Ignore .context (follow NuttX main repo)
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2022-03-02 15:54:45 +08:00
Alan Rosenthal
a1dbb472bc Update gitignore to match new behavior in https://github.com/apache/incubator-nuttx/pull/5069 2021-12-23 21:52:57 -06:00
Matias N
18137c0fec Fix: ensure archive files do not carry object files from prior builds
This is the corresponding change to the one on main NuttX repo. In this
case this involves splitting the build of libapps.a into: a) building
all applications (which is safely parallelizable), b) adding each
application's object files to the archive in turns (serial by nature).

This removes the need for the flock used to protect the parallel build.
2020-09-14 15:55:06 +08:00
Ouss4
1dae12ba05 Don't run preconfig, clean or distclean when it's not necessary. 2020-07-25 07:50:28 -06:00
Xiang Xiao
69f013e74e build: Remve the unnecessary .gitignore
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-05-23 15:56:35 +01:00
Xiang Xiao
1511403fdf Revert "Don't generate .depend anymore"
This reverts commit cc5ad09caa.
2020-03-22 23:09:40 -05:00
Xiang Xiao
cc5ad09caa
Don't generate .depend anymore 2020-03-22 18:15:21 +00:00
Xiang Xiao
f774e8ee72 build: Use flock to serialize ar steps as workaround
Use flock to serialize ar steps to avoid parallel build break
sometimes.
2020-02-22 07:43:06 -06:00
YAMAMOTO Takashi
698f0edbaa Revert "build: Use flock to serialize ar steps as workaround"
This reverts commit 6707bfae86.
2020-02-21 07:37:51 -06:00
Xiang Xiao
6707bfae86 build: Use flock to serialize ar steps as workaround
Use flock to serialize ar steps to avoid parallel build break
sometimes.
2020-02-20 13:14:53 -06:00
Xiang Xiao
e0dcfa0c55 Remove extra whitespace from files (#43)
* Remove multiple newlines at the end of file
* Remove the white space from the end of line
2020-01-31 08:29:24 -06:00
Xiang Xiao
031a5270d0 apps/Makefile: Remove EXE_DIR and put binary into bin folder like nuttx 2019-10-01 11:42:18 -06:00
Gregory Nutt
fff0ffa185 Update .gitignore files. 2018-09-04 13:20:52 -06:00
Sebastien Lorquet
2d14369b87 Merge branch 'master' of https://bitbucket.org/slorquet/apps into ieee
Conflicts:
	Kconfig
	Makefile
2015-08-30 23:37:16 +02:00
Gregory Nutt
74801cf38e apps/tools/mkkconfig.sh: The top-level Kconfig file is not auto-generated. The autogenerated Kconfig file will be constructed so that every second level directory that contains a Kconfig file will automatically be sourced 2015-08-11 17:49:10 -06:00
Sebastien Lorquet
5ca0bc0a5c add ieee apps 2015-08-04 01:31:07 +02:00
Gregory Nutt
4bd4af97c5 Update top-level .gitignore 2015-06-28 09:58:47 -06:00
Gregory Nutt
288c94cc61 Add a script to create a boot ROMFS image 2014-09-09 12:45:23 -06:00
Gregory Nutt
b77b0b5385 Add support for an installation directory: 2014-09-06 08:13:45 -06:00
Gregory Nutt
5a6f09d791 Mostly updates and corrections to .gitignore files 2013-04-04 15:39:50 -06:00
Gregory Nutt
470a04b8f9 Clone svn:ignore directory atributed to .gitignore files 2013-04-04 14:27:29 -06:00