blob: f9cb528181b891095c69766350494f926f4f9eb6 [file] [log] [blame]
@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