benchmarks: port object_footprint to unified kernel

Change-Id: Iaa39f60b9ef498059f0320631823a9d7d47a99de
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
This commit is contained in:
Anas Nashif 2017-03-23 09:53:06 -04:00 committed by Anas Nashif
commit 7942eaee39
20 changed files with 16 additions and 149 deletions

View file

@ -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"

View file

@ -9,4 +9,3 @@ CONFIG_XIP=y
CONFIG_OBJECTS_PRINTK=n
CONFIG_OBJECTS_WHILELOOP=n
CONFIG_KERNEL_BIN_NAME="prj00"
CONFIG_LEGACY_KERNEL=y

View file

@ -8,4 +8,3 @@ CONFIG_SERIAL=n
CONFIG_XIP=y
CONFIG_OBJECTS_PRINTK=n
CONFIG_KERNEL_BIN_NAME="prj01"
CONFIG_LEGACY_KERNEL=y

View file

@ -9,4 +9,3 @@ CONFIG_XIP=y
CONFIG_OBJECTS_PRINTK=y
CONFIG_KERNEL_BIN_NAME="prj02"
CONFIG_LEGACY_KERNEL=y

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -0,0 +1 @@
obj-y = main.o

View file

@ -1 +0,0 @@
obj-y = nanokernel_objects.o

View file

@ -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
}