The complete implementation is placed separately in mLearning/tflite-micro/operators/neon, delete this part.
Signed-off-by: xinhaiteng <xinhaiteng@xiaomi.com>
Cortex-A compilation options are added to tflite-micro and cmsis-nn, and new operator compilation environments are configured.
Signed-off-by: xinhaiteng <xinhaiteng@xiaomi.com>
VELAPLATFO-25411
On the basis of CMSIS-NN, neon was used to optimize the Add operator, which calculates the offset and addition of eight input and output data in one loop.
Signed-off-by: xinhaiteng <xinhaiteng@xiaomi.com>
Based on CMSIS-NN, the Conv operator was optimized. Using Neon acceleration, multiply 8 input data and 8 filter data in a single loop; Using Im2col technology, convert the output data into a matrix, calculate 2 rows of input data and 4 rows of filter data in a single large loop, and obtain 2x4 output data.
Signed-off-by: xinhaiteng <xinhaiteng@xiaomi.com>
When we submit or update a Complex PR that affects All Architectures (Arm, RISC-V, Xtensa, etc): CI Workflow shall run only half the jobs. Previously CI Workflow will run `arm-01` to `arm-14`, now we will run only `arm-01` to `arm-07`.
When the Complex PR is Merged: CI Workflow will still run all jobs `arm-01` to `arm-14`
Simple PRs with One Single Arch / Board will build the same way as before: `arm-01` to `arm-14`
This is explained here: https://github.com/apache/nuttx/issues/14376
Note that this version of `arch.yml` has diverged from `nuttx` repo, since we are unable to merge https://github.com/apache/nuttx/pull/14377
In the mm test, if the memory requested this time exceeds 3/4 of the remaining memory,
the request will be skipped to avoid insufficient memory.
Signed-off-by: chenzihan1 <chenzihan1@xiaomi.com>
PREFIX needs to be added to Make.dep to avoid Make.dep regeneration during incremental compilation
AROBJSRULES is just the .o file in the copy archive. Its output content is worthless, so we hide it by default.
Signed-off-by: xuxin19 <xuxin19@xiaomi.com>
Obtaining the heap usage size requires traversing all memory.
When the number of threads is large, it will become very slow.
ps -heap
PID GROUP PRI POLICY TYPE NPX STATE EVENT SIGMASK HEAP STACK USED FILLED COMMAND
0 0 0 FIFO Kthread - Ready 0000000000000000 4338432 2162672 0005196 0.2% Idle_Task
Signed-off-by: yinshengkai <yinshengkai@xiaomi.com>
This commit introduces the timerjitter test case, designed for assessing timer accuracy quickly. It is a simplified cyclictest implementation, optimized for fast and effective testing of timer precision.
The program sets up a periodic timer and awaits the firing of SIGALRM. Upon signal arrived, it computes the time difference between consecutive periods. A smaller time difference indicates higher time accuracy.
You can execute timerjitter without passing any arguments. Alternatively, you have the option to pass '-p' to print the time difference after each period, or provide additional arguments to customize the timer interval (in microseconds) and the number of test iterations.
Signed-off-by: ouyangxiangzhen <ouyangxiangzhen@xiaomi.com>
arm-none-eabi/bin/ld: apps/libapps.a(nsh_proccmds.c.obj): in function `cmd_pkill':
apps/nshlib/nsh_proccmds.c:861:(.text.cmd_pkill+0x38): undefined reference to `nsh_getpid'
Signed-off-by: chao an <anchao@lixiang.com>
If BUILD_FLAT is not enabled, the app and CPU run in user mode and
kernel mode respectively. The kernel and app are in different
memory address spaces. Different apps are in the same memory address
space. drivertest_block.c cannot directly call the kernel API.
Signed-off-by: Yongrong Wang <wangyongrong@xiaomi.com>