diff options
author | Kristofer Jonsson <kristofer.jonsson@arm.com> | 2021-04-28 12:32:28 +0200 |
---|---|---|
committer | Kristofer Jonsson <kristofer.jonsson@arm.com> | 2021-05-11 11:27:20 +0200 |
commit | a08e9d43eee72bb3143c9dad304c966e700be810 (patch) | |
tree | 4c4023c2a089d2d02be531a52ff4325f03d10b75 /docs/startup.puml | |
parent | b47ec6312ca33e83082734d966114903612a18fb (diff) | |
download | ethos-u-core-platform-21.05-rc2.tar.gz |
Documenting startup and multi NPU21.05-rc2
Adding documentation and sequence diagrams for startup and multi
NPU.
Change-Id: I4a4a43e8bea089b6325f7d8285434017cbda25ec
Diffstat (limited to 'docs/startup.puml')
-rw-r--r-- | docs/startup.puml | 71 |
1 files changed, 71 insertions, 0 deletions
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 |