Table of Contents
PR19_01_XMC Infineon XMC4800 development environment with Docker containers.
- TODO: Add lizard static analysis
PR19_02_Sensors Air quality PM sensor measurements and data visualization.
- Renesas ZMOD4410
- see sensors
PR19_03_Yocto Yocto environment for STM32P1 board.
- TODO: real-time
PR20_01_STM32 STM32 development environment with libopencm3.
- TODO: Consolidate makefiles (use XMC4800 makefile, http://reecestevens.me/blog/2016/07/08/embedded-programming-without-ide/). Add also improvements from https://tty.uchuujin.de/2016/02/stm32-from-scratch-makefile/.
- TODO: Measure improvements by using SRAM for code, as well as using ITCM memory (https://rhye.org/post/stm32-with-opencm3-4-memory-sections/).
- TODO: STM32MP1 environment, follow https://bootlin.com/blog/building-a-linux-system-for-the-stm32mp1-basic-system/
PR20_02_RTEMS Develop a simple application on an ARM platform (SPI sensor throughput, CPU load, GPIO interrupt latency, interrupt latency with user thread processing, PPS jitter).
TODO: Run RTEMS examples in Nucleo hardwareTODO: Run RTEMS tests in Nucleo hardware- Run Nucleo examples from SRAM
- GPIO toggling on bare-metal. Compare performance of different boards, flash/RAM/ITCM, etc.
- Interrupt latency (GPIO input/output) on bare-metal. Compare performance of different boards, flash/RAM/ITCM, etc.
- GPIO toggling on RTEMS using a single uninterrupted task. Compare performance of different boards. Useful to make sure the systems and toolchains are working as expected. Running from flash/RAM/ITCM.
- RTEMS interrupt latency and jitter at different CPU loads (GPIO input/output). Compare performance of different boards.
- RTEMS scheduling latency and jitter using mutex at different CPU loads (measured using two GPIO outputs). Compare performance of different boards.
- RTEMS periodic timer jitter at different CPU loads (measured using one GPIO output). Compare performance of different boards.
- RTEMS contribution: CPU load
- RTEMS contribution: task priority assignment with ML
PRXX_XX_Micropython
EtherCAT
Machinekit + EtherCAT on RPi3 MQTT broker latency test
Accurate Synchronization ethercat systems using distributed clocks
IMU helicopter control
http://iot.ee.ucla.edu/UCLA-STMicro/index.php/Home
ST material:
STEVAL-FCU001V1
STEVAL-STLKT01V1
STEVAL-IDI001V1
DT0064 Design tip - Noise analysis and identification in MEMS sensors
PTP
http://www.eecis.udel.edu/~mills/ptp.html
http://home.mit.bme.hu/~khazy/ptpd/
http://lwn.net/Articles/520203/
http://lists.ntp.org/pipermail/hackers/2013-October/006157.html
http://nullr0ute.com/2014/04/3-14-fedora-arm-kernel-status/
http://www.belden.com/docs/upload/precision_clock_synchronization_wp.pdf
http://www.ixxat.com/introduction_ieee_1588_en.html
linuxptp
http://linuxptp.sourceforge.net/
ptp4l -i eth0 -m pmc -u -b 0 'GET CURRENT_DATA_SET' pmc -u -b 0 'GET TIME_STATUS_NP' phc2sys -s eth0 -w
Accuracy improvements:
nohz=off
Statistics
Linux PPS support
http://linuxpps.org/wiki/index.php/Main_Page
http://www.linuxpps.org/pipermail/discussions/2013-May/004430.html
http://ml.enneenne.com/pipermail/linuxpps/2011-August/thread.html#4331
GPS NTP timestamps
http://www.leapsecond.com/time-nuts.htm
http://www.febo.com/pipermail/time-nuts/2013-June/077959.html
Measurement: jitter, offset, allan deviation
High resolution timers
http://e2e.ti.com/support/microcontrollers/msp430/f/166/t/187153.aspx
http://www.st.com/web/en/catalog/mmc/FM141/SC1169/SS1576
http://electronics.stackexchange.com/questions/59216/very-accurate-time-measurement
Power management
BBB
http://hackaday.com/2013/12/07/speeding-up-beaglebone-black-gpio-a-thousand-times/
http://blog.dan.drown.org/beaglebone-black-timer-capture-driver/
i.MX6
MSP430
http://homepages.ius.edu/rwisman/C335/html/msp430GetStarted.HTM
http://microcontrollershop.com/product_info.php?products_id=5740
http://www.schmartboard.com/schmartboard_pd_710-0009-02_l.jpg
http://e2e.ti.com/support/microcontrollers/msp430/f/166/t/142094.aspx
http://43oh.com/2010/08/10-beginner-msp430-tutorials-and-counting/
serial
Vehicle counting
Other useful hardware
Digital filters
https://stratifylabs.co/embedded%20design%20tips/2013/10/04/Tips-An-Easy-to-Use-Digital-Filter/
http://eleceng.dit.ie/frank/arm/BareMetalSTM32F303Nucleo/fir/
https://www.theunterminatedstring.com/cmsis-arm-fir-comparison/
http://www.onarm.com/forum/62573/
http://zipcpu.com/dsp/2017/11/04/genfil-tb.html
https://github.com/mhorauer/XMC4500-Barebone-Projects
http://www.eas.uccs.edu/~mwickert/ece5655/lecture_notes/ARM/ece5655_chap6.pdf
Implementing FIR filters
Implementing EMA filters
https://www.embeddedrelated.com/showcode/304.php
https://dev.to/nestedsoftware/exponential-moving-average-on-streaming-data-4hhl
https://helpful.knobs-dials.com/index.php/Low-pass_filter
https://dsp.stackexchange.com/questions/40462/exponential-moving-average-cut-off-frequency/40465
Implementing IIR filters
https://dspguru.com/dsp/howtos/implement-iir-filters/
https://www.edn.com/design/analog/4315624/Fixed-point-IIR-filter-challenges