Compared to the previous version, the following factors have been taken into account in the new version of cachespeed:
1. the user needs to care about getting a piece of available memory (even if this piece of memory may memory stomp during use)
2. High repetition of test code, poor readability, and overall high test coupling
3. Not taking into account the alignment cache line situation
4. When comparing values between different test tools, there is a little error because of the different ways to get the values (different fine reading)
Therefore, in the new version according to the above problems have been improved:
1. Provide a "test_skeleton", which contains the overall testing process
2. The user only needs to execute, not to care about how to get the available memory address, and the memory allocated by the program also ensures the memory security and data accuracy
3. The system to obtain the data required for the test reduces the difficulty of use and the possibility of inaccurate results due to data errors.
4. Provide two kinds of precision data results, which can be configured through Kconfig
5. Optimize the output log, now more intuitive and concise, to help the subsequent data organization and observation
6. New test items for aligned/unaligned cache line
7. Better readability and extensibility, making it easier to add/remove test items
Signed-off-by: chenrun1 <chenrun1@xiaomi.com>
Based on the previous patch comments, some changes were made to make it more
nuttx style.
https://github.com/apache/nuttx-apps/pull/1829
Signed-off-by: zhanghongyu <zhanghongyu@xiaomi.com>
Fix error: implicit declaration of function 'nsh_foreach_direntry' [-Werror=implicit-function-declaration] on file nsh_fscmds on some compiler versions.
Signed-off-by: chenrun1 <chenrun1@xiaomi.com>
The NimBLE source code is downloaded at the first pass of the
make system so some makefiles to include might be not in place
initially, but included after code is fetched
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
This commit fixes the overflow that happens when setting the duty cycle to 100% in the PWM example.
It now correctly passes the value 0xffff rather than 0x0000 when setting the duty cycle to 100 and makes sure that no underflow happens when setting the duty cycle to 0.
Partially implement the gdb rsp protocol,
you can debug the nuttx kernel through the serial port or the network
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
Add xtables.c and xtables.h
In order to support the compilation of third-party utils, we encounter some
situations where the macro is not defined, refer to the common implementation
of other systems, add relevant definitions and empty function.
Signed-off-by: zhanghongyu <zhanghongyu@xiaomi.com>
| # Important note:
| # This CMakeLists.txt is not meant as a top-level CMakeLists.txt. Instead,
| # CMake must be run using the top-level CMakeLists.txt from the nuttx
| # repository and point to this directory via NUTTX_APPS_DIR. For example:
| # cmake -S <nuttx-dir> -B <build-dir> [...] -DNUTTX_APPS_DIR=<apps-dir>
Signed-off-by: chao an <anchao@xiaomi.com>
This can be useful for development purposes when you don't need any complex bootloader yet,
but just want to jump to the app image.
Can be helpful when we need to switch from secure environment to non-secure environment.
CC: pthread/pthread_mutexinconsistent.c libuv/src/unix/getaddrinfo.c:103:9: warning: implicit declaration of function ‘getaddrinfo’; did you mean ‘uv_getaddrinfo’? [-Wimplicit-function-declaration]
103 | err = getaddrinfo(req->hostname, req->service, req->hints, &req->addrinfo);
| ^~~~~~~~~~~
| uv_getaddrinfo
libuv/src/unix/getaddrinfo.c: In function ‘uv_freeaddrinfo’:
libuv/src/unix/getaddrinfo.c:222:5: warning: implicit declaration of function ‘freeaddrinfo’; did you mean ‘uv_freeaddrinfo’? [-Wimplicit-function-declaration]
222 | freeaddrinfo(ai);
| ^~~~~~~~~~~~
| uv_freeaddrinfo
CC: misc/lib_crc16ccitt.c libuv/src/unix/getnameinfo.c: In function ‘uv__getnameinfo_work’:
libuv/src/unix/getnameinfo.c:45:9: warning: implicit declaration of function ‘getnameinfo’; did you mean ‘uv_getnameinfo’? [-Wimplicit-function-declaration]
45 | err = getnameinfo((struct sockaddr*) &req->storage,
| ^~~~~~~~~~~
| uv_getnameinfo
Signed-off-by: fangxinyong <fangxinyong@xiaomi.com>