diff options
Diffstat (limited to 'images/user/exe-app.puml')
-rw-r--r-- | images/user/exe-app.puml | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/images/user/exe-app.puml b/images/user/exe-app.puml new file mode 100644 index 0000000..0ca2c69 --- /dev/null +++ b/images/user/exe-app.puml @@ -0,0 +1,72 @@ +' +' Executable Application +' +' Copyright (c) 2018 Chris Johns <chrisj@rtems.org> +' All rights reserved. +' +@startuml + + folder Application { + file app1.c + file app2.c + } + + rectangle "3rd Party\nHeaders" as 3rd_party_headers { + folder headers as pkg_headers + } + + folder rtems_headers { + file rtems.h + } + + folder std_headers { + file stddef.h + file stdio.h + } + + agent cc + file objects + + Application --> cc : app1.c\napp2.c + pkg_headers --> cc : -Ipkg + rtems_headers --> cc : -Irtems + std_headers --> cc + cc --> objects: **compile** + + rectangle "3rd Party\nLibraries" as 3rd_party { + package libpkg as pkg + } + + folder librtems { + folder rtems + folder posix + folder sapi + folder score + } + + folder stdlibs { + file libc + file libm + file "libstdc++" + } + + agent ld + + objects --> ld : app1.o\napp2.o + pkg --> ld : -lpkg + librtems --> ld : -lrtems + stdlibs --> ld : "-lm\n-lstdc++" + + file executable + + ld --> executable: **link** + + rectangle Target { + agent bootloader + agent memory + } + + executable --> bootloader: **load** + bootloader -right-> memory: **execute** + +@enduml |