benchmarks: port object_footprint to unified kernel
Change-Id: Iaa39f60b9ef498059f0320631823a9d7d47a99de Signed-off-by: Anas Nashif <anas.nashif@intel.com>
This commit is contained in:
parent
477a928134
commit
7942eaee39
20 changed files with 16 additions and 149 deletions
|
@ -18,12 +18,12 @@ config OBJECTS_WHILELOOP
|
|||
bool "run whileloop"
|
||||
default y
|
||||
|
||||
config OBJECTS_FIBER
|
||||
bool "enable fiber"
|
||||
config OBJECTS_THREAD
|
||||
bool "enable thread"
|
||||
default n
|
||||
|
||||
config OBJECTS_SEMAPHORE
|
||||
bool "enable semphore"
|
||||
bool "enable semaphore"
|
||||
default n
|
||||
|
||||
config OBJECTS_LIFO
|
||||
|
@ -42,10 +42,10 @@ config OBJECTS_TIMER
|
|||
bool "enable timer"
|
||||
default n
|
||||
|
||||
config FIBER_STACK_SIZE
|
||||
int "set fiber stack size"
|
||||
config THREAD_STACK_SIZE
|
||||
int "set thread stack size"
|
||||
default 512
|
||||
depends on OBJECTS_FIBER
|
||||
depends on OBJECTS_THREAD
|
||||
|
||||
config STATIC_ISR
|
||||
bool "static isr"
|
|
@ -9,4 +9,3 @@ CONFIG_XIP=y
|
|||
CONFIG_OBJECTS_PRINTK=n
|
||||
CONFIG_OBJECTS_WHILELOOP=n
|
||||
CONFIG_KERNEL_BIN_NAME="prj00"
|
||||
CONFIG_LEGACY_KERNEL=y
|
|
@ -8,4 +8,3 @@ CONFIG_SERIAL=n
|
|||
CONFIG_XIP=y
|
||||
CONFIG_OBJECTS_PRINTK=n
|
||||
CONFIG_KERNEL_BIN_NAME="prj01"
|
||||
CONFIG_LEGACY_KERNEL=y
|
|
@ -9,4 +9,3 @@ CONFIG_XIP=y
|
|||
CONFIG_OBJECTS_PRINTK=y
|
||||
|
||||
CONFIG_KERNEL_BIN_NAME="prj02"
|
||||
CONFIG_LEGACY_KERNEL=y
|
|
@ -7,6 +7,5 @@ CONFIG_CONSOLE=y
|
|||
CONFIG_SERIAL=y
|
||||
CONFIG_XIP=y
|
||||
CONFIG_OBJECTS_PRINTK=y
|
||||
CONFIG_OBJECTS_FIBER=y
|
||||
CONFIG_OBJECTS_THREAD=y
|
||||
CONFIG_KERNEL_BIN_NAME="prj03"
|
||||
CONFIG_LEGACY_KERNEL=y
|
|
@ -6,7 +6,6 @@ CONFIG_CONSOLE=y
|
|||
CONFIG_SERIAL=y
|
||||
CONFIG_XIP=y
|
||||
CONFIG_OBJECTS_PRINTK=y
|
||||
CONFIG_OBJECTS_FIBER=y
|
||||
CONFIG_OBJECTS_THREAD=y
|
||||
CONFIG_OBJECTS_TIMER=y
|
||||
CONFIG_KERNEL_BIN_NAME="prj04"
|
||||
CONFIG_LEGACY_KERNEL=y
|
|
@ -7,8 +7,7 @@ CONFIG_SERIAL=y
|
|||
CONFIG_XIP=y
|
||||
CONFIG_NANO_TIMERS=y
|
||||
CONFIG_OBJECTS_PRINTK=y
|
||||
CONFIG_OBJECTS_FIBER=y
|
||||
CONFIG_OBJECTS_THREAD=y
|
||||
CONFIG_OBJECTS_TIMER=y
|
||||
CONFIG_OBJECTS_SEMAPHORE=y
|
||||
CONFIG_KERNEL_BIN_NAME="prj05"
|
||||
CONFIG_LEGACY_KERNEL=y
|
|
@ -7,9 +7,8 @@ CONFIG_SERIAL=y
|
|||
CONFIG_XIP=y
|
||||
CONFIG_NANO_TIMERS=y
|
||||
CONFIG_OBJECTS_PRINTK=y
|
||||
CONFIG_OBJECTS_FIBER=y
|
||||
CONFIG_OBJECTS_THREAD=y
|
||||
CONFIG_OBJECTS_TIMER=y
|
||||
CONFIG_OBJECTS_SEMAPHORE=y
|
||||
CONFIG_OBJECTS_LIFO=y
|
||||
CONFIG_KERNEL_BIN_NAME="prj06"
|
||||
CONFIG_LEGACY_KERNEL=y
|
|
@ -7,10 +7,9 @@ CONFIG_SERIAL=y
|
|||
CONFIG_XIP=y
|
||||
CONFIG_NANO_TIMERS=y
|
||||
CONFIG_OBJECTS_PRINTK=y
|
||||
CONFIG_OBJECTS_FIBER=y
|
||||
CONFIG_OBJECTS_THREAD=y
|
||||
CONFIG_OBJECTS_TIMER=y
|
||||
CONFIG_OBJECTS_SEMAPHORE=y
|
||||
CONFIG_OBJECTS_LIFO=y
|
||||
CONFIG_OBJECTS_FIFO=y
|
||||
CONFIG_KERNEL_BIN_NAME="prj07"
|
||||
CONFIG_LEGACY_KERNEL=y
|
|
@ -7,11 +7,10 @@ CONFIG_SERIAL=y
|
|||
CONFIG_XIP=y
|
||||
CONFIG_NANO_TIMERS=y
|
||||
CONFIG_OBJECTS_PRINTK=y
|
||||
CONFIG_OBJECTS_FIBER=y
|
||||
CONFIG_OBJECTS_THREAD=y
|
||||
CONFIG_OBJECTS_TIMER=y
|
||||
CONFIG_OBJECTS_SEMAPHORE=y
|
||||
CONFIG_OBJECTS_LIFO=y
|
||||
CONFIG_OBJECTS_FIFO=y
|
||||
CONFIG_OBJECTS_STACK=y
|
||||
CONFIG_KERNEL_BIN_NAME="prj08"
|
||||
CONFIG_LEGACY_KERNEL=y
|
|
@ -7,7 +7,7 @@ CONFIG_SERIAL=y
|
|||
CONFIG_XIP=y
|
||||
CONFIG_NANO_TIMERS=y
|
||||
CONFIG_OBJECTS_PRINTK=y
|
||||
CONFIG_OBJECTS_FIBER=y
|
||||
CONFIG_OBJECTS_THREAD=y
|
||||
CONFIG_OBJECTS_TIMER=y
|
||||
CONFIG_OBJECTS_SEMAPHORE=y
|
||||
CONFIG_OBJECTS_LIFO=y
|
||||
|
@ -15,4 +15,3 @@ CONFIG_OBJECTS_FIFO=y
|
|||
CONFIG_OBJECTS_STACK=y
|
||||
CONFIG_STATIC_ISR=y
|
||||
CONFIG_KERNEL_BIN_NAME="prj09"
|
||||
CONFIG_LEGACY_KERNEL=y
|
|
@ -7,7 +7,7 @@ CONFIG_SERIAL=y
|
|||
CONFIG_XIP=y
|
||||
CONFIG_NANO_TIMERS=y
|
||||
CONFIG_OBJECTS_PRINTK=y
|
||||
CONFIG_OBJECTS_FIBER=y
|
||||
CONFIG_OBJECTS_THREAD=y
|
||||
CONFIG_OBJECTS_TIMER=y
|
||||
CONFIG_OBJECTS_SEMAPHORE=y
|
||||
CONFIG_OBJECTS_LIFO=y
|
||||
|
@ -16,4 +16,3 @@ CONFIG_OBJECTS_STACK=y
|
|||
CONFIG_STATIC_ISR=n
|
||||
#CONFIG_TOOLCHAIN_VARIANT="iamcu"
|
||||
CONFIG_KERNEL_BIN_NAME="prj10"
|
||||
CONFIG_LEGACY_KERNEL=y
|
|
@ -5,15 +5,12 @@ CONFIG_IDT_NUM_VECTORS=48
|
|||
CONFIG_CONSOLE=y
|
||||
CONFIG_SERIAL=y
|
||||
CONFIG_XIP=y
|
||||
CONFIG_NANO_TIMERS=y
|
||||
CONFIG_OBJECTS_PRINTK=y
|
||||
CONFIG_OBJECTS_FIBER=y
|
||||
CONFIG_OBJECTS_THREAD=y
|
||||
CONFIG_OBJECTS_TIMER=y
|
||||
CONFIG_OBJECTS_SEMAPHORE=y
|
||||
CONFIG_OBJECTS_LIFO=y
|
||||
CONFIG_OBJECTS_FIFO=y
|
||||
CONFIG_OBJECTS_STACK=y
|
||||
CONFIG_STATIC_ISR=n
|
||||
CONFIG_NANO_TIMEOUTS=y
|
||||
CONFIG_KERNEL_BIN_NAME="prj11"
|
||||
CONFIG_LEGACY_KERNEL=y
|
1
tests/benchmarks/object_footprint/src/Makefile
Normal file
1
tests/benchmarks/object_footprint/src/Makefile
Normal file
|
@ -0,0 +1 @@
|
|||
obj-y = main.o
|
|
@ -1 +0,0 @@
|
|||
obj-y = nanokernel_objects.o
|
|
@ -1,119 +0,0 @@
|
|||
/*
|
||||
* Copyright (c) 2015 Intel Corporation.
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#include <zephyr.h>
|
||||
#include <toolchain.h>
|
||||
|
||||
|
||||
#include <misc/printk.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#ifdef CONFIG_OBJECTS_WHILELOOP
|
||||
volatile int i = 0;
|
||||
#endif
|
||||
|
||||
#define IRQ_LINE 10
|
||||
#define IRQ_PRIORITY 3
|
||||
#define TEST_SOFT_INT 64
|
||||
#define TEST_IRQ_OFFLOAD_VECTOR 32
|
||||
|
||||
#define FIBER_STACK_SIZE CONFIG_FIBER_STACK_SIZE
|
||||
|
||||
typedef void* (*pfunc) (void*);
|
||||
|
||||
/* variables */
|
||||
|
||||
#define MESSAGE "Running maximal nanokernel configuration\n"
|
||||
|
||||
/* stack used by fiber */
|
||||
#ifdef CONFIG_OBJECTS_FIBER
|
||||
static char __stack pStack[FIBER_STACK_SIZE];
|
||||
#endif
|
||||
|
||||
/* pointer array ensures specified functions are linked into the image */
|
||||
volatile pfunc func_array[] = {
|
||||
/* nano timer functions */
|
||||
#ifdef CONFIG_OBJECTS_TIMER
|
||||
(pfunc)nano_timer_init,
|
||||
(pfunc)nano_fiber_timer_start,
|
||||
(pfunc)nano_fiber_timer_test,
|
||||
#endif
|
||||
|
||||
/* nano semaphore functions */
|
||||
#ifdef CONFIG_OBJECTS_SEMAPHORE
|
||||
(pfunc)nano_sem_init,
|
||||
(pfunc)nano_fiber_sem_take,
|
||||
(pfunc)nano_fiber_sem_give,
|
||||
#endif
|
||||
|
||||
/* nano LIFO functions */
|
||||
#ifdef CONFIG_OBJECTS_LIFO
|
||||
(pfunc)nano_lifo_init,
|
||||
(pfunc)nano_fiber_lifo_put,
|
||||
(pfunc)nano_fiber_lifo_get,
|
||||
#endif
|
||||
/* nano stack functions */
|
||||
#ifdef CONFIG_OBJECTS_STACK
|
||||
(pfunc)nano_stack_init,
|
||||
(pfunc)nano_fiber_stack_push,
|
||||
(pfunc)nano_fiber_stack_pop,
|
||||
#endif
|
||||
/* nano FIFO functions */
|
||||
#ifdef CONFIG_OBJECTS_FIFO
|
||||
(pfunc)nano_fifo_init,
|
||||
(pfunc)nano_fiber_fifo_put,
|
||||
(pfunc)nano_fiber_fifo_get,
|
||||
#endif
|
||||
|
||||
};
|
||||
|
||||
void dummyIsr(void *unused)
|
||||
{
|
||||
ARG_UNUSED(unused);
|
||||
}
|
||||
|
||||
#ifdef CONFIG_OBJECTS_FIBER
|
||||
|
||||
/**
|
||||
*
|
||||
* @brief Trivial fiber
|
||||
*
|
||||
* @param message Message to be printed.
|
||||
* @param arg1 Unused.
|
||||
*
|
||||
* @return N/A
|
||||
*/
|
||||
static void fiberEntry(int message, int arg1)
|
||||
{
|
||||
ARG_UNUSED(arg1);
|
||||
printk((char *)message);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
void main(void)
|
||||
{
|
||||
#ifdef CONFIG_OBJECTS_PRINTK
|
||||
printk("Using printk\n");
|
||||
#endif
|
||||
|
||||
#if CONFIG_STATIC_ISR
|
||||
IRQ_CONNECT(IRQ_LINE, IRQ_PRIORITY, dummyIsr, NULL, 0);
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_OBJECTS_FIBER
|
||||
/* start a trivial fiber */
|
||||
task_fiber_start(pStack, FIBER_STACK_SIZE, fiberEntry, (int) MESSAGE,
|
||||
(int) func_array, 10, 0);
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_OBJECTS_WHILELOOP
|
||||
while (1) {
|
||||
i++;
|
||||
}
|
||||
#endif
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue