├── example ├── requirements.txt ├── RTE │ ├── Device │ │ └── CMSDK_CM3_VHT │ │ │ ├── gcc_arm.ld │ │ │ ├── gcc_arm.ld.base@1.1.0 │ │ │ ├── regions_CMSDK_CM3_VHT.h │ │ │ ├── RTE_Device.h │ │ │ ├── RTE_Device.h.base@1.0.0 │ │ │ ├── ac6_arm.sct │ │ │ ├── ac6_arm.sct.base@1.0.0 │ │ │ ├── system_CMSDK_CM3.c │ │ │ └── system_CMSDK_CM3.c.base@1.1.0 │ ├── _Debug_VHT_CM3 │ │ └── RTE_Components.h │ └── _Release_VHT_CM3 │ │ └── RTE_Components.h ├── retarget.csolution.yml ├── retarget.cproject.yml ├── fvp-config.txt ├── main.c ├── stdout_USART.c ├── build.py └── README.md ├── documentation ├── version.js ├── doxygen │ ├── src │ │ ├── images │ │ │ ├── blocks.pptx │ │ │ ├── overview.png │ │ │ ├── retarget_io_std.png │ │ │ ├── retarget_io_file.png │ │ │ └── retarget_low_level_io.png │ │ ├── ref_retarget_tty.txt │ │ ├── ref_retarget_stdin.txt │ │ ├── ref_retarget_stderr.txt │ │ ├── ref_retarget_stdout.txt │ │ ├── templates_tty.md │ │ ├── templates_stdin.md │ │ ├── templates_stderr.md │ │ ├── templates_stdout.md │ │ ├── templates_file.md │ │ ├── history.md │ │ ├── templates.md │ │ ├── ref_retarget_os.txt │ │ ├── ref_retarget_os_newlib.txt │ │ ├── templates_os.md │ │ ├── rt_os.md │ │ ├── ref_retarget_os_armclib.txt │ │ ├── rt_example.md │ │ ├── mainpage.md │ │ ├── ref_retarget_fs.txt │ │ └── rt_io.md │ ├── style_template │ │ ├── tab_b.png │ │ ├── dropdown.png │ │ ├── tab_topnav.png │ │ ├── cmsis_logo_white_small.png │ │ ├── footer.js.in │ │ ├── footer.html │ │ ├── extra_search.css │ │ ├── tabs.js │ │ ├── version.css │ │ ├── extra_tabs.css │ │ ├── header.html │ │ ├── extra_navtree.css │ │ ├── resize.js │ │ ├── search.css │ │ └── layout.xml │ ├── linkchecker.rc │ └── gen_doc.sh ├── index.html └── README.md ├── .github ├── dependabot.yml └── workflows │ ├── pack.yml │ ├── gh-pages.yml │ └── example.yml ├── .gitignore ├── .ci └── vcpkg-configuration.json ├── source ├── tty_bkpt.c ├── tty_itm.c ├── stderr_bkpt.c ├── stdout_bkpt.c ├── stdin_bkpt.c ├── stderr_itm.c ├── stdout_itm.c ├── stderr_evr.c ├── stdout_evr.c ├── stdin_itm.c ├── armcc │ └── retarget_os_rtos2.c ├── clang │ └── retarget_syscalls.c ├── retarget_fs_bkpt.c ├── iar │ ├── retarget_os_rtos2.c │ └── retarget_io.c └── gcc │ └── retarget_lock_rtos2.c ├── include ├── retarget_tty.h ├── retarget_stdin.h ├── retarget_stderr.h ├── retarget_stdout.h ├── armcc │ └── retarget_os.h ├── gcc │ └── retarget_os.h └── retarget_fs.h ├── template ├── stdio │ ├── tty_user.c │ ├── stdin_user.c │ ├── stderr_user.c │ └── stdout_user.c ├── os_interface │ ├── armcc │ │ └── retarget_os.c │ └── gcc │ │ ├── retarget_lock.c │ │ └── retarget_syscalls.c └── file_interface │ └── retarget_fs.c ├── gen_pack.sh ├── README.md └── LICENSE /example/requirements.txt: -------------------------------------------------------------------------------- 1 | python-matrix-runner~=1.0 2 | -------------------------------------------------------------------------------- /documentation/version.js: -------------------------------------------------------------------------------- 1 | function writeVersionDropdown() { 2 | }; 3 | -------------------------------------------------------------------------------- /documentation/doxygen/src/images/blocks.pptx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ARM-software/CMSIS-Compiler/HEAD/documentation/doxygen/src/images/blocks.pptx -------------------------------------------------------------------------------- /documentation/doxygen/src/images/overview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ARM-software/CMSIS-Compiler/HEAD/documentation/doxygen/src/images/overview.png -------------------------------------------------------------------------------- /example/RTE/Device/CMSDK_CM3_VHT/gcc_arm.ld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ARM-software/CMSIS-Compiler/HEAD/example/RTE/Device/CMSDK_CM3_VHT/gcc_arm.ld -------------------------------------------------------------------------------- /documentation/doxygen/style_template/tab_b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ARM-software/CMSIS-Compiler/HEAD/documentation/doxygen/style_template/tab_b.png -------------------------------------------------------------------------------- /documentation/doxygen/style_template/dropdown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ARM-software/CMSIS-Compiler/HEAD/documentation/doxygen/style_template/dropdown.png -------------------------------------------------------------------------------- /documentation/doxygen/src/images/retarget_io_std.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ARM-software/CMSIS-Compiler/HEAD/documentation/doxygen/src/images/retarget_io_std.png -------------------------------------------------------------------------------- /documentation/doxygen/style_template/tab_topnav.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ARM-software/CMSIS-Compiler/HEAD/documentation/doxygen/style_template/tab_topnav.png -------------------------------------------------------------------------------- /documentation/doxygen/src/images/retarget_io_file.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ARM-software/CMSIS-Compiler/HEAD/documentation/doxygen/src/images/retarget_io_file.png -------------------------------------------------------------------------------- /example/RTE/Device/CMSDK_CM3_VHT/gcc_arm.ld.base@1.1.0: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ARM-software/CMSIS-Compiler/HEAD/example/RTE/Device/CMSDK_CM3_VHT/gcc_arm.ld.base@1.1.0 -------------------------------------------------------------------------------- /documentation/doxygen/src/images/retarget_low_level_io.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ARM-software/CMSIS-Compiler/HEAD/documentation/doxygen/src/images/retarget_low_level_io.png -------------------------------------------------------------------------------- /documentation/doxygen/style_template/cmsis_logo_white_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ARM-software/CMSIS-Compiler/HEAD/documentation/doxygen/style_template/cmsis_logo_white_small.png -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | updates: 3 | - package-ecosystem: "github-actions" 4 | directory: "/" 5 | schedule: 6 | interval: "weekly" 7 | open-pull-requests-limit: 10 8 | rebase-strategy: "disabled" 9 | -------------------------------------------------------------------------------- /documentation/doxygen/src/ref_retarget_tty.txt: -------------------------------------------------------------------------------- 1 | /** 2 | \defgroup tty_api TTY Interface 3 | \brief Minimalistic interface for redirecting tty stream 4 | @{ 5 | */ 6 | 7 | /** 8 | \fn void ttywrch (int ch) 9 | */ 10 | 11 | /** 12 | @} 13 | */ -------------------------------------------------------------------------------- /documentation/doxygen/src/ref_retarget_stdin.txt: -------------------------------------------------------------------------------- 1 | /** 2 | \defgroup stdin_api STDIN Interface 3 | \brief Minimalistic interface for redirecting stdin stream 4 | @{ 5 | */ 6 | 7 | /** 8 | \fn int stdin_getchar (void) 9 | */ 10 | 11 | /** 12 | @} 13 | */ -------------------------------------------------------------------------------- /documentation/doxygen/src/ref_retarget_stderr.txt: -------------------------------------------------------------------------------- 1 | /** 2 | \defgroup stderr_api STDERR Interface 3 | \brief Minimalistic interface for redirecting stderr stream 4 | @{ 5 | */ 6 | 7 | /** 8 | \fn int stderr_putchar (int ch) 9 | */ 10 | 11 | /** 12 | @} 13 | */ -------------------------------------------------------------------------------- /documentation/doxygen/src/ref_retarget_stdout.txt: -------------------------------------------------------------------------------- 1 | /** 2 | \defgroup stdout_api STDOUT Interface 3 | \brief Minimalistic interface for redirecting stdout stream 4 | @{ 5 | */ 6 | 7 | /** 8 | \fn int stdout_putchar (int ch) 9 | */ 10 | 11 | /** 12 | @} 13 | */ -------------------------------------------------------------------------------- /documentation/doxygen/src/templates_tty.md: -------------------------------------------------------------------------------- 1 | # TTY {#rt_template_tty} 2 | 3 | **TTY** component provides **Custom** subcomponent that can be used to implement its functionality using the code template below 4 | 5 | ## TTY User Template {#tty_user_c} 6 | 7 | \include /stdio/tty_user.c 8 | -------------------------------------------------------------------------------- /documentation/doxygen/src/templates_stdin.md: -------------------------------------------------------------------------------- 1 | # STDIN {#rt_template_stdin} 2 | 3 | **STDIN** component provides **Custom** subcomponent that can be used to implement its functionality using the code template below 4 | 5 | ## STDIN User Template {#stdin_user_c} 6 | 7 | \include /stdio/stdin_user.c 8 | -------------------------------------------------------------------------------- /documentation/doxygen/src/templates_stderr.md: -------------------------------------------------------------------------------- 1 | # STDERR {#rt_template_stderr} 2 | 3 | **STDERR** component provides **Custom** subcomponent that can be used to implement its functionality using the code template below 4 | 5 | ## STDERR User Template {#stderr_user_c} 6 | 7 | \include /stdio/stderr_user.c 8 | -------------------------------------------------------------------------------- /documentation/doxygen/src/templates_stdout.md: -------------------------------------------------------------------------------- 1 | # STDOUT {#rt_template_stdout} 2 | 3 | **STDOUT** component provides **Custom** subcomponent that can be used to implement its functionality using the code template below 4 | 5 | ## STDOUT User Template {#stdout_user_c} 6 | 7 | \include /stdio/stdout_user.c 8 | -------------------------------------------------------------------------------- /documentation/doxygen/src/templates_file.md: -------------------------------------------------------------------------------- 1 | # File Interface {#rt_template_file_interface} 2 | 3 | \ref fs_interface_api provides **Custom** component that can be used to implement its functionality using the code template below 4 | 5 | ## File Interface Custom {#retarget_fs_c} 6 | 7 | \include /file_interface/retarget_fs.c -------------------------------------------------------------------------------- /documentation/doxygen/linkchecker.rc: -------------------------------------------------------------------------------- 1 | [output] 2 | ignoreerrors= 3 | mag.svg 4 | mag_sel.svg 5 | mag_d.svg 6 | mag_seld.svg 7 | ../tab_a.png 8 | ../tab_ad.png 9 | minus.svg 10 | plus.svg 11 | minusd.svg 12 | plusd.svg 13 | 14 | [filtering] 15 | ignorewarnings= 16 | http-redirected -------------------------------------------------------------------------------- /documentation/doxygen/src/history.md: -------------------------------------------------------------------------------- 1 | # Revision History {#rev_hist} 2 | 3 | CMSIS-Compiler version is offically updated upon releases of the [CMSIS-Compiler pack](https://www.keil.arm.com/packs/cmsis-compiler-arm/versions/). 4 | 5 | The table below provides information about the changes delivered with specific versions of CMSIS-Compiler. 6 | -------------------------------------------------------------------------------- /documentation/doxygen/style_template/footer.js.in: -------------------------------------------------------------------------------- 1 | function writeHeader() { 2 | document.write('Version {projectNumber}'); 3 | }; 4 | 5 | function writeFooter() { 6 | document.write('Generated on {datetime} for {projectName} {projectNumberFull}. Copyright © {year} Arm Limited (or its affiliates). All rights reserved.'); 7 | }; 8 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | documentation/html 2 | documentation/doxygen/compiler.dxy 3 | output 4 | build 5 | 6 | example/out 7 | example/tmp 8 | example/RTE/_**/* 9 | 10 | *.cbuild-idx.yml 11 | *.cbuild.yml 12 | *.cprj 13 | .clangd 14 | linkchecker-out.csv 15 | 16 | # Output of the go coverage tool 17 | *.out 18 | 19 | *.bak 20 | *.syso 21 | *.log 22 | documentation/doxygen/src/history.txt 23 | -------------------------------------------------------------------------------- /documentation/doxygen/src/templates.md: -------------------------------------------------------------------------------- 1 | # Templates {#rt_templates} 2 | 3 | This section contains the listings for all template files available in the CMSIS-Compiler component: 4 | 5 | - \subpage rt_template_file_interface 6 | - \subpage rt_template_os_interface 7 | - \subpage rt_template_stderr 8 | - \subpage rt_template_stdin 9 | - \subpage rt_template_stdout 10 | - \subpage rt_template_tty 11 | -------------------------------------------------------------------------------- /documentation/doxygen/src/ref_retarget_os.txt: -------------------------------------------------------------------------------- 1 | /** 2 | \defgroup os_interface_api OS Interface 3 | \brief Collection of standard C library provided APIs for integration with an arbitrary RTOS. 4 | \details 5 | OS Interface enables an abstraction layer for operating system related functionalities within an 6 | embedded system that targets a specific toolchain. The most notable is the functionality for 7 | handling locking mechanisms for synchronization in a multi-threaded environment. 8 | @{ 9 | */ 10 | 11 | /** 12 | @} 13 | */ -------------------------------------------------------------------------------- /documentation/doxygen/style_template/footer.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
15 | 16 | 17 | 18 |