Download presentation
Presentation is loading. Please wait.
Published byVictor Hensley Modified over 9 years ago
1
BlueECG System Software Design Western Washington University By: Corey Williamson
2
General System Design MCU: DA14580 MCU Bus Frequency: 16MHz Memory Requirements – SRAM: 15KB (42KB max), no flash for code Kernel Choice – Riveria Waves – Preemptive Kernel
3
Kernel Selection Generic Access Profile implemented with the kernel for Bluetooth Low Energy. Has timer function and message passing. The source code is delivered as object code, makes it hard to analyze. The BLE stack is stored in the ROM section of the chip, accessible through symbol definitions in header files. RivieraWaves
4
Kernel Selection Tasks seem to have states, a state handler table is passed when a task is created. The scheduler must be called in a while loop, and that scheduler sets up all pending kernel events. It then exits and goes into the while(1) loop. – After the scheduler a sleep mode can be setup before the end of the while(1) loop. RivieraWaves
5
Priority of Tasks Priorities are unclear, the kernel seems to decide the priority when the task is created.
6
App Task Description: Handles instances like connection, disconnection and advertising. Period: When needed, for example a device becomes disconnected and advertising needs to be started again. Execution time is unclear, longest execution time of a handler is about 100us.
7
Sample Task Description: Samples the ADC and check for a button press. Period: 10ms (Periodic) Execution time ~ 100 us (max)
8
CPU load L max= (100us) (10ms) L max= 10%
9
Modules TasksPublic Functions and Data arch_main.c main() ClockInit() app.c App Task sample128.c Sample Task adc.c ADCInit() ADCGetSample() button.c GetButton() ButtonInit()
10
A to D and Button Dataflow Diagram
11
Bluetooth Dataflow Diagram
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.