diff options
author | chai <chaifix@163.com> | 2021-11-30 22:25:37 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2021-11-30 22:25:37 +0800 |
commit | 9e0e01b7f4375063f06e494113187d48614628e0 (patch) | |
tree | 21a4901612ad92c121f4c887a33b1bbbe87c6b00 /Client/ThirdParty/libfixmath/benchmarks/interface-arm.c |
+init
Diffstat (limited to 'Client/ThirdParty/libfixmath/benchmarks/interface-arm.c')
-rw-r--r-- | Client/ThirdParty/libfixmath/benchmarks/interface-arm.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/Client/ThirdParty/libfixmath/benchmarks/interface-arm.c b/Client/ThirdParty/libfixmath/benchmarks/interface-arm.c new file mode 100644 index 0000000..d0e9969 --- /dev/null +++ b/Client/ThirdParty/libfixmath/benchmarks/interface-arm.c @@ -0,0 +1,28 @@ +#include "interface.h" +#include <stdint.h> +#include <stdio.h> + +// This targets an ARM Cortex M3 core using QEmu LM3S6965 emulation. +#define STBASE 0xE000E000 +#define STCTRL (*(volatile uint32_t*)(0x010 + STBASE)) +#define STRELOAD (*(volatile uint32_t*)(0x014 + STBASE)) +#define STCURRENT (*(volatile uint32_t*)(0x018 + STBASE)) + + +void interface_init() +{ + STRELOAD = 0x00FFFFFF; + STCTRL = 5; +} + +void start_timing() +{ + STCURRENT = 0; +} + +uint16_t end_timing() +{ + return 0x00FFFFFF - STCURRENT - 4; +} + + |