Renaming "modlib" to "libelf" is more in line with the implementation content,
which makes it easier for individual developers to understand the capabilities of this module.
CONFIG_LIBC_MODLIB -> CONFIG_LIBC_ELF
Signed-off-by: chao an <anchao.archer@bytedance.com>
The application requires libc's floating point support. Although
it may be already enabled by other applications and/or hardware
support, it should be explicitly selected by the app too.
Signed-off-by: Tiago Medicci <tiago.medicci@espressif.com>
This test allows measuring write and read operations on an MTD
flash device, evaluating its transfer rates.
Signed-off-by: Tiago Medicci <tiago.medicci@espressif.com>
Summary:
In function 'performance_gettime',
inlined from 'hpwork_performance' at osperf.c:245:10:
osperf.c:123:3: error: 'result.end' may be used uninitialized [-Werror=maybe-uninitialized]
123 | up_perf_convert(result->end - result->start, &ts);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
osperf.c: In function 'hpwork_performance':
osperf.c:228:29: note: 'result.end' was declared here
228 | struct performance_time_s result;
| ^~~~~~
CC: audio/lib_buffer.c
CC: common/arm64_initialize.c
CC: builtin/lib_builtin_getname.c
Signed-off-by: chenrun1 <chenrun1@xiaomi.com>
Without the -q (--quiet) option, the program outputs the thread
stats every 100ms, which is compatible with the original
rt-tests/cyclictest utility.
Signed-off-by: Stepan Pressl <pressl.stepan@gmail.com>
Despite the existence of the patch in benchmarks/rt-tests,
this commit adds the NuttX Official cyclictest utility.
The main difference is the introduction of different
waiting methods next to POSIX clock_nanosleep:
- The thread can wait for a g_waitsem, posted by board_timerhook()
if CONFIG_SYSTEMTICK_HOOK is defined.
Since the semaphore is only one, only one thread can wait.
- The thread can wait for a Timer Device to timeout.
The timer's timeout determines the waiting time of the thread.
Since the timer is only one, again, only one thread can wait.
The user can measure the elapsed time using clock_gettime
or the timer device itself. The different waiting and measuring
methods were introduced because NuttX, by default, does not
offer fine measuring capabilities using POSIX time functions
(as of Feb 25).
Signed-off-by: Stepan Pressl <pressl.stepan@gmail.com>
fix Relative file path does not match actual file.
EOL Conversion -> Unix (LF)
Adding the message header to the Kconfig file
Signed-off-by: simbit18 <simbit18@gmail.com>
Most tools used for compliance and SBOM generation use SPDX identifiers
This change brings us a step closer to an easy SBOM generation.
Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
We may want to test ramspeed by specific address, it was previous ignored,
and for the not aligned address from user, just report a error.
Signed-off-by: buxiasen <buxiasen@xiaomi.com>
/data/project/oh2/rel-4.0/prebuilts/gcc/linux/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld: crc16_sw.c.data.project.oh2.rel-4.0.external.zblue.zblue_1.o (symbol from plugin): in function `crc16':
(.text+0x0): multiple definition of `crc16'; core_util.c.data.project.oh2.rel-4.0.apps.benchmarks.coremark_1.o (symbol from plugin):(.text+0x0): first defined here
Signed-off-by: Bowen Wang <wangbowen6@xiaomi.com>
Building osperf requires pipes and hpwork, which are disabled
by default. These features should be enabled before osperf is
built. The select directive could cause issues and should be
avoided, so we use the depends on directive.
Signed-off-by: Fukui Daichi <a.dog.will.talk@akane.waseda.jp>
1.Add more print logs
ramspeed -w 0x61ba15c0 -s 524288 -n 10000 -i
RAM Speed: Write address: 0x0x61ba15c0
RAM Speed: Read address: 0x0
RAM Speed: Size: 524288 bytes
RAM Speed: Value: 0x00
RAM Speed: Repeat number: 10000
RAM Speed: Interrupts disabled: true
2.Improve test accuracy, now print in double type in us time unit
______Perform 32 Bytes access______
RAM Speed: system memset(): Rate = 625000.000 KB/s [cost: 0.500 ms]
RAM Speed: internal memset(): Rate = 240384.615 KB/s [cost: 1.300 ms]
3. Optional test item, if we do not pass in the src address, only memset will be executed
Signed-off-by: chenrun1 <chenrun1@xiaomi.com>
The function implementation does not specify a return type, and is treated as a void return value function during use, so it is ignored.
CC: icmpv6_ping.c dhrystone/v2.1/dhry_2.c:30:1: warning: return type defaults to ‘int’ [-Wimplicit-int]
30 | Proc_6 (Enum_Val_Par, Enum_Ref_Par)
| ^~~~~~
2. The implementation of some functions is opposite to the calling position, and the processing can be ignored
dhrystone/v2.1/dhry_2.c:39:9: warning: implicit declaration of function ‘Func_3’ [-Wimplicit-function-declaration]
39 | if (! Func_3 (Enum_Val_Par))
3. This function is called from dhry_2.c and void behavior is expected.
dhrystone/v2.1/dhry_2.c:30:1: warning: function declaration isn’t a prototype [-Wstrict-prototypes]
30 | Proc_6 (Enum_Val_Par, Enum_Ref_Par)
4. In the old version of C language, if the function declaration return value is not set, the default is void; in the new version, it is int, but in dhrystone, these functions are called as void type functions by default.
dhrystone/v2.2/dry.c:738:1: warning: control reaches end of non-void function [-Wreturn-type]
738 | }
| ^
dhrystone/v2.2/dry.c: In function ‘Proc_1’:
dhrystone/v2.2/dry.c:772:1: warning: control reaches end of non-void function [-Wreturn-type]
772 | } /* Proc_1 */
| ^
dhrystone/v2.2/dry.c: In function ‘Proc_2’:
dhrystone/v2.2/dry.c:795:1: warning: control reaches end of non-void function [-Wreturn-type]
795 | } /* Proc_2 */
| ^
dhrystone/v2.2/dry.c: In function ‘Proc_3’:
dhrystone/v2.2/dry.c:810:1: warning: control reaches end of non-void function [-Wreturn-type]
810 | } /* Proc_3 */
| ^
dhrystone/v2.2/dry.c: In function ‘Proc_4’:
dhrystone/v2.2/dry.c:822:1: warning: control reaches end of non-void function [-Wreturn-type]
822 | } /* Proc_4 */
| ^
dhrystone/v2.2/dry.c: In function ‘Proc_5’:
dhrystone/v2.2/dry.c:831:1: warning: control reaches end of non-void function [-Wreturn-type]
831 | } /* Proc_5 */
| ^
Signed-off-by: chenrun1 <chenrun1@xiaomi.com>
Summary:
Avoiding warnings caused by source code implementation leads to build failure. Most warnings are undef and the value is 0. We think it is not enabled.
Signed-off-by: chenrun1 <chenrun1@xiaomi.com>
configuration.
enter_critical_section and leave_critical_section aren't reliable
interfaces to expose in usermode, as they aren't available if
CONFIG_IRQCOUNT is enabled.
This patch changes the enable options of coremark,
coremark-pro and cachespeed from bool to tristate.
This allows the user to select the benchmark to be built
as a elf module, which can be loaded and executed on the
target dynamically.
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>