diff options
author | Clyne Sullivan <clyne@bitgloo.com> | 2020-08-20 17:06:47 -0400 |
---|---|---|
committer | Clyne Sullivan <clyne@bitgloo.com> | 2020-08-20 17:06:47 -0400 |
commit | 989f4038c6d2a3e5bbee04fa25df181810af621e (patch) | |
tree | 73987829cac7e15ab8763211bcef582ec885f3a2 /filter | |
parent | 2ceb20f4d48a8f163528f86fda484e977438bc80 (diff) | |
parent | 29e4b4cf091dd47c9f435ef1d315a1609b83fb19 (diff) |
merge elf loading and adc streaming
Diffstat (limited to 'filter')
-rw-r--r-- | filter/Makefile | 14 | ||||
-rw-r--r-- | filter/test.cpp | 15 |
2 files changed, 29 insertions, 0 deletions
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 <cstdint> + +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; +} + |