From a08e9d43eee72bb3143c9dad304c966e700be810 Mon Sep 17 00:00:00 2001 From: Kristofer Jonsson Date: Wed, 28 Apr 2021 12:32:28 +0200 Subject: Documenting startup and multi NPU Adding documentation and sequence diagrams for startup and multi NPU. Change-Id: I4a4a43e8bea089b6325f7d8285434017cbda25ec --- docs/startup.puml | 71 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 docs/startup.puml (limited to 'docs/startup.puml') diff --git a/docs/startup.puml b/docs/startup.puml new file mode 100644 index 0000000..f9cb528 --- /dev/null +++ b/docs/startup.puml @@ -0,0 +1,71 @@ +@startuml + +skinparam backgroundColor #EEEBDC + +box "Hardware" #FFC700 +participant "Cortex-M" as cortexm +participant "Ethos-U" as ethosu +end box + +box "CMSIS Device" #0091BD +participant "__VECTOR_TABLE" as ivec +participant "Reset_Handler()" as reset +end box + +box "Compiler" #FF6B00 +participant "Runtime" as runtime +end box + +box "Target" #95D600 +participant "common" as common +participant "corstone-300" as target +end box + +box "Drivers" #00C1DE +participant "NPU" as driver +participant "UART" as uart +participant "MPU" as mpu +end box + +box "Application" #7D868C +participant "main()" as main +end box + +cortexm -> ivec++: + ivec -> reset++: Reset_Handler() + reset -> reset++: SystemInit() + deactivate reset + + reset -> runtime++: __main() + note over runtime + Scatter loading + Initializing stack and heap + end note + + note over runtime + Calling constructors + end note + + runtime -> common++: init() [constructor] + note over common + The constructor is called after stack and heap have been initialized, + but before the main() function is called + end note + + common -> target++: targetSetup() + target -> uart++: uart_init() + return + + target -> driver++: ethosu_init() + return + + target -> mpu++: loadAndEnableConfig() + return + return + return + + runtime -> main++: main() + note over main + Running application + end note +@enduml -- cgit v1.2.1