From 29e4b4cf091dd47c9f435ef1d315a1609b83fb19 Mon Sep 17 00:00:00 2001 From: Clyne Sullivan Date: Sat, 15 Aug 2020 09:16:54 -0400 Subject: add elf load draft, filter program template --- filter/Makefile | 14 ++++++++++++++ filter/test.cpp | 15 +++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 filter/Makefile create mode 100644 filter/test.cpp (limited to 'filter') diff --git a/filter/Makefile b/filter/Makefile new file mode 100644 index 0000000..a1ce186 --- /dev/null +++ b/filter/Makefile @@ -0,0 +1,14 @@ +all: + @arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -Os --specs=nosys.specs -nostartfiles -fPIE -c test.cpp + @arm-none-eabi-ld -shared -n -N -z max-page-size=512 -Ttext-segment=0 \ + test.o -o test.so + @arm-none-eabi-strip -s -S --strip-unneeded test.so + @arm-none-eabi-objcopy --remove-section .dynsym \ + --remove-section .dynstr \ + --remove-section .dynamic \ + --remove-section .hash \ + --remove-section .ARM.exidx \ + --remove-section .ARM.attributes \ + --remove-section .comment \ + test.so + diff --git a/filter/test.cpp b/filter/test.cpp new file mode 100644 index 0000000..0953539 --- /dev/null +++ b/filter/test.cpp @@ -0,0 +1,15 @@ +#include + +using adcsample_t = uint16_t; +__attribute__((section(".process_data"))) +void process_data(adcsample_t *samples, unsigned int size); + +//////////////////////////////////////////////////////////////////////////////// + +void process_data(adcsample_t *samples, unsigned int size) +{ + size--; + for (unsigned int i = 0; i < size; i++) + samples[i] = samples[i] * 80 / 100 + samples[i + 1] * 20 / 100; +} + -- cgit v1.2.3