CMSIS-DSP: Improvement to test framework.

Software markers for IPSS.
pull/19/head
Christophe Favergeon 6 years ago
parent 566550e15d
commit 6fbbfc3223

@ -42,6 +42,17 @@
#define SERIAL_BASE_ADDRESS (0x13000000) #define SERIAL_BASE_ADDRESS (0x13000000)
#define SERIAL_DATA *((volatile unsigned *) SERIAL_BASE_ADDRESS) #define SERIAL_DATA *((volatile unsigned *) SERIAL_BASE_ADDRESS)
#define SOFTWARE_MARK *((volatile unsigned *) (SERIAL_BASE_ADDRESS+4))
void start_ipss_measurement()
{
SOFTWARE_MARK = 1;
}
void stop_ipss_measurement()
{
SOFTWARE_MARK = 0;
}
int stdout_putchar(char txchar) int stdout_putchar(char txchar)
{ {

@ -53,7 +53,17 @@ FILE __stderr;
#define SERIAL_DATA *((volatile unsigned *) SERIAL_BASE_ADDRESS) #define SERIAL_DATA *((volatile unsigned *) SERIAL_BASE_ADDRESS)
#define SOFTWARE_MARK *((volatile unsigned *) (SERIAL_BASE_ADDRESS+4))
void start_ipss_measurement()
{
SOFTWARE_MARK = 1;
}
void stop_ipss_measurement()
{
SOFTWARE_MARK = 0;
}
/*---------------------------------------------------------------------------- /*----------------------------------------------------------------------------
System Core Clock Variable System Core Clock Variable

@ -69,7 +69,17 @@ FILE __stderr;
#define SERIAL_DATA *((volatile unsigned *) SERIAL_BASE_ADDRESS) #define SERIAL_DATA *((volatile unsigned *) SERIAL_BASE_ADDRESS)
#define SOFTWARE_MARK *((volatile unsigned *) (SERIAL_BASE_ADDRESS+4))
void start_ipss_measurement()
{
SOFTWARE_MARK = 1;
}
void stop_ipss_measurement()
{
SOFTWARE_MARK = 0;
}
#include "cmsis_compiler.h" #include "cmsis_compiler.h"

@ -61,7 +61,17 @@ FILE __stderr;
#define SERIAL_DATA *((volatile unsigned *) SERIAL_BASE_ADDRESS) #define SERIAL_DATA *((volatile unsigned *) SERIAL_BASE_ADDRESS)
#define SOFTWARE_MARK *((volatile unsigned *) (SERIAL_BASE_ADDRESS+4))
void start_ipss_measurement()
{
SOFTWARE_MARK = 1;
}
void stop_ipss_measurement()
{
SOFTWARE_MARK = 0;
}

@ -87,7 +87,17 @@ void SystemCoreClockUpdate (void)
#define SERIAL_DATA *((volatile unsigned *) SERIAL_BASE_ADDRESS) #define SERIAL_DATA *((volatile unsigned *) SERIAL_BASE_ADDRESS)
#define SOFTWARE_MARK *((volatile unsigned *) (SERIAL_BASE_ADDRESS+4))
void start_ipss_measurement()
{
SOFTWARE_MARK = 1;
}
void stop_ipss_measurement()
{
SOFTWARE_MARK = 0;
}

@ -249,6 +249,17 @@ typedef struct
#define SERIAL_DATA *((volatile unsigned *) SERIAL_BASE_ADDRESS) #define SERIAL_DATA *((volatile unsigned *) SERIAL_BASE_ADDRESS)
#define SOFTWARE_MARK *((volatile unsigned *) (SERIAL_BASE_ADDRESS+4))
void start_ipss_measurement()
{
SOFTWARE_MARK = 1;
}
void stop_ipss_measurement()
{
SOFTWARE_MARK = 0;
}
int stdout_putchar(char txchar) int stdout_putchar(char txchar)
{ {

@ -0,0 +1,7 @@
#ifndef IPSS_BENCH_H
#define IPSS_BENCH_H
extern void start_ipss_measurement();
extern void stop_ipss_measurement();
#endif

@ -3,4 +3,5 @@ function(configure_platform PROJECTNAME ROOT CORE PLATFORMFOLDER)
# target_sources(${PROJECTNAME} PRIVATE ${PLATFORMFOLDER}/${CORE}/pagetables.s) # target_sources(${PROJECTNAME} PRIVATE ${PLATFORMFOLDER}/${CORE}/pagetables.s)
# #
#endif() #endif()
target_include_directories(${PROJECTNAME} PUBLIC ${PLATFORMFOLDER})
endfunction() endfunction()

@ -53,6 +53,7 @@ extern "C" const char *patternData;
extern "C" void _exit(int return_code); extern "C" void _exit(int return_code);
#endif #endif
int main() int main()
{ {
int r; int r;

@ -23,7 +23,6 @@ using namespace std;
#include "TestDrive.h" #include "TestDrive.h"
int testmain(const char *patterns) int testmain(const char *patterns)
{ {
char *memoryBuf=NULL; char *memoryBuf=NULL;

Loading…
Cancel
Save