master 1f07332ffb04 cached
217 files
2.5 MB
675.4k tokens
498 symbols
1 requests
Download .txt
Showing preview only (2,700K chars total). Download the full file or copy to clipboard to get everything.
Repository: GorgonMeducer/Generic_MCU_Software_Infrastructure
Branch: master
Commit: 1f07332ffb04
Files: 217
Total size: 2.5 MB

Directory structure:
gitextract_iu0vyl3p/

├── .gitattributes
├── .gitignore
├── .gitmodules
├── LICENSE
├── README.md
├── example/
│   ├── RTE/
│   │   ├── Device/
│   │   │   └── CMSDK_CM7_SP/
│   │   │       ├── RTE_Device.h
│   │   │       ├── startup_CMSDK_CM7.s
│   │   │       └── system_CMSDK_CM7.c
│   │   └── _V2M-MPS2/
│   │       └── RTE_Components.h
│   ├── app_cfg.h
│   ├── app_platform/
│   │   ├── app_cfg.h
│   │   ├── app_platform.c
│   │   ├── app_platform.h
│   │   ├── stdout_USART.c
│   │   └── stdout_USART.h
│   ├── build/
│   │   └── mdk/
│   │       ├── Abstract.txt
│   │       ├── Blinky.sct
│   │       ├── Blinky.uvguix
│   │       ├── Blinky.uvguix.gabriel
│   │       ├── Blinky.uvoptx
│   │       ├── Blinky.uvprojx
│   │       ├── Dbg_MPS2.ini
│   │       ├── Dbg_Sim.ini
│   │       ├── EventRecorderStub.scvd
│   │       ├── FVP_cfg.txt
│   │       ├── MPS2_CS_ETB.ini
│   │       ├── MPS2_CS_TPIU.ini
│   │       └── RTE/
│   │           ├── Board_Support/
│   │           │   ├── MK64FN1M0xxx12/
│   │           │   │   ├── board.c
│   │           │   │   ├── board.h
│   │           │   │   ├── clock_config.c
│   │           │   │   ├── clock_config.h
│   │           │   │   ├── peripherals.c
│   │           │   │   ├── peripherals.h
│   │           │   │   ├── pin_mux.c
│   │           │   │   └── pin_mux.h
│   │           │   ├── board.c
│   │           │   ├── board.h
│   │           │   ├── clock_config.c
│   │           │   ├── clock_config.h
│   │           │   ├── peripherals.c
│   │           │   ├── peripherals.h
│   │           │   ├── pin_mux.c
│   │           │   └── pin_mux.h
│   │           ├── Device/
│   │           │   ├── ARMCM4_FP/
│   │           │   │   ├── startup_ARMCM4.s
│   │           │   │   └── system_ARMCM4.c
│   │           │   ├── CMSDK_CM4_FP/
│   │           │   │   ├── RTE_Device.h
│   │           │   │   ├── startup_CMSDK_CM4.s
│   │           │   │   └── system_CMSDK_CM4.c
│   │           │   ├── CMSDK_CM7_DP/
│   │           │   │   ├── RTE_Device.h
│   │           │   │   ├── startup_CMSDK_CM7.s
│   │           │   │   └── system_CMSDK_CM7.c
│   │           │   ├── CMSDK_CM7_SP/
│   │           │   │   ├── RTE_Device.h
│   │           │   │   ├── startup_CMSDK_CM7.s
│   │           │   │   └── system_CMSDK_CM7.c
│   │           │   └── MK64FN1M0xxx12/
│   │           │       ├── MK64F12.h
│   │           │       ├── MK64F12_features.h
│   │           │       ├── MK64FN1M0xxx12_flash.scf
│   │           │       ├── MK64FN1M0xxx12_ram.scf
│   │           │       ├── RTE_Device.h
│   │           │       ├── fsl_device_registers.h
│   │           │       ├── startup_MK64F12.s
│   │           │       ├── startup_MK64F12.s.0000
│   │           │       ├── system_MK64F12.c
│   │           │       ├── system_MK64F12.c.0000
│   │           │       └── system_MK64F12.h
│   │           ├── _FRDM-K64/
│   │           │   └── RTE_Components.h
│   │           ├── _FastModel/
│   │           │   └── RTE_Components.h
│   │           └── _V2M-MPS2/
│   │               └── RTE_Components.h
│   ├── menu_example.c
│   ├── scheduler_example.c
│   └── system.c
└── sources/
    ├── app_cfg.h
    └── gmsi/
        ├── app_cfg.h
        ├── arch/
        │   ├── app_cfg.h
        │   ├── arch.h
        │   └── arm/
        │       ├── app_cfg.h
        │       └── cortex-m/
        │           ├── app_cfg.h
        │           ├── arch_cortex-m.c
        │           └── arch_cortex-m.h
        ├── default.c
        ├── gmsi.c
        ├── gmsi.h
        ├── hal/
        │   ├── app_cfg.h
        │   ├── bsp/
        │   │   ├── app_cfg.h
        │   │   ├── bsp.c
        │   │   └── bsp.h
        │   ├── component/
        │   │   ├── app_cfg.h
        │   │   ├── bootloader/
        │   │   │   ├── app_cfg.h
        │   │   │   ├── bootloader.c
        │   │   │   └── bootloader.h
        │   │   ├── component.c
        │   │   ├── component.h
        │   │   ├── key/
        │   │   │   ├── app_cfg.h
        │   │   │   ├── key.c
        │   │   │   ├── key.h
        │   │   │   ├── key_interface.h
        │   │   │   └── key_queue/
        │   │   │       ├── app_cfg.h
        │   │   │       ├── key_queue.c
        │   │   │       └── key_queue.h
        │   │   ├── memory/
        │   │   │   ├── app_cfg.h
        │   │   │   ├── interface.h
        │   │   │   ├── mal/
        │   │   │   │   ├── app_cfg.h
        │   │   │   │   ├── interface.h
        │   │   │   │   ├── mal.c
        │   │   │   │   ├── mal.h
        │   │   │   │   ├── sdf_w25qxxx/
        │   │   │   │   │   ├── app_cfg.h
        │   │   │   │   │   ├── interface.h
        │   │   │   │   │   ├── sdf_w25qxxx.c
        │   │   │   │   │   └── sdf_w25qxxx.h
        │   │   │   │   └── sram/
        │   │   │   │       ├── app_cfg.h
        │   │   │   │       ├── interface.h
        │   │   │   │       ├── sram.c
        │   │   │   │       └── sram.h
        │   │   │   ├── memory.h
        │   │   │   └── page/
        │   │   │       ├── app_cfg.h
        │   │   │       ├── interface.h
        │   │   │       ├── page.c
        │   │   │       └── page.h
        │   │   └── sw_sdio/
        │   │       ├── app_cfg.h
        │   │       ├── sw_sdio.c
        │   │       └── sw_sdio.h
        │   ├── hal.c
        │   └── hal.h
        ├── service/
        │   ├── app_cfg.h
        │   ├── communication/
        │   │   ├── app_cfg.h
        │   │   ├── communication.h
        │   │   ├── crc/
        │   │   │   ├── app_cfg.h
        │   │   │   ├── crc.c
        │   │   │   ├── crc.h
        │   │   │   ├── crc16.c
        │   │   │   ├── crc32.c
        │   │   │   ├── crc7.c
        │   │   │   └── crc8.c
        │   │   ├── frame/
        │   │   │   ├── app_cfg.h
        │   │   │   ├── es_simple_frame/
        │   │   │   │   ├── app_cfg.h
        │   │   │   │   ├── es_simple_frame.c
        │   │   │   │   └── es_simple_frame.h
        │   │   │   ├── frame.h
        │   │   │   └── iframe.h
        │   │   ├── telegraph_engine/
        │   │   │   ├── app_cfg.h
        │   │   │   ├── telegraph_engine.c
        │   │   │   └── telegraph_engine.h
        │   │   └── xmodem/
        │   │       ├── app_cfg.h
        │   │       ├── xmodem.c
        │   │       └── xmodem.h
        │   ├── encryption/
        │   │   ├── app_cfg.h
        │   │   ├── encryption.h
        │   │   └── random/
        │   │       ├── app_cfg.h
        │   │       ├── random.c
        │   │       └── random.h
        │   ├── gui/
        │   │   ├── app_cfg.h
        │   │   ├── gui.h
        │   │   └── tgui/
        │   │       ├── app_cfg.h
        │   │       ├── grid/
        │   │       │   ├── app_cfg.h
        │   │       │   ├── grid.c
        │   │       │   ├── grid.h
        │   │       │   └── interface.h
        │   │       ├── interface.h
        │   │       ├── tgui.c
        │   │       └── tgui.h
        │   ├── memory/
        │   │   ├── app_cfg.h
        │   │   ├── block/
        │   │   │   ├── __class_block.h
        │   │   │   ├── app_cfg.h
        │   │   │   ├── block.c
        │   │   │   └── block.h
        │   │   ├── block_queue/
        │   │   │   ├── app_cfg.h
        │   │   │   ├── block_queue.c
        │   │   │   └── block_queue.h
        │   │   ├── epool/
        │   │   │   ├── app_cfg.h
        │   │   │   ├── epool.c
        │   │   │   └── epool.h
        │   │   ├── memory.c
        │   │   ├── memory.h
        │   │   └── stream2block/
        │   │       ├── app_cfg.h
        │   │       ├── stream2block.c
        │   │       └── stream2block.h
        │   ├── scheduler/
        │   │   ├── app_cfg.h
        │   │   ├── scheduler.c
        │   │   ├── scheduler.h
        │   │   ├── scheduler_internal.h
        │   │   ├── shell.c
        │   │   ├── task.c
        │   │   └── task.h
        │   ├── service.c
        │   ├── service.h
        │   └── time/
        │       ├── app_cfg.h
        │       ├── multiple_delay/
        │       │   ├── app_cfg.h
        │       │   ├── multiple_delay.c
        │       │   └── multiple_delay.h
        │       ├── time.c
        │       └── time.h
        └── utilities/
            ├── app_type.h
            ├── arm/
            │   ├── arm_compiler.h
            │   ├── signal.c
            │   └── signal.h
            ├── avr/
            │   ├── app_type.h
            │   ├── avr_compiler.h
            │   └── signal.h
            ├── communicate.h
            ├── compiler.h
            ├── delegate.c
            ├── delegate.h
            ├── error.h
            ├── ooc.h
            ├── preprocessor/
            │   ├── connect.h
            │   ├── language_extension.h
            │   ├── macro_repeat.h
            │   ├── mf_u8_dec2str.h
            │   └── preprocessor.h
            ├── simple_fsm.h
            ├── template/
            │   ├── t_list.c
            │   ├── t_list.h
            │   ├── t_pool.h
            │   ├── t_queue.h
            │   └── template.h
            ├── tiny_fsm.h
            └── usebits.h

================================================
FILE CONTENTS
================================================

================================================
FILE: .gitattributes
================================================
# Auto detect text files and perform LF normalization
* text=auto

================================================
FILE: .gitignore
================================================

*.d
*.o
*.crf
example/build/mdk/Out/Blinky.axf
example/build/mdk/Out/Blinky.build_log.htm
example/build/mdk/Out/Blinky.hex
example/build/mdk/Out/Blinky.htm
example/build/mdk/Blinky.uvguix.gabwan01
example/build/mdk/Out/Blinky.lnp
example/build/mdk/Out/Blinky.map
example/build/mdk/Out/Blinky_V2M-MPS2.dep
example/build/mdk/Out/ExtDll.iex
example/build/mdk/Out/startup_cmsdk_cm7.lst
*.TMP
example/build/mdk/Out/Blinky.fed
*._2i
example/build/mdk/Out/Blinky.l2p
sources/gmsi/service/gui/tgui/grid/example.lib
*.lst
*.map
*.axf
*.lnp
*.dep
*.gabwan01
*.dep
sources/gmsi/utilities/3rd-party/PLOOC/example/project/mdk/plooc_example.uvguix.gabwan01


================================================
FILE: .gitmodules
================================================
[submodule "sources/gmsi/utilities/3rd-party/PLOOC"]
	path = sources/gmsi/utilities/3rd-party/PLOOC
	url = https://github.com/GorgonMeducer/PLOOC.git
[submodule "sources/gmsi/arch/arm/cortex-m/perf_counter"]
	path = sources/gmsi/arch/arm/cortex-m/perf_counter
	url = https://github.com/GorgonMeducer/perf_counter


================================================
FILE: LICENSE
================================================
Apache License
                           Version 2.0, January 2004
                        http://www.apache.org/licenses/

   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

   1. Definitions.

      "License" shall mean the terms and conditions for use, reproduction,
      and distribution as defined by Sections 1 through 9 of this document.

      "Licensor" shall mean the copyright owner or entity authorized by
      the copyright owner that is granting the License.

      "Legal Entity" shall mean the union of the acting entity and all
      other entities that control, are controlled by, or are under common
      control with that entity. For the purposes of this definition,
      "control" means (i) the power, direct or indirect, to cause the
      direction or management of such entity, whether by contract or
      otherwise, or (ii) ownership of fifty percent (50%) or more of the
      outstanding shares, or (iii) beneficial ownership of such entity.

      "You" (or "Your") shall mean an individual or Legal Entity
      exercising permissions granted by this License.

      "Source" form shall mean the preferred form for making modifications,
      including but not limited to software source code, documentation
      source, and configuration files.

      "Object" form shall mean any form resulting from mechanical
      transformation or translation of a Source form, including but
      not limited to compiled object code, generated documentation,
      and conversions to other media types.

      "Work" shall mean the work of authorship, whether in Source or
      Object form, made available under the License, as indicated by a
      copyright notice that is included in or attached to the work
      (an example is provided in the Appendix below).

      "Derivative Works" shall mean any work, whether in Source or Object
      form, that is based on (or derived from) the Work and for which the
      editorial revisions, annotations, elaborations, or other modifications
      represent, as a whole, an original work of authorship. For the purposes
      of this License, Derivative Works shall not include works that remain
      separable from, or merely link (or bind by name) to the interfaces of,
      the Work and Derivative Works thereof.

      "Contribution" shall mean any work of authorship, including
      the original version of the Work and any modifications or additions
      to that Work or Derivative Works thereof, that is intentionally
      submitted to Licensor for inclusion in the Work by the copyright owner
      or by an individual or Legal Entity authorized to submit on behalf of
      the copyright owner. For the purposes of this definition, "submitted"
      means any form of electronic, verbal, or written communication sent
      to the Licensor or its representatives, including but not limited to
      communication on electronic mailing lists, source code control systems,
      and issue tracking systems that are managed by, or on behalf of, the
      Licensor for the purpose of discussing and improving the Work, but
      excluding communication that is conspicuously marked or otherwise
      designated in writing by the copyright owner as "Not a Contribution."

      "Contributor" shall mean Licensor and any individual or Legal Entity
      on behalf of whom a Contribution has been received by Licensor and
      subsequently incorporated within the Work.

   2. Grant of Copyright License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      copyright license to reproduce, prepare Derivative Works of,
      publicly display, publicly perform, sublicense, and distribute the
      Work and such Derivative Works in Source or Object form.

   3. Grant of Patent License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      (except as stated in this section) patent license to make, have made,
      use, offer to sell, sell, import, and otherwise transfer the Work,
      where such license applies only to those patent claims licensable
      by such Contributor that are necessarily infringed by their
      Contribution(s) alone or by combination of their Contribution(s)
      with the Work to which such Contribution(s) was submitted. If You
      institute patent litigation against any entity (including a
      cross-claim or counterclaim in a lawsuit) alleging that the Work
      or a Contribution incorporated within the Work constitutes direct
      or contributory patent infringement, then any patent licenses
      granted to You under this License for that Work shall terminate
      as of the date such litigation is filed.

   4. Redistribution. You may reproduce and distribute copies of the
      Work or Derivative Works thereof in any medium, with or without
      modifications, and in Source or Object form, provided that You
      meet the following conditions:

      (a) You must give any other recipients of the Work or
          Derivative Works a copy of this License; and

      (b) You must cause any modified files to carry prominent notices
          stating that You changed the files; and

      (c) You must retain, in the Source form of any Derivative Works
          that You distribute, all copyright, patent, trademark, and
          attribution notices from the Source form of the Work,
          excluding those notices that do not pertain to any part of
          the Derivative Works; and

      (d) If the Work includes a "NOTICE" text file as part of its
          distribution, then any Derivative Works that You distribute must
          include a readable copy of the attribution notices contained
          within such NOTICE file, excluding those notices that do not
          pertain to any part of the Derivative Works, in at least one
          of the following places: within a NOTICE text file distributed
          as part of the Derivative Works; within the Source form or
          documentation, if provided along with the Derivative Works; or,
          within a display generated by the Derivative Works, if and
          wherever such third-party notices normally appear. The contents
          of the NOTICE file are for informational purposes only and
          do not modify the License. You may add Your own attribution
          notices within Derivative Works that You distribute, alongside
          or as an addendum to the NOTICE text from the Work, provided
          that such additional attribution notices cannot be construed
          as modifying the License.

      You may add Your own copyright statement to Your modifications and
      may provide additional or different license terms and conditions
      for use, reproduction, or distribution of Your modifications, or
      for any such Derivative Works as a whole, provided Your use,
      reproduction, and distribution of the Work otherwise complies with
      the conditions stated in this License.

   5. Submission of Contributions. Unless You explicitly state otherwise,
      any Contribution intentionally submitted for inclusion in the Work
      by You to the Licensor shall be under the terms and conditions of
      this License, without any additional terms or conditions.
      Notwithstanding the above, nothing herein shall supersede or modify
      the terms of any separate license agreement you may have executed
      with Licensor regarding such Contributions.

   6. Trademarks. This License does not grant permission to use the trade
      names, trademarks, service marks, or product names of the Licensor,
      except as required for reasonable and customary use in describing the
      origin of the Work and reproducing the content of the NOTICE file.

   7. Disclaimer of Warranty. Unless required by applicable law or
      agreed to in writing, Licensor provides the Work (and each
      Contributor provides its Contributions) on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
      implied, including, without limitation, any warranties or conditions
      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
      PARTICULAR PURPOSE. You are solely responsible for determining the
      appropriateness of using or redistributing the Work and assume any
      risks associated with Your exercise of permissions under this License.

   8. Limitation of Liability. In no event and under no legal theory,
      whether in tort (including negligence), contract, or otherwise,
      unless required by applicable law (such as deliberate and grossly
      negligent acts) or agreed to in writing, shall any Contributor be
      liable to You for damages, including any direct, indirect, special,
      incidental, or consequential damages of any character arising as a
      result of this License or out of the use or inability to use the
      Work (including but not limited to damages for loss of goodwill,
      work stoppage, computer failure or malfunction, or any and all
      other commercial damages or losses), even if such Contributor
      has been advised of the possibility of such damages.

   9. Accepting Warranty or Additional Liability. While redistributing
      the Work or Derivative Works thereof, You may choose to offer,
      and charge a fee for, acceptance of support, warranty, indemnity,
      or other liability obligations and/or rights consistent with this
      License. However, in accepting such obligations, You may act only
      on Your own behalf and on Your sole responsibility, not on behalf
      of any other Contributor, and only if You agree to indemnify,
      defend, and hold each Contributor harmless for any liability
      incurred by, or claims asserted against, such Contributor by reason
      of your accepting any such warranty or additional liability.

   END OF TERMS AND CONDITIONS

   APPENDIX: How to apply the Apache License to your work.

      To apply the Apache License to your work, attach the following
      boilerplate notice, with the fields enclosed by brackets "{}"
      replaced with your own identifying information. (Don't include
      the brackets!)  The text should be enclosed in the appropriate
      comment syntax for the file format. We also recommend that a
      file or class name and description of purpose be included on the
      same "printed page" as the copyright notice for easier
      identification within third-party archives.

   Copyright {yyyy} {name of copyright owner}

   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.

================================================
FILE: README.md
================================================
# Generic_MCU_Software_Infrastructure

Provides necessary software infrastructures, services, macros to support some high level abstruct concepts and/or paradigm, such as OOPC, FSM, delegate (event-driven) and etc

Currently GMSI provides following services:

- epool

    a common pool infrastructure, which could be considered as an abstract class for pool (heap). The letter "e" here represents "embedded".  


- block
    
    a building block class which provides the basis of block based buffer services. block_t will be used by other services, such as block_queue, stream2block, es_simple_frame and etc.
    Both dynamic(heap) and static memory allocation are supported. 
    
    
- block_queue

    A queue of block_t which implemented as a block list. 
    
    
- stream2block

    a dedicated stream-based service which provides stream interface for block devices, i.e. IO devices which support burst transfer mode (such as SPI, USART using DMA). 
    A serial port tempalte is provided to use USART with the minimal requirments of Data-Receiving-Complete interrupt and Data-Transfering-Complete interrupt. Example project demostrates how to use stream2block with usart. 
    
    WHY using stream2block service rather than simple QUEUE + ISR ?
    
    Simple QUEUE + ISR does works for normal applications, but you have to provide atomicity protection for queues. This will hurt real-time response of interrupt significantly if the stream is accessed frequently in super-loop, i.e. enqueue or dequeue. On the other hand, some device might encourage users to use DMA or other methods which can generate burst transations, in other words, a stream has to be converted into blocks. When stream2block is designed, it works like a double-bufferred system, so when one block is used for queue access, another block is used for a burst transaction. The burst IO transactiond and the queue are connected via a list, which works like a queue of blocks. You only need to provide atomicity protection on the list but not the queue. So, frequenly accessing queue in the super-loop will not hurt any real-time response, as list accesses are relatively less freqently comparing those accesses in normal QUEUE + ISR scheme.


- es_simple_frame
    
    A communication service with provides encoding and decoding functions based on a simple frame structure, which only contains a 8bit header, a 16bit length, an optional data field and a 16bits CRC checksum. This service can be configured working with exchangable buffer ( block_t ) or static memory buffer.

- multiple_delay

    A dedicated temporal module which can provide delay monitoring service for finite state machine or tasks in RTOS. A 1ms timer event handler is required to drive a 32bit counter. 

- scheduler

    A dedicated non-preeptive finite state machine scheduler. 
    
- crc

    Various CRC functions. 

- xmodem
   
    A dedicated module which implements Xmodem communication protocal.

- bootloader

    A bootloader logic template. You just need to 1) implement the memories access driver, 2)describe the supported memories in the target device, and 3) provide a stream interface (i_byte_pipe_t) for communication. 

- key
    A dedicated module which provides general key-board services, such as signal filtering, key event detection and key buffer. 

- sw_sdio

    A dedicated module which provides software-implemented sdio driver. 

- mal

    Memory Abstruct Layer, provides unified, random access API for all kinds of page-based and/or non-page-based memories. 

- page

    A dedicated service which provide random accesses for page-based memories. 

    

...


================================================
FILE: example/RTE/Device/CMSDK_CM7_SP/RTE_Device.h
================================================
/* -----------------------------------------------------------------------------
 * Copyright (c) 2016 ARM Ltd.
 *
 * This software is provided 'as-is', without any express or implied warranty.
 * In no event will the authors be held liable for any damages arising from
 * the use of this software. Permission is granted to anyone to use this
 * software for any purpose, including commercial applications, and to alter
 * it and redistribute it freely, subject to the following restrictions:
 *
 * 1. The origin of this software must not be misrepresented; you must not
 *    claim that you wrote the original software. If you use this software in
 *    a product, an acknowledgment in the product documentation would be
 *    appreciated but is not required.
 *
 * 2. Altered source versions must be plainly marked as such, and must not be
 *    misrepresented as being the original software.
 *
 * 3. This notice may not be removed or altered from any source distribution.
 *
 * $Date:        25. April 2016
 * $Revision:    V1.0.0
 *
 * Project:      RTE Device Configuration for ARM CMSDK_CM device
 * -------------------------------------------------------------------------- */

//-------- <<< Use Configuration Wizard in Context Menu >>> --------------------

#ifndef __RTE_DEVICE_H
#define __RTE_DEVICE_H

// <q> USART0 (Universal synchronous asynchronous receiver transmitter) [Driver_USART0]
// <i> Configuration settings for Driver_USART0 in component ::CMSIS Driver:USART
#define RTE_USART0                      1


// <q> USART1 (Universal synchronous asynchronous receiver transmitter) [Driver_USART1]
// <i> Configuration settings for Driver_USART1 in component ::CMSIS Driver:USART
#define RTE_USART1                      0


// <q> USART2 (Universal synchronous asynchronous receiver transmitter) [Driver_USART2]
// <i> Configuration settings for Driver_USART2 in component ::CMSIS Driver:USART
#define RTE_UART2                       0


// <q> USART3 (Universal synchronous asynchronous receiver transmitter) [Driver_USART3]
// <i> Configuration settings for Driver_USART3 in component ::CMSIS Driver:USART
#define RTE_UART3                       0

#endif  /* __RTE_DEVICE_H */


================================================
FILE: example/RTE/Device/CMSDK_CM7_SP/startup_CMSDK_CM7.s
================================================
;/**************************************************************************//**
; * @file     startup_CMSDK_CM7.s
; * @brief    CMSIS Core Device Startup File for
; *           CMSDK_CM7 Device
; * @version  V3.05
; * @date     09. November 2016
; ******************************************************************************/
;/* Copyright (c) 2011 - 2016 ARM LIMITED
;
;   All rights reserved.
;   Redistribution and use in source and binary forms, with or without
;   modification, are permitted provided that the following conditions are met:
;   - Redistributions of source code must retain the above copyright
;     notice, this list of conditions and the following disclaimer.
;   - Redistributions in binary form must reproduce the above copyright
;     notice, this list of conditions and the following disclaimer in the
;     documentation and/or other materials provided with the distribution.
;   - Neither the name of ARM nor the names of its contributors may be used
;     to endorse or promote products derived from this software without
;     specific prior written permission.
;   *
;   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
;   AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
;   IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
;   ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDERS AND CONTRIBUTORS BE
;   LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
;   CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
;   SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
;   INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
;   CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
;   ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
;   POSSIBILITY OF SUCH DAMAGE.
;   ---------------------------------------------------------------------------*/
;/*
;//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------
;*/


; <h> Stack Configuration
;   <o> Stack Size (in Bytes) <0x0-0xFFFFFFFF:8>
; </h>

Stack_Size      EQU     0x00000400

                AREA    STACK, NOINIT, READWRITE, ALIGN=3
Stack_Mem       SPACE   Stack_Size
__initial_sp


; <h> Heap Configuration
;   <o>  Heap Size (in Bytes) <0x0-0xFFFFFFFF:8>
; </h>

Heap_Size       EQU     0x00000C00

                AREA    HEAP, NOINIT, READWRITE, ALIGN=3
__heap_base
Heap_Mem        SPACE   Heap_Size
__heap_limit


                PRESERVE8
                THUMB


; Vector Table Mapped to Address 0 at Reset

                AREA    RESET, DATA, READONLY
                EXPORT  __Vectors
                EXPORT  __Vectors_End
                EXPORT  __Vectors_Size

__Vectors       DCD     __initial_sp               ;     Top of Stack
                DCD     Reset_Handler              ;     Reset Handler
                DCD     NMI_Handler                ;     NMI Handler
                DCD     HardFault_Handler          ;     Hard Fault Handler
                DCD     MemManage_Handler          ;     MPU Fault Handler
                DCD     BusFault_Handler           ;     Bus Fault Handler
                DCD     UsageFault_Handler         ;     Usage Fault Handler
                DCD     0                          ;     Reserved
                DCD     0                          ;     Reserved
                DCD     0                          ;     Reserved
                DCD     0                          ;     Reserved
                DCD     SVC_Handler                ;     SVCall Handler
                DCD     DebugMon_Handler           ;     Debug Monitor Handler
                DCD     0                          ;     Reserved
                DCD     PendSV_Handler             ;     PendSV Handler
                DCD     SysTick_Handler            ;     SysTick Handler

                ; External Interrupts
                DCD     UART0RX_Handler            ;   0 UART 0 receive interrupt
                DCD     UART0TX_Handler            ;   1 UART 0 transmit interrupt
                DCD     UART1RX_Handler            ;   2 UART 1 receive interrupt
                DCD     UART1TX_Handler            ;   3 UART 1 transmit interrupt
                DCD     UART2RX_Handler            ;   4 UART 2 receive interrupt
                DCD     UART2TX_Handler            ;   5 UART 2 transmit interrupt
                DCD     GPIO0ALL_Handler           ;   6 GPIO 0 combined interrupt
                DCD     GPIO1ALL_Handler           ;   7 GPIO 1 combined interrupt
                DCD     TIMER0_Handler             ;   8 Timer 0 interrupt
                DCD     TIMER1_Handler             ;   9 Timer 1 interrupt
                DCD     DUALTIMER_Handler          ;  10 Dual Timer interrupt
                DCD     SPI_0_1_Handler            ;  11 SPI #0, #1 interrupt
                DCD     UART_0_1_2_OVF_Handler     ;  12 UART overflow (0, 1 & 2) interrupt
                DCD     ETHERNET_Handler           ;  13 Ethernet interrupt
                DCD     I2S_Handler                ;  14 Audio I2S interrupt
                DCD     TOUCHSCREEN_Handler        ;  15 Touch Screen interrupt
                DCD     GPIO2_Handler              ;  16 GPIO 2 combined interrupt
                DCD     GPIO3_Handler              ;  17 GPIO 3 combined interrupt
                DCD     UART3RX_Handler            ;  18 UART 3 receive interrupt
                DCD     UART3TX_Handler            ;  19 UART 3 transmit interrupt
                DCD     UART4RX_Handler            ;  20 UART 4 receive interrupt
                DCD     UART4TX_Handler            ;  21 UART 4 transmit interrupt
                DCD     SPI_2_Handler              ;  22 SPI #2 interrupt
                DCD     SPI_3_4_Handler            ;  23 SPI #3, SPI #4 interrupt
                DCD     GPIO0_0_Handler            ;  24 GPIO 0 individual interrupt ( 0)
                DCD     GPIO0_1_Handler            ;  25 GPIO 0 individual interrupt ( 1)
                DCD     GPIO0_2_Handler            ;  26 GPIO 0 individual interrupt ( 2)
                DCD     GPIO0_3_Handler            ;  27 GPIO 0 individual interrupt ( 3)
                DCD     GPIO0_4_Handler            ;  28 GPIO 0 individual interrupt ( 4)
                DCD     GPIO0_5_Handler            ;  29 GPIO 0 individual interrupt ( 5)
                DCD     GPIO0_6_Handler            ;  30 GPIO 0 individual interrupt ( 6)
                DCD     GPIO0_7_Handler            ;  31 GPIO 0 individual interrupt ( 7)
__Vectors_End

__Vectors_Size  EQU     __Vectors_End - __Vectors

                AREA    |.text|, CODE, READONLY


; Reset Handler

Reset_Handler   PROC
                EXPORT  Reset_Handler             [WEAK]
                IMPORT  SystemInit
                IMPORT  __main
                LDR     R0, =SystemInit
                BLX     R0
                LDR     R0, =__main
                BX      R0
                ENDP


; Dummy Exception Handlers (infinite loops which can be modified)

NMI_Handler     PROC
                EXPORT  NMI_Handler               [WEAK]
                B       .
                ENDP
HardFault_Handler\
                PROC
                EXPORT  HardFault_Handler         [WEAK]
                B       .
                ENDP
MemManage_Handler\
                PROC
                EXPORT  MemManage_Handler         [WEAK]
                B       .
                ENDP
BusFault_Handler\
                PROC
                EXPORT  BusFault_Handler          [WEAK]
                B       .
                ENDP
UsageFault_Handler\
                PROC
                EXPORT  UsageFault_Handler        [WEAK]
                B       .
                ENDP
SVC_Handler     PROC
                EXPORT  SVC_Handler               [WEAK]
                B       .
                ENDP
DebugMon_Handler\
                PROC
                EXPORT  DebugMon_Handler          [WEAK]
                B       .
                ENDP
PendSV_Handler  PROC
                EXPORT  PendSV_Handler            [WEAK]
                B       .
                ENDP
SysTick_Handler PROC
                EXPORT  SysTick_Handler           [WEAK]
                B       .
                ENDP

Default_Handler PROC
                EXPORT UART0RX_Handler            [WEAK]
                EXPORT UART0TX_Handler            [WEAK]
                EXPORT UART1RX_Handler            [WEAK]
                EXPORT UART1TX_Handler            [WEAK]
                EXPORT UART2RX_Handler            [WEAK]
                EXPORT UART2TX_Handler            [WEAK]
                EXPORT GPIO0ALL_Handler           [WEAK]
                EXPORT GPIO1ALL_Handler           [WEAK]
                EXPORT TIMER0_Handler             [WEAK]
                EXPORT TIMER1_Handler             [WEAK]
                EXPORT DUALTIMER_Handler          [WEAK]
                EXPORT SPI_0_1_Handler            [WEAK]
                EXPORT UART_0_1_2_OVF_Handler     [WEAK]
                EXPORT ETHERNET_Handler           [WEAK]
                EXPORT I2S_Handler                [WEAK]
                EXPORT TOUCHSCREEN_Handler        [WEAK]
                EXPORT GPIO2_Handler              [WEAK]
                EXPORT GPIO3_Handler              [WEAK]
                EXPORT UART3RX_Handler            [WEAK]
                EXPORT UART3TX_Handler            [WEAK]
                EXPORT UART4RX_Handler            [WEAK]
                EXPORT UART4TX_Handler            [WEAK]
                EXPORT SPI_2_Handler              [WEAK]
                EXPORT SPI_3_4_Handler            [WEAK]
                EXPORT GPIO0_0_Handler            [WEAK]
                EXPORT GPIO0_1_Handler            [WEAK]
                EXPORT GPIO0_2_Handler            [WEAK]
                EXPORT GPIO0_3_Handler            [WEAK]
                EXPORT GPIO0_4_Handler            [WEAK]
                EXPORT GPIO0_5_Handler            [WEAK]
                EXPORT GPIO0_6_Handler            [WEAK]
                EXPORT GPIO0_7_Handler            [WEAK]

UART0RX_Handler
UART0TX_Handler
UART1RX_Handler
UART1TX_Handler
UART2RX_Handler
UART2TX_Handler
GPIO0ALL_Handler
GPIO1ALL_Handler
TIMER0_Handler
TIMER1_Handler
DUALTIMER_Handler
SPI_0_1_Handler
UART_0_1_2_OVF_Handler
ETHERNET_Handler
I2S_Handler
TOUCHSCREEN_Handler
GPIO2_Handler
GPIO3_Handler
UART3RX_Handler
UART3TX_Handler
UART4RX_Handler
UART4TX_Handler
SPI_2_Handler
SPI_3_4_Handler
GPIO0_0_Handler
GPIO0_1_Handler
GPIO0_2_Handler
GPIO0_3_Handler
GPIO0_4_Handler
GPIO0_5_Handler
GPIO0_6_Handler
GPIO0_7_Handler
                B       .

                ENDP


                ALIGN


; User Initial Stack & Heap

                IF      :DEF:__MICROLIB

                EXPORT  __initial_sp
                EXPORT  __heap_base
                EXPORT  __heap_limit

                ELSE

                IMPORT  __use_two_region_memory
                EXPORT  __user_initial_stackheap

__user_initial_stackheap PROC
                LDR     R0, =  Heap_Mem
                LDR     R1, =(Stack_Mem + Stack_Size)
                LDR     R2, = (Heap_Mem +  Heap_Size)
                LDR     R3, = Stack_Mem
                BX      LR
                ENDP

                ALIGN

                ENDIF


                END


================================================
FILE: example/RTE/Device/CMSDK_CM7_SP/system_CMSDK_CM7.c
================================================
/**************************************************************************//**
 * @file     system_CMSDK_CM7.c
 * @brief    CMSIS Device System Source File for
 *           CMSDK_CM7 Device
 * @version  V4.00
 * @date     02. November 2015
 ******************************************************************************/
/* Copyright (c) 2011 - 2015 ARM LIMITED

   All rights reserved.
   Redistribution and use in source and binary forms, with or without
   modification, are permitted provided that the following conditions are met:
   - Redistributions of source code must retain the above copyright
     notice, this list of conditions and the following disclaimer.
   - Redistributions in binary form must reproduce the above copyright
     notice, this list of conditions and the following disclaimer in the
     documentation and/or other materials provided with the distribution.
   - Neither the name of ARM nor the names of its contributors may be used
     to endorse or promote products derived from this software without
     specific prior written permission.
   *
   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
   AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDERS AND CONTRIBUTORS BE
   LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
   CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
   SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
   INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
   CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
   ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
   POSSIBILITY OF SUCH DAMAGE.
   ---------------------------------------------------------------------------*/


#if   defined (CMSDK_CM7)
  #include "CMSDK_CM7.h"
#elif defined (CMSDK_CM7_SP)
  #include "CMSDK_CM7_SP.h"
#elif defined (CMSDK_CM7_DP)
  #include "CMSDK_CM7_DP.h"
#else
  #error device not specified!
#endif

/*----------------------------------------------------------------------------
  Define clocks
 *----------------------------------------------------------------------------*/
#define  XTAL            (50000000UL)     /* Oscillator frequency */

#define  SYSTEM_CLOCK    (XTAL / 2)


/*----------------------------------------------------------------------------
  System Core Clock Variable
 *----------------------------------------------------------------------------*/
uint32_t SystemCoreClock = SYSTEM_CLOCK;  /* System Core Clock Frequency */


void SystemCoreClockUpdate (void)
{
  SystemCoreClock = SYSTEM_CLOCK;
}

void SystemInit (void)
{
  #if (__FPU_USED == 1)
    SCB->CPACR |= ((3UL << 10*2) |                 /* set CP10 Full Access */
                   (3UL << 11*2)  );               /* set CP11 Full Access */
  #endif

#ifdef UNALIGNED_SUPPORT_DISABLE
  SCB->CCR |= SCB_CCR_UNALIGN_TRP_Msk;
#endif

  SystemCoreClock = SYSTEM_CLOCK;
}


================================================
FILE: example/RTE/_V2M-MPS2/RTE_Components.h
================================================

/*
 * Auto generated Run-Time-Environment Component Configuration File
 *      *** Do not modify ! ***
 *
 * Project: 'Blinky' 
 * Target:  'V2M-MPS2' 
 */

#ifndef RTE_COMPONENTS_H
#define RTE_COMPONENTS_H


/*
 * Define the Device Header File: 
 */
#define CMSIS_device_header "CMSDK_CM7_SP.h"

#define RTE_Compiler_IO_STDOUT          /* Compiler I/O: STDOUT */
#define RTE_Compiler_IO_STDOUT_User     /* Compiler I/O: STDOUT User */
#define RTE_Drivers_USART

#endif /* RTE_COMPONENTS_H */


================================================
FILE: example/app_cfg.h
================================================
/****************************************************************************
*  Copyright 2017 Gorgon Meducer (Email:embedded_zhuoran@hotmail.com)       *
*                                                                           *
*  Licensed under the Apache License, Version 2.0 (the "License");          *
*  you may not use this file except in compliance with the License.         *
*  You may obtain a copy of the License at                                  *
*                                                                           *
*     http://www.apache.org/licenses/LICENSE-2.0                            *
*                                                                           *
*  Unless required by applicable law or agreed to in writing, software      *
*  distributed under the License is distributed on an "AS IS" BASIS,        *
*  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. *
*  See the License for the specific language governing permissions and      *
*  limitations under the License.                                           *
*                                                                           *
****************************************************************************/


//! \note do not move this pre-processor statement to other places

#ifndef __SYSTEM_APP_CFG_H__
#define __SYSTEM_APP_CFG_H__


/*============================ INCLUDES ======================================*/
/*============================ MACROS ========================================*/

//-------- <<< Use Configuration Wizard in Context Menu >>> --------------------

/*----------------------------------------------------------------------------*
 * Application Platform Configuration                                         *
 *----------------------------------------------------------------------------*/

//  <h> STDOUT (via UART) configuration
//      <o>SerialPort Baudrate
//      <i>Configure the baudrate of the UART which is used as stdout (printf)
#define USART_BAUDRATE                      (115200)

//      <o>Block Input Timeout in ms <0-65535>
//      <i>When timeout, all received bytes will be imported to input stream (STREAM_IN), 0 means disabling the timeout feature.
#define STREAM_IN_RCV_TIMEOUT               (5)

//      <h> Output Stream (STREAM_OUT)
//          <o>The size of output buffer block <8-4096> 
//          <i>Output stream will be transfered in blocks, the size of an output block is defined here.
#define OUTPUT_STREAM_BLOCK_SIZE            (32)
//          <o>The number of output blocks in a dedicated heap <2-65535>
//          <i>All output blocks are allocated from a dedicated heap, the size of the heap is defined here.
#define OUTPUT_STREAM_BLOCK_COUNT           (4)
//      </h>
//      <h> Input Stream (STREAM_IN)
//          <o>The size of input buffer block <8-4096> 
//          <i>Input stream will be received in blocks, the size of an input block is defined here.
#define INPUT_STREAM_BLOCK_SIZE             (16)  
//          <o>The number of input blocks in a dedicated heap <2-65535>
//          <i>All input blocks are allocated from a dedicated heap, the size of the heap is defined here.
#define INPUT_STREAM_BLOCK_COUNT            (8)
//      </h>
//  </h>

//  <h> Simple Frame Encoding / Decodign configuration
//      <o>Frame Buffer Size in byte <1-65536>
//      <i>The frame buffer is only used to store the data decoded from a valid frame. Reply data can also be stored in this buffer.
#define FRAME_BUFFER_SIZE                   (1024)
//  </h>

//  <h> Multiple Delay Service Configuration
//      <o>Maximum number of delay objects supported <1-65536>
//      <i>A dedicated pool is provided to hold all the delay objects. The pool size determined the maximum allowed delay tasks supported at the same time.
#define DELAY_OBJ_POOL_SIZE                 8
//  </h>



#define USE_SERVICE_ES_SIMPLE_FRAME         ENABLED



#define USE_SERVICE_MULTIPLE_DELAY          ENABLED
#define USE_SERVICE_TELEGRAPH_ENGINE        ENABLED
#define USE_SERVICE_BLOCK                   ENABLED
#define USE_SERVICE_BLOCK_QUEUE             ENABLED
#define USE_SERVICE_STREAM_TO_BLOCK         ENABLED


#define DEMO_MULTIPLE_DELAY                 DISABLED
#define DEMO_FRAME_USE_BLOCK_MODE           ENABLED


/*----------------------------------------------------------------------------*
 * Scheduler Configuration                                                    *
 *----------------------------------------------------------------------------*/
//! \name configure safe task service:1.2K for current configuration
//! @{
#define TASK_SCHEDULER                      DISABLED
#define SAFE_TASK_THREAD_SYNC               ENABLED     //!< disable semaphore support
#define SAFE_TASK_CRITICAL_SECTION          ENABLED     //!< enable critical support
#define SAFE_TASK_CALL_STACK                ENABLED
#define SAFE_TASK_USE_RESERVED_SYSTEM_RAM   DISABLED


#define SAFE_TASK_QUEUE_POOL_SIZE           (1ul)       //!< task queue pool size
#define SAFE_TASK_POOL_SIZE                 (8ul)       //!< task pool size       
//! @}

/*============================ MACROFIED FUNCTIONS ===========================*/
/*============================ TYPES =========================================*/
/*============================ GLOBAL VARIABLES ==============================*/
/*============================ LOCAL VARIABLES ===============================*/
/*============================ PROTOTYPES ====================================*/


#endif
/* EOF */


================================================
FILE: example/app_platform/app_cfg.h
================================================
/****************************************************************************
*  Copyright 2017 Gorgon Meducer (Email:embedded_zhuoran@hotmail.com)       *
*                                                                           *
*  Licensed under the Apache License, Version 2.0 (the "License");          *
*  you may not use this file except in compliance with the License.         *
*  You may obtain a copy of the License at                                  *
*                                                                           *
*     http://www.apache.org/licenses/LICENSE-2.0                            *
*                                                                           *
*  Unless required by applicable law or agreed to in writing, software      *
*  distributed under the License is distributed on an "AS IS" BASIS,        *
*  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. *
*  See the License for the specific language governing permissions and      *
*  limitations under the License.                                           *
*                                                                           *
****************************************************************************/



#ifndef __APP_PLATFORM_APP_CFG_H__
#define __APP_PLATFORM_APP_CFG_H__

/*============================ INCLUDES ======================================*/
#include "..\..\sources\gmsi\gmsi.h"       // Import GMSI Support


/*============================ MACROS ========================================*/
/*============================ MACROFIED FUNCTIONS ===========================*/
/*============================ TYPES =========================================*/
/*============================ GLOBAL VARIABLES ==============================*/
/*============================ LOCAL VARIABLES ===============================*/
/*============================ PROTOTYPES ====================================*/


#endif
/* EOF */


================================================
FILE: example/app_platform/app_platform.c
================================================
/****************************************************************************
*  Copyright 2017 Gorgon Meducer (Email:embedded_zhuoran@hotmail.com)       *
*                                                                           *
*  Licensed under the Apache License, Version 2.0 (the "License");          *
*  you may not use this file except in compliance with the License.         *
*  You may obtain a copy of the License at                                  *
*                                                                           *
*     http://www.apache.org/licenses/LICENSE-2.0                            *
*                                                                           *
*  Unless required by applicable law or agreed to in writing, software      *
*  distributed under the License is distributed on an "AS IS" BASIS,        *
*  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. *
*  See the License for the specific language governing permissions and      *
*  limitations under the License.                                           *
*                                                                           *
****************************************************************************/

/*============================ INCLUDES ======================================*/
#include ".\app_cfg.h"


#include <stdio.h>
#include "app_platform.h"

/*============================ MACROS ========================================*/
/*============================ MACROFIED FUNCTIONS ===========================*/
/*============================ TYPES =========================================*/
/*============================ GLOBAL VARIABLES ==============================*/
/*============================ LOCAL VARIABLES ===============================*/
/*============================ PROTOTYPES ====================================*/
static void counter_overflow(void);
extern void SystemCoreClockUpdate (void);
/*============================ IMPLEMENTATION ================================*/

 #if __IS_COMPILER_ARM_COMPILER_6__
__asm(".global __use_no_semihosting\n\t");
__asm(".global __ARM_use_no_argv\n\t");

void _sys_exit(int ch)
{
    while(1);
}


void _ttywrch(int ch)
{
    
}

#include <rt_sys.h>

FILEHANDLE $Sub$$_sys_open(const char *name, int openmode)
{
    return 0;
}

#endif


/* \note please put it into a 1ms timer handler
 */
void app_platform_1ms_event_handler(void)
{
    STREAM_IN_1ms_event_handler();
}

__attribute__((constructor(101)))
/*! \note initialize board specific package
 *  \param none
 *  \retval true hal initialization succeeded.
 *  \retval false hal initialization failed
 */  
void app_platform_init( void )
{
    do {
        SystemCoreClockUpdate();

        gmsi_platform_init();
    

        if (!stdout_init()) {
            break;
        }
        
        return ;
    } while(false);
    
    NVIC_SystemReset();
}

/* EOF */


================================================
FILE: example/app_platform/app_platform.h
================================================
/****************************************************************************
*  Copyright 2017 Gorgon Meducer (Email:embedded_zhuoran@hotmail.com)       *
*                                                                           *
*  Licensed under the Apache License, Version 2.0 (the "License");          *
*  you may not use this file except in compliance with the License.         *
*  You may obtain a copy of the License at                                  *
*                                                                           *
*     http://www.apache.org/licenses/LICENSE-2.0                            *
*                                                                           *
*  Unless required by applicable law or agreed to in writing, software      *
*  distributed under the License is distributed on an "AS IS" BASIS,        *
*  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. *
*  See the License for the specific language governing permissions and      *
*  limitations under the License.                                           *
*                                                                           *
****************************************************************************/

#ifndef __USE_APP_PLATFORM_H__
#define __USE_APP_PLATFORM_H__

/*============================ INCLUDES ======================================*/
#include ".\app_cfg.h"

#include <stdio.h>

#include <ARMCM4_FP.h>

#include ".\stdout_USART.h"

/*============================ MACROS ========================================*/
/*============================ MACROFIED FUNCTIONS ===========================*/
/*============================ TYPES =========================================*/     
/*============================ GLOBAL VARIABLES ==============================*/
/*============================ LOCAL VARIABLES ===============================*/
/*============================ PROTOTYPES ====================================*/

/* \note please put it into a 1ms timer handler
 */
extern void app_platform_1ms_event_handler(void);

/*! \brief start performance counter (cycle accurate)
 */
extern void start_counter(void);

/*! \brief stop performance counter (cycle accurate)
 *! \retval cycle elapsed. 
 */
extern int32_t stop_counter(void);


#endif


================================================
FILE: example/app_platform/stdout_USART.c
================================================
/*-----------------------------------------------------------------------------
 * Name:    stdout_USART.c
 * Purpose: STDOUT USART Template
 * Rev.:    1.0.0
 *-----------------------------------------------------------------------------*/
 
/* Copyright (c) 2013 - 2015 ARM LIMITED

   All rights reserved.
   Redistribution and use in source and binary forms, with or without
   modification, are permitted provided that the following conditions are met:
   - Redistributions of source code must retain the above copyright
     notice, this list of conditions and the following disclaimer.
   - Redistributions in binary form must reproduce the above copyright
     notice, this list of conditions and the following disclaimer in the
     documentation and/or other materials provided with the distribution.
   - Neither the name of ARM nor the names of its contributors may be used
     to endorse or promote products derived from this software without
     specific prior written permission.
   *
   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
   AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDERS AND CONTRIBUTORS BE
   LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
   CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
   SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
   INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
   CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
   ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
   POSSIBILITY OF SUCH DAMAGE.
   ---------------------------------------------------------------------------*/
 
/*============================ INCLUDES ======================================*/
#include ".\app_cfg.h"
#include <string.h>
#include <ARMCM4_FP.h>

enum  {
/* ----------------------  CMSDK_CM4 Specific Interrupt Numbers  ------------------ */
  UART0RX_IRQn                  =   0,      /* UART 0 receive interrupt */
  UART0TX_IRQn                  =   1,      /* UART 0 transmit interrupt */
  UART1RX_IRQn                  =   2,      /* UART 1 receive interrupt */
  UART1TX_IRQn                  =   3,      /* UART 1 transmit interrupt */
  UART2RX_IRQn                  =   4,      /* UART 2 receive interrupt */
  UART2TX_IRQn                  =   5,      /* UART 2 transmit interrupt */
  GPIO0ALL_IRQn                 =   6,      /* GPIO 0 combined interrupt */
  GPIO1ALL_IRQn                 =   7,      /* GPIO 1 combined interrupt */
  TIMER0_IRQn                   =   8,      /* Timer 0 interrupt */
  TIMER1_IRQn                   =   9,      /* Timer 1 interrupt */
  DUALTIMER_IRQn                =  10,      /* Dual Timer interrupt */
  SPI_0_1_IRQn                  =  11,      /* SPI #0, #1 interrupt */
  UART_0_1_2_OVF_IRQn           =  12,      /* UART overflow (0, 1 & 2) interrupt */
  ETHERNET_IRQn                 =  13,      /* Ethernet interrupt */
  I2S_IRQn                      =  14,      /* Audio I2S interrupt */
  TOUCHSCREEN_IRQn              =  15,      /* Touch Screen interrupt */
  GPIO2_IRQn                    =  16,      /* GPIO 2 combined interrupt */
  GPIO3_IRQn                    =  17,      /* GPIO 3 combined interrupt */
  UART3RX_IRQn                  =  18,      /* UART 3 receive interrupt */
  UART3TX_IRQn                  =  19,      /* UART 3 transmit interrupt */
  UART4RX_IRQn                  =  20,      /* UART 4 receive interrupt */
  UART4TX_IRQn                  =  21,      /* UART 4 transmit interrupt */
  SPI_2_IRQn                    =  22,      /* SPI #2 interrupt */
  SPI_3_4_IRQn                  =  23,      /* SPI #3, SPI #4 interrupt */
  GPIO0_0_IRQn                  =  24,      /* GPIO 0 individual interrupt ( 0) */
  GPIO0_1_IRQn                  =  25,      /* GPIO 0 individual interrupt ( 1) */
  GPIO0_2_IRQn                  =  26,      /* GPIO 0 individual interrupt ( 2) */
  GPIO0_3_IRQn                  =  27,      /* GPIO 0 individual interrupt ( 3) */
  GPIO0_4_IRQn                  =  28,      /* GPIO 0 individual interrupt ( 4) */
  GPIO0_5_IRQn                  =  29,      /* GPIO 0 individual interrupt ( 5) */
  GPIO0_6_IRQn                  =  30,      /* GPIO 0 individual interrupt ( 6) */
  GPIO0_7_IRQn                  =  31       /* GPIO 0 individual interrupt ( 7) */
};

/*============================ MACROS ========================================*/

/* IO definitions (access restrictions to peripheral registers) */
/**
    \defgroup CMSIS_glob_defs CMSIS Global Defines

    <strong>IO Type Qualifiers</strong> are used
    \li to specify the access to peripheral variables.
    \li for automatic generation of peripheral register debug information.
*/
#ifdef __cplusplus
  #define   __I     volatile             /*!< Defines 'read only' permissions */
#else
  #define   __I     volatile const       /*!< Defines 'read only' permissions */
#endif
#define     __O     volatile             /*!< Defines 'write only' permissions */
#define     __IO    volatile             /*!< Defines 'read / write' permissions */

/* following defines should be used for structure members */
#define     __IM     volatile const      /*! Defines 'read only' structure member permissions */
#define     __OM     volatile            /*! Defines 'write only' structure member permissions */
#define     __IOM    volatile            /*! Defines 'read / write' structure member permissions */

/*------------- Universal Asynchronous Receiver Transmitter (UART) -----------*/
typedef struct
{
  __IOM  uint32_t  DATA;                     /* Offset: 0x000 (R/W) Data Register    */
  __IOM  uint32_t  STATE;                    /* Offset: 0x004 (R/W) Status Register  */
  __IOM  uint32_t  CTRL;                     /* Offset: 0x008 (R/W) Control Register */
  union {
    __IM   uint32_t  INTSTATUS;              /* Offset: 0x00C (R/ ) Interrupt Status Register */
    __OM   uint32_t  INTCLEAR;               /* Offset: 0x00C ( /W) Interrupt Clear Register  */
    };
  __IOM  uint32_t  BAUDDIV;                  /* Offset: 0x010 (R/W) Baudrate Divider Register */

} CMSDK_UART_TypeDef;

/* CMSDK_UART DATA Register Definitions */
#define CMSDK_UART_DATA_Pos               0                                                  /* CMSDK_UART_DATA_Pos: DATA Position */
#define CMSDK_UART_DATA_Msk              (0xFFUL /*<< CMSDK_UART_DATA_Pos*/)                 /* CMSDK_UART DATA: DATA Mask */

/* CMSDK_UART STATE Register Definitions */
#define CMSDK_UART_STATE_RXOR_Pos         3                                                  /* CMSDK_UART STATE: RXOR Position */
#define CMSDK_UART_STATE_RXOR_Msk        (0x1UL << CMSDK_UART_STATE_RXOR_Pos)                /* CMSDK_UART STATE: RXOR Mask */

#define CMSDK_UART_STATE_TXOR_Pos         2                                                  /* CMSDK_UART STATE: TXOR Position */
#define CMSDK_UART_STATE_TXOR_Msk        (0x1UL << CMSDK_UART_STATE_TXOR_Pos)                /* CMSDK_UART STATE: TXOR Mask */

#define CMSDK_UART_STATE_RXBF_Pos         1                                                  /* CMSDK_UART STATE: RXBF Position */
#define CMSDK_UART_STATE_RXBF_Msk        (0x1UL << CMSDK_UART_STATE_RXBF_Pos)                /* CMSDK_UART STATE: RXBF Mask */

#define CMSDK_UART_STATE_TXBF_Pos         0                                                  /* CMSDK_UART STATE: TXBF Position */
#define CMSDK_UART_STATE_TXBF_Msk        (0x1UL /*<< CMSDK_UART_STATE_TXBF_Pos*/)            /* CMSDK_UART STATE: TXBF Mask */

/* CMSDK_UART CTRL Register Definitions */
#define CMSDK_UART_CTRL_HSTM_Pos          6                                                  /* CMSDK_UART CTRL: HSTM Position */
#define CMSDK_UART_CTRL_HSTM_Msk         (0x01UL << CMSDK_UART_CTRL_HSTM_Pos)                /* CMSDK_UART CTRL: HSTM Mask */

#define CMSDK_UART_CTRL_RXORIRQEN_Pos     5                                                  /* CMSDK_UART CTRL: RXORIRQEN Position */
#define CMSDK_UART_CTRL_RXORIRQEN_Msk    (0x01UL << CMSDK_UART_CTRL_RXORIRQEN_Pos)           /* CMSDK_UART CTRL: RXORIRQEN Mask */

#define CMSDK_UART_CTRL_TXORIRQEN_Pos     4                                                  /* CMSDK_UART CTRL: TXORIRQEN Position */
#define CMSDK_UART_CTRL_TXORIRQEN_Msk    (0x01UL << CMSDK_UART_CTRL_TXORIRQEN_Pos)           /* CMSDK_UART CTRL: TXORIRQEN Mask */

#define CMSDK_UART_CTRL_RXIRQEN_Pos       3                                                  /* CMSDK_UART CTRL: RXIRQEN Position */
#define CMSDK_UART_CTRL_RXIRQEN_Msk      (0x01UL << CMSDK_UART_CTRL_RXIRQEN_Pos)             /* CMSDK_UART CTRL: RXIRQEN Mask */

#define CMSDK_UART_CTRL_TXIRQEN_Pos       2                                                  /* CMSDK_UART CTRL: TXIRQEN Position */
#define CMSDK_UART_CTRL_TXIRQEN_Msk      (0x01UL << CMSDK_UART_CTRL_TXIRQEN_Pos)             /* CMSDK_UART CTRL: TXIRQEN Mask */

#define CMSDK_UART_CTRL_RXEN_Pos          1                                                  /* CMSDK_UART CTRL: RXEN Position */
#define CMSDK_UART_CTRL_RXEN_Msk         (0x01UL << CMSDK_UART_CTRL_RXEN_Pos)                /* CMSDK_UART CTRL: RXEN Mask */

#define CMSDK_UART_CTRL_TXEN_Pos          0                                                  /* CMSDK_UART CTRL: TXEN Position */
#define CMSDK_UART_CTRL_TXEN_Msk         (0x01UL /*<< CMSDK_UART_CTRL_TXEN_Pos*/)            /* CMSDK_UART CTRL: TXEN Mask */

#define CMSDK_UART_INTSTATUS_RXORIRQ_Pos  3                                                  /* CMSDK_UART CTRL: RXORIRQ Position */
#define CMSDK_UART_CTRL_RXORIRQ_Msk      (0x01UL << CMSDK_UART_INTSTATUS_RXORIRQ_Pos)        /* CMSDK_UART CTRL: RXORIRQ Mask */

#define CMSDK_UART_CTRL_TXORIRQ_Pos       2                                                  /* CMSDK_UART CTRL: TXORIRQ Position */
#define CMSDK_UART_CTRL_TXORIRQ_Msk      (0x01UL << CMSDK_UART_CTRL_TXORIRQ_Pos)             /* CMSDK_UART CTRL: TXORIRQ Mask */

#define CMSDK_UART_CTRL_RXIRQ_Pos         1                                                  /* CMSDK_UART CTRL: RXIRQ Position */
#define CMSDK_UART_CTRL_RXIRQ_Msk        (0x01UL << CMSDK_UART_CTRL_RXIRQ_Pos)               /* CMSDK_UART CTRL: RXIRQ Mask */

#define CMSDK_UART_CTRL_TXIRQ_Pos         0                                                  /* CMSDK_UART CTRL: TXIRQ Position */
#define CMSDK_UART_CTRL_TXIRQ_Msk        (0x01UL /*<< CMSDK_UART_CTRL_TXIRQ_Pos*/)           /* CMSDK_UART CTRL: TXIRQ Mask */

/* CMSDK_UART BAUDDIV Register Definitions */
#define CMSDK_UART_BAUDDIV_Pos            0                                                  /* CMSDK_UART BAUDDIV: BAUDDIV Position */
#define CMSDK_UART_BAUDDIV_Msk           (0xFFFFFUL /*<< CMSDK_UART_BAUDDIV_Pos*/)           /* CMSDK_UART BAUDDIV: BAUDDIV Mask */


/* ================================================================================ */
/* ================             Peripheral declaration             ================ */
/* ================================================================================ */

//#define CMSDK_UART0_BASE_ADDRESS	(0x41303000ul)
#define CMSDK_UART0_BASE_ADDRESS	(0x40004000ul)
#define CMSDK_UART0             ((CMSDK_UART_TypeDef *) CMSDK_UART0_BASE_ADDRESS)

//-------- <<< Use Configuration Wizard in Context Menu >>> --------------------
 
// <h>STDOUT USART Interface
 
//   <o>Connect to hardware via Driver_USART# <0-255>
//   <i>Select driver control block for USART interface
#define USART_DRV_NUM           0
// </h>


#ifndef USART_BAUDRATE
#   define USART_BAUDRATE          115200
#endif


#ifndef STREAM_IN_RCV_TIMEOUT
#   warning No defined macro STREAM_IN_RCV_TIMEOUT, default value 10 is used.
#   define STREAM_IN_RCV_TIMEOUT            (10)
#endif

#ifndef OUTPUT_STREAM_BLOCK_SIZE
#   warning No defined macro OUTPUT_STREAM_BLOCK_SIZE, default value 32 is used.
#   define OUTPUT_STREAM_BLOCK_SIZE         (32)
#endif
#ifndef OUTPUT_STREAM_BLOCK_COUNT  
#   warning No defined macro OUTPUT_STREAM_BLOCK_COUNT, default value 4 is used.
#   define OUTPUT_STREAM_BLOCK_COUNT        (4)
#endif

#ifndef INPUT_STREAM_BLOCK_SIZE
#   warning No defined macro INPUT_STREAM_BLOCK_SIZE, default value 32 is used.
#   define INPUT_STREAM_BLOCK_SIZE          (32)
#endif
#ifndef INPUT_STREAM_BLOCK_COUNT  
#   warning No defined macro INPUT_STREAM_BLOCK_COUNT, default value 8 is used.
#   define INPUT_STREAM_BLOCK_COUNT         (8)
#endif


/*============================ MACROFIED FUNCTIONS ===========================*/

#define __USE_SERIAL_PORT_INPUT_ADAPTER(__NUM)                          \
                                                                        \
void STREAM_IN_serial_port_enable_rx_cpl_interrupt(void)                \
{                                                                       \
    CMSDK_UART##__NUM->CTRL |= CMSDK_UART_CTRL_RXIRQEN_Msk;             \
}                                                                       \
                                                                        \
void STREAM_IN_serial_port_disable_rx_cpl_interrupt(void)               \
{                                                                       \
    CMSDK_UART##__NUM->CTRL &= ~CMSDK_UART_CTRL_RXIRQEN_Msk;            \
}                                                                       \
                                                                        \
uint8_t STREAM_IN_serial_port_get_byte(void)                            \
{                                                                       \
    return CMSDK_UART##__NUM->DATA;                                     \
}                                                                       \
/* this function is called instead of the original UART0RX_Handler() */ \
void USART##__NUM##_RX_CPL_Handler(void)                                \
{                                                                       \
    /*! clear interrupt flag */                                         \
    CMSDK_UART##__NUM->INTCLEAR = CMSDK_UART##__NUM->INTSTATUS;         \
    STREAM_IN_insert_serial_port_rx_cpl_event_handler();                \
}                           

  
    
#define __USE_SERIAL_PORT_OUTPUT_ADAPTER(__NUM)                         \
                                                                        \
void STREAM_OUT_serial_port_enable_tx_cpl_interrupt(void)               \
{                                                                       \
    CMSDK_UART##__NUM->CTRL |= CMSDK_UART_CTRL_TXIRQEN_Msk;             \
}                                                                       \
                                                                        \
void STREAM_OUT_serial_port_disbale_tx_cpl_interrupt(void)              \
{                                                                       \
    CMSDK_UART##__NUM->CTRL &= ~CMSDK_UART_CTRL_TXIRQEN_Msk;            \
}                                                                       \
                                                                        \
void STREAM_OUT_serial_port_fill_byte(uint8_t chByte)                   \
{                                                                       \
    CMSDK_UART##__NUM->DATA = chByte;                                   \
}                                                                       \
                                                                        \
/* this function is called instead of the original UART0TX_Handler() */ \
void USART##__NUM##_TX_CPL_Handler(void)                                \
{                                                                       \
    /*! clear interrupt flag  */                                        \
    CMSDK_UART##__NUM->INTCLEAR = CMSDK_UART##__NUM->INTSTATUS;         \
    /*! implement our own version of uart tx interrupt */               \
                                                                        \
    STREAM_OUT_insert_serial_port_tx_cpl_event_handler();               \
}


                 

#define USE_SERIAL_PORT_INPUT_ADAPTER(__NUM)                            \
            __USE_SERIAL_PORT_INPUT_ADAPTER(__NUM)

#define USE_SERIAL_PORT_OUTPUT_ADAPTER(__NUM)                           \
            __USE_SERIAL_PORT_OUTPUT_ADAPTER(__NUM) 

/*============================ TYPES =========================================*/ 

//! \note define a buffer for output stream
//! @{
DEF_OUTPUT_STREAM_BUFFER(       STREAM_OUT, OUTPUT_STREAM_BLOCK_SIZE)

END_DEF_OUTPUT_STREAM_BUFFER(   STREAM_OUT)

//! \note add an adapter for serial port
STREAM_OUT_SERIAL_PORT_ADAPTER( STREAM_OUT, OUTPUT_STREAM_BLOCK_COUNT)
//! @}

//! \note define a buffer for input stream
//! @{
DEF_INPUT_STREAM_BUFFER(STREAM_IN, INPUT_STREAM_BLOCK_SIZE)

END_DEF_INPUT_STREAM_BUFFER(STREAM_IN)

//! \note add an adapter for serial port
STREAM_IN_SERIAL_PORT_ADAPTER(STREAM_IN, INPUT_STREAM_BLOCK_COUNT)
//! @}
    

/*------------------------------------------------------------------------------*
 * Implement Serial Port input interfaces required by STREAM_OUT adapter        *
 *------------------------------------------------------------------------------*/
USE_SERIAL_PORT_INPUT_ADAPTER(USART_DRV_NUM)


/*------------------------------------------------------------------------------*
 * Implement Serial Port output interfaces required by STREAM_OUT adapter       *
 *------------------------------------------------------------------------------*/
USE_SERIAL_PORT_OUTPUT_ADAPTER(USART_DRV_NUM)

/*============================ GLOBAL VARIABLES ==============================*/
/*============================ LOCAL VARIABLES ===============================*/
/*============================ PROTOTYPES ====================================*/
/*============================ IMPLEMENTATION ================================*/




/*! \note initialize usart for stdout
 *  \param none
 *  \retval true    initialization succeeded.
 *  \retval false   initialization failed
 */  
bool stdout_init (void) 
{    
    STREAM_OUT_output_stream_adapter_init();
    STREAM_IN_input_stream_adapter_init();
    
    CMSDK_UART0->CTRL = 0;         /* Disable UART when changing configuration */
    CMSDK_UART0->BAUDDIV = 651;    /* 25MHz / 38400 = 651 */
    CMSDK_UART0->CTRL = CMSDK_UART_CTRL_TXEN_Msk    |
                        CMSDK_UART_CTRL_RXEN_Msk    | 
                        CMSDK_UART_CTRL_RXIRQEN_Msk;  
                            
    NVIC_ClearPendingIRQ(UART0RX_IRQn);
    NVIC_EnableIRQ(UART0RX_IRQn);
    NVIC_ClearPendingIRQ(UART0TX_IRQn);
    NVIC_EnableIRQ(UART0TX_IRQn);
    
    return true;
}
    
/**
  Put a character to the stdout
 
  \param[in]   ch  Character to output
  \return          The character written, or -1 on write error.
*/
int stdout_putchar (int ch) 
{
    while(!STREAM_OUT.Stream.WriteByte(ch)) ;
    
    return ch;
}

int stdin_getchar (void)
{
    uint8_t chByte;
    while(!STREAM_IN.Stream.ReadByte(&chByte));
    
    return chByte;
}


================================================
FILE: example/app_platform/stdout_USART.h
================================================
/****************************************************************************
*  Copyright 2017 Gorgon Meducer (Email:embedded_zhuoran@hotmail.com)       *
*                                                                           *
*  Licensed under the Apache License, Version 2.0 (the "License");          *
*  you may not use this file except in compliance with the License.         *
*  You may obtain a copy of the License at                                  *
*                                                                           *
*     http://www.apache.org/licenses/LICENSE-2.0                            *
*                                                                           *
*  Unless required by applicable law or agreed to in writing, software      *
*  distributed under the License is distributed on an "AS IS" BASIS,        *
*  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. *
*  See the License for the specific language governing permissions and      *
*  limitations under the License.                                           *
*                                                                           *
****************************************************************************/

#ifndef __USE_STDOUT_USART_H__
#define __USE_STDOUT_USART_H__

/*============================ INCLUDES ======================================*/
#include ".\app_cfg.h"


/*============================ MACROS ========================================*/

#ifndef OUTPUT_STREAM_BLOCK_SIZE
#   define OUTPUT_STREAM_BLOCK_SIZE         (32)
#endif

#ifndef INPUT_STREAM_BLOCK_SIZE
#   define INPUT_STREAM_BLOCK_SIZE          (32)
#endif

/*============================ MACROFIED FUNCTIONS ===========================*/
/*============================ TYPES =========================================*/
//! \note define a buffer for output stream
//! @{
EXTERN_OUTPUT_STREAM_BUFFER(            STREAM_OUT, OUTPUT_STREAM_BLOCK_SIZE)
                      
END_EXTERN_OUTPUT_STREAM_BUFFER(        STREAM_OUT)

//! \note add an adapter for serial port
EXTERN_STREAM_OUT_SERIAL_PORT_ADAPTER(  STREAM_OUT)
//! @}

//! \note define a buffer for input stream
//! @{
EXTERN_INPUT_STREAM_BUFFER(             STREAM_IN, INPUT_STREAM_BLOCK_SIZE)
                      
END_EXTERN_INPUT_STREAM_BUFFER(         STREAM_OUT)        
//! \note add an adapter for serial port
EXTERN_STREAM_IN_SERIAL_PORT_ADAPTER(   STREAM_IN)
//! @}
        
/*============================ GLOBAL VARIABLES ==============================*/
/*============================ LOCAL VARIABLES ===============================*/
/*============================ PROTOTYPES ====================================*/    
        
/*! \note initialize usart for stdout
 *  \param none
 *  \retval true    initialization succeeded.
 *  \retval false   initialization failed
 */  
extern bool stdout_init (void);

#endif


================================================
FILE: example/build/mdk/Abstract.txt
================================================
The 'Blinky' project is a simple demo program for
ARM 'Cortex-M7' microcontroller using ARM 'V2M-MPS2' Evaluation Board.
Compliant to Cortex Microcontroller Software Interface Standard (CMSIS).

Example functionality:
 - Clock Settings:
   - XTAL  =  50 MHz
   - CCLK  =  25 MHz

 - Timer0 is used in interrupt mode
 - LEDs are blinking with speed depending on Timer0 interrupt period
 - colour GLCD display shows
   - init message
   - Button status
   - LED status
   - Touch status
 - 'Hello World' is output onto serial port USART0
   - USART0 settings: 115200 baud, 8 data bits, no parity, 1 stop bit


The Blinky program is available in different targets:

  Simulator:             configured for software Simulator

  FastModels:            configured for FastModels MPS2 Simulator
  
  V2M-MPS2:              configured for MPS2 (uses ULINK2 as debugger)
                      
  V2M-MPS2 Trace (ETB):  configured for MPS2 (uses ULINKpro as debugger)
                         shows use of Embedded Trace Buffer

  V2M-MPS2 Trace (TPIU): configured for MPS2 (uses ULINKpro as debugger)
                         shows use of 4bit Trace (use CoreSight 20 connector)


================================================
FILE: example/build/mdk/Blinky.sct
================================================
#! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m33 -xc
; command above MUST be in first line (no comment above!)

#define __STACK_SIZE        0x1000
#define __HEAP_SIZE         0x0400

; *************************************************************
; *** Scatter-Loading Description File generated by uVision ***
; *************************************************************

LR_IROM1 0x00000000 0x00400000  {    ; load region size_region
    ER_IROM1 0x00000000 0x00400000  {  ; load address = execution address
        *.o (RESET, +First)
        *   (InRoot$$Sections)
        *   (+RO)
    }

    ; Reserve empty region for stack
    ARM_LIB_STACK 0x20000000 ALIGN 8 EMPTY __STACK_SIZE {         
    }

    RW_IRAM1 +0 0x00400000  {  ; RW data
        * (+RW +ZI)
    }
    RW_IRAM_NO_INIT +0 UNINIT {
        * (.bss.noinit)
    }

    ; Reserve empty region for heap
    ARM_LIB_HEAP  +0 ALIGN 8 EMPTY __HEAP_SIZE {                 
    }
}



================================================
FILE: example/build/mdk/Blinky.uvguix
================================================
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<ProjectGui xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="project_guix.xsd">

  <SchemaVersion>-6.1</SchemaVersion>

  <Header>### uVision Project, (C) Keil Software</Header>

  <ViewPool/>

  <SECTreeCtrl>
    <View>
      <WinId>38003</WinId>
      <ViewName>Registers</ViewName>
      <TableColWidths>115 75</TableColWidths>
    </View>
    <View>
      <WinId>346</WinId>
      <ViewName>Code Coverage</ViewName>
      <TableColWidths>810 160</TableColWidths>
    </View>
    <View>
      <WinId>204</WinId>
      <ViewName>Performance Analyzer</ViewName>
      <TableColWidths>970</TableColWidths>
    </View>
  </SECTreeCtrl>

  <TreeListPane>
    <View>
      <WinId>1506</WinId>
      <ViewName>Symbols</ViewName>
      <UserString></UserString>
      <TableColWidths>66 66 66</TableColWidths>
    </View>
    <View>
      <WinId>1936</WinId>
      <ViewName>Watch 1</ViewName>
      <UserString></UserString>
      <TableColWidths>66 66 66</TableColWidths>
    </View>
    <View>
      <WinId>1937</WinId>
      <ViewName>Watch 2</ViewName>
      <UserString></UserString>
      <TableColWidths>66 66 66</TableColWidths>
    </View>
    <View>
      <WinId>1935</WinId>
      <ViewName>Call Stack + Locals</ViewName>
      <UserString></UserString>
      <TableColWidths>66 66 66</TableColWidths>
    </View>
    <View>
      <WinId>2506</WinId>
      <ViewName>Trace Data</ViewName>
      <UserString>FiltIdx=0;DescrEn=0;DescrHeight=4;FuncTrc=0;FindType=8;ColWidths=004B00870082005F004600E600C80096</UserString>
      <TableColWidths>75 135 130 95 70 230 200 150</TableColWidths>
    </View>
  </TreeListPane>

  <CompViewPool/>

  <WindowSettings>
    <LogicAnalizer>
      <ShowLACursor>0</ShowLACursor>
      <ShowSignalInfo>0</ShowSignalInfo>
      <ShowCycles>0</ShowCycles>
      <LeftSideBarSize>0</LeftSideBarSize>
      <TimeBaseIndex>-1</TimeBaseIndex>
    </LogicAnalizer>
  </WindowSettings>

  <WinLayoutEx>
    <sActiveDebugView></sActiveDebugView>
    <WindowPosition>
      <length>44</length>
      <flags>0</flags>
      <showCmd>1</showCmd>
      <MinPosition>
        <xPos>-1</xPos>
        <yPos>-1</yPos>
      </MinPosition>
      <MaxPosition>
        <xPos>-1</xPos>
        <yPos>-1</yPos>
      </MaxPosition>
      <NormalPosition>
        <Top>67</Top>
        <Left>1645</Left>
        <Right>3163</Right>
        <Bottom>1175</Bottom>
      </NormalPosition>
    </WindowPosition>
    <MDIClientArea>
      <RegID>0</RegID>
      <MDITabState>
        <Len>291</Len>
        <Data>01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000001000000000000000100000059433A5C776F726B696E675C41524D5C5041434B5C41524D5C4D5053325F434D785F4446505C426F617264735C41524D5C56324D2D4D5053325C434D53444B5F434D375F53505C426C696E6B795C41627374726163742E747874000000000C41627374726163742E74787400000000FFDC7800FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD50001000000000000000200000041070000B0000000530C0000D5030000</Data>
      </MDITabState>
    </MDIClientArea>
    <ViewEx>
      <ViewType>0</ViewType>
      <ViewName>Build</ViewName>
      <Window>
        <RegID>-1</RegID>
        <PaneID>-1</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>CC0000004F000000A0040000F2000000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B010000310100006B030000D4010000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>1005</RegID>
        <PaneID>1005</PaneID>
        <IsVisible>1</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>0300000066000000C50000005B030000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B01000031010000E301000016020000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>109</RegID>
        <PaneID>109</PaneID>
        <IsVisible>1</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>0300000066000000C50000005B030000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B0100003101000007020000C1030000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>1465</RegID>
        <PaneID>1465</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>000000007D020000A004000020030000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B010000310100006B030000D4010000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>1466</RegID>
        <PaneID>1466</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>03000000800200009D040000F3020000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B010000310100006B030000D4010000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>1467</RegID>
        <PaneID>1467</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>03000000800200009D040000F3020000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B010000310100006B030000D4010000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>1468</RegID>
        <PaneID>1468</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>03000000800200009D040000F3020000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B010000310100006B030000D4010000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>1506</RegID>
        <PaneID>1506</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>16384</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>DB030000660000009D0400001B010000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B01000031010000E301000016020000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>1913</RegID>
        <PaneID>1913</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>CC00000063000000A0040000F2000000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B010000310100006B030000D4010000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>1935</RegID>
        <PaneID>1935</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>32768</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>03000000800200009D04000007030000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B01000031010000E301000016020000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>1936</RegID>
        <PaneID>1936</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>03000000800200009D040000F3020000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B01000031010000E301000016020000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>1937</RegID>
        <PaneID>1937</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>03000000800200009D040000F3020000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B01000031010000E301000016020000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>1939</RegID>
        <PaneID>1939</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>03000000800200009D040000F3020000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B010000310100006B030000D4010000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>1940</RegID>
        <PaneID>1940</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>03000000800200009D040000F3020000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B010000310100006B030000D4010000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>1941</RegID>
        <PaneID>1941</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>03000000800200009D040000F3020000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B010000310100006B030000D4010000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>1942</RegID>
        <PaneID>1942</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>03000000800200009D040000F3020000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B010000310100006B030000D4010000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>195</RegID>
        <PaneID>195</PaneID>
        <IsVisible>1</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>0300000066000000C50000005B030000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B0100003101000007020000C1030000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>196</RegID>
        <PaneID>196</PaneID>
        <IsVisible>1</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>0300000066000000C50000005B030000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B0100003101000007020000C1030000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>197</RegID>
        <PaneID>197</PaneID>
        <IsVisible>1</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>32768</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>000000008C030000DE0500001B040000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B010000310100006B030000D4010000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>198</RegID>
        <PaneID>198</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>32768</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>0000000069020000A004000020030000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B010000310100006B030000D4010000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>199</RegID>
        <PaneID>199</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>030000008F0300009D04000002040000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B010000310100006B030000D4010000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>203</RegID>
        <PaneID>203</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>8192</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>CC00000063000000A0040000F2000000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B010000310100006B030000D4010000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>204</RegID>
        <PaneID>204</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>CF000000660000009D040000D9000000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B010000310100006B030000D4010000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>221</RegID>
        <PaneID>221</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>00000000000000000000000000000000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>0A0000000A0000006E0000006E000000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>2506</RegID>
        <PaneID>2506</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>D803000063000000A004000079020000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B01000031010000E301000016020000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>2507</RegID>
        <PaneID>2507</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>000000007D020000A00400000C030000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B010000310100006B030000D4010000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>343</RegID>
        <PaneID>343</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>CF000000660000009D040000D9000000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B010000310100006B030000D4010000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>346</RegID>
        <PaneID>346</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>CF000000660000009D040000D9000000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B010000310100006B030000D4010000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>35824</RegID>
        <PaneID>35824</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>CF000000660000009D040000D9000000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B010000310100006B030000D4010000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>35885</RegID>
        <PaneID>35885</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>DB030000660000009D040000B9010000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B01000031010000E301000016020000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>35886</RegID>
        <PaneID>35886</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>DB030000660000009D040000B9010000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B01000031010000E301000016020000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>35887</RegID>
        <PaneID>35887</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>DB030000660000009D040000B9010000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B01000031010000E301000016020000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>35888</RegID>
        <PaneID>35888</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>DB030000660000009D040000B9010000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B01000031010000E301000016020000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>35889</RegID>
        <PaneID>35889</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>DB030000660000009D040000B9010000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B01000031010000E301000016020000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>35890</RegID>
        <PaneID>35890</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>DB030000660000009D040000B9010000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B01000031010000E301000016020000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>35891</RegID>
        <PaneID>35891</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>DB030000660000009D040000B9010000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B01000031010000E301000016020000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>35892</RegID>
        <PaneID>35892</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>DB030000660000009D040000B9010000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B01000031010000E301000016020000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>35893</RegID>
        <PaneID>35893</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>DB030000660000009D040000B9010000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B01000031010000E301000016020000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>35894</RegID>
        <PaneID>35894</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>DB030000660000009D040000B9010000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B01000031010000E301000016020000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>35895</RegID>
        <PaneID>35895</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>DB030000660000009D040000B9010000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B01000031010000E301000016020000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>35896</RegID>
        <PaneID>35896</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>DB030000660000009D040000B9010000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B01000031010000E301000016020000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>35897</RegID>
        <PaneID>35897</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>DB030000660000009D040000B9010000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B01000031010000E301000016020000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>35898</RegID>
        <PaneID>35898</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>DB030000660000009D040000B9010000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B01000031010000E301000016020000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>35899</RegID>
        <PaneID>35899</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>DB030000660000009D040000B9010000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B01000031010000E301000016020000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>35900</RegID>
        <PaneID>35900</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>DB030000660000009D040000B9010000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B01000031010000E301000016020000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>35901</RegID>
        <PaneID>35901</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>DB030000660000009D040000B9010000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B01000031010000E301000016020000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>35902</RegID>
        <PaneID>35902</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>DB030000660000009D040000B9010000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B01000031010000E301000016020000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>35903</RegID>
        <PaneID>35903</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>DB030000660000009D040000B9010000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B01000031010000E301000016020000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>35904</RegID>
        <PaneID>35904</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>DB030000660000009D040000B9010000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B01000031010000E301000016020000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>35905</RegID>
        <PaneID>35905</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>DB030000660000009D040000B9010000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B01000031010000E301000016020000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>38003</RegID>
        <PaneID>38003</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>0300000066000000C500000007030000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B0100003101000007020000C1030000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>38007</RegID>
        <PaneID>38007</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>000000008C030000A00400001B040000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B010000310100006B030000D4010000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>436</RegID>
        <PaneID>436</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>030000008F0300009D04000002040000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B0100003101000007020000C1030000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>437</RegID>
        <PaneID>437</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>03000000800200009D040000F3020000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B01000031010000E301000016020000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>440</RegID>
        <PaneID>440</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>03000000800200009D040000F3020000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B01000031010000E301000016020000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>50000</RegID>
        <PaneID>50000</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>DB030000660000009D040000B9010000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B01000031010000E301000016020000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>50001</RegID>
        <PaneID>50001</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>DB030000660000009D040000B9010000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B01000031010000E301000016020000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>50002</RegID>
        <PaneID>50002</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>DB030000660000009D040000B9010000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B01000031010000E301000016020000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>50003</RegID>
        <PaneID>50003</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>DB030000660000009D040000B9010000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B01000031010000E301000016020000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>50004</RegID>
        <PaneID>50004</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>DB030000660000009D040000B9010000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B01000031010000E301000016020000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>50005</RegID>
        <PaneID>50005</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>DB030000660000009D040000B9010000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B01000031010000E301000016020000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>50006</RegID>
        <PaneID>50006</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>DB030000660000009D040000B9010000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B01000031010000E301000016020000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>50007</RegID>
        <PaneID>50007</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>DB030000660000009D040000B9010000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B01000031010000E301000016020000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>50008</RegID>
        <PaneID>50008</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>DB030000660000009D040000B9010000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B01000031010000E301000016020000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>50009</RegID>
        <PaneID>50009</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>DB030000660000009D040000B9010000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B01000031010000E301000016020000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>50010</RegID>
        <PaneID>50010</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>DB030000660000009D040000B9010000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B01000031010000E301000016020000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>50011</RegID>
        <PaneID>50011</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>DB030000660000009D040000B9010000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B01000031010000E301000016020000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>50012</RegID>
        <PaneID>50012</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>DB030000660000009D040000B9010000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B01000031010000E301000016020000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>50013</RegID>
        <PaneID>50013</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>DB030000660000009D040000B9010000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B01000031010000E301000016020000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>50014</RegID>
        <PaneID>50014</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>DB030000660000009D040000B9010000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B01000031010000E301000016020000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>50015</RegID>
        <PaneID>50015</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>DB030000660000009D040000B9010000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B01000031010000E301000016020000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>50016</RegID>
        <PaneID>50016</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>DB030000660000009D040000B9010000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B01000031010000E301000016020000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>50017</RegID>
        <PaneID>50017</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>DB030000660000009D040000B9010000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B01000031010000E301000016020000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>50018</RegID>
        <PaneID>50018</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>DB030000660000009D040000B9010000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B01000031010000E301000016020000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>50019</RegID>
        <PaneID>50019</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>DB030000660000009D040000B9010000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B01000031010000E301000016020000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>59392</RegID>
        <PaneID>59392</PaneID>
        <IsVisible>1</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>8192</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>0000000000000000B70300001C000000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>0A0000000A0000006E0000006E000000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>59393</RegID>
        <PaneID>0</PaneID>
        <IsVisible>1</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>000000001B040000DE0500002E040000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>0A0000000A0000006E0000006E000000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>59399</RegID>
        <PaneID>59399</PaneID>
        <IsVisible>1</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>8192</RecentFrameAlignment>
        <RecentRowIndex>1</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>000000001C000000DA01000038000000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>0A0000000A0000006E0000006E000000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>59400</RegID>
        <PaneID>59400</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>8192</RecentFrameAlignment>
        <RecentRowIndex>2</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>00000000380000006F02000054000000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>0A0000000A0000006E0000006E000000</Data>
        </RectRecentFloat>
      </Window>
      <DockMan>
        <Len>3119</Len>
        <Data>000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFCC000000F2000000A0040000F6000000000000000100001004000000010000000000000000000000FFFFFFFF06000000CB00000057010000CC000000F08B00005A01000079070000FFFF02000B004354616262656450616E6500200000000000001B010000310100006B030000D4010000CC0000004F000000A0040000F20000000000000040280046060000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFFD40300004F000000D803000079020000000000000200001004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C30000018000400000000000001B01000031010000E301000016020000D80300004F000000A00400007902000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFC80000004F000000CC00000074030000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000018000100000010000001B01000031010000E301000016020000000000004F000000C8000000740300000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF0000000065020000A00400006902000000000000010000100400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0E0000008F070000930700009407000095070000960700009007000091070000B5010000B8010000B9050000BA050000BB050000BC050000CB090000018000800000000000001B01000031010000E3010000160200000000000069020000A00400002003000000000000404100460E0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFF5002000069020000540200002003000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF0000000074030000DE05000078030000010000000100001004000000010000000000000000000000FFFFFFFF04000000C5000000C7000000B401000077940000018000800000010000001B010000310100006B030000D40100000000000078030000DE0500001B0400000000000040820056040000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000</Data>
      </DockMan>
      <ToolBar>
        <RegID>59392</RegID>
        <Name>File</Name>
        <Buttons>
          <Len>2027</Len>
          <Data>00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000004000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000000A434F4C4F525F4D4F4445960000000000000001000A434F4C4F525F4D4F444500000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000020000001500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000000180C8880000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E4C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002880DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002880DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002880E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002880E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000288018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000028800000000000000400FFFFFFFF00000000000000000000000000010000000100000000000000000000000100000000002880D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002880E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65FF7F0000</Data>
        </Buttons>
        <OriginalItems>
          <Len>1423</Len>
          <Data>2800FFFF01001100434D4643546F6F6C426172427574746F6E00E1000000000000FFFFFFFF000100000000000000010000000000000001000000018001E1000000000000FFFFFFFF000100000000000000010000000000000001000000018003E1000000000000FFFFFFFF0001000000000000000100000000000000010000000180CD7F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF000000000000000000010000000000000001000000018023E1000000000000FFFFFFFF000100000000000000010000000000000001000000018022E1000000000000FFFFFFFF000100000000000000010000000000000001000000018025E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802BE1000000000000FFFFFFFF00010000000000000001000000000000000100000001802CE1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001807A8A000000000000FFFFFFFF00010000000000000001000000000000000100000001807B8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180D3B0000000000000FFFFFFFF000100000000000000010000000000000001000000018015B1000000000000FFFFFFFF0001000000000000000100000000000000010000000180F4B0000000000000FFFFFFFF000100000000000000010000000000000001000000018036B1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FF88000000000000FFFFFFFF0001000000000000000100000000000000010000000180FE88000000000000FFFFFFFF00010000000000000001000000000000000100000001800B81000000000000FFFFFFFF00010000000000000001000000000000000100000001800C81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180F088000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE7F000000000000FFFFFFFF000100000000000000010000000000000001000000018024E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800A81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802280000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C488000000000000FFFFFFFF0001000000000000000100000000000000010000000180C988000000000000FFFFFFFF0001000000000000000100000000000000010000000180C788000000000000FFFFFFFF0001000000000000000100000000000000010000000180C888000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180DD88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FB7F000000000000FFFFFFFF000100000000000000010000000000000001000000</Data>
        </OriginalItems>
        <OrigResetItems>
          <Len>1423</Len>
          <Data>2800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000000000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000000000C0000000000000000000000000000000001000000010000000180F4B00000000000000D000000000000000000000000000000000100000001000000018036B10000000000000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF880000000000000F0000000000000000000000000000000001000000010000000180FE880000000000001000000000000000000000000000000000010000000100000001800B810000000000001100000000000000000000000000000000010000000100000001800C810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F088000000000000130000000000000000000000000000000001000000010000000180EE7F00000000000014000000000000000000000000000000000100000001000000018024E10000000000001500000000000000000000000000000000010000000100000001800A810000000000001600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000180000000000000000000000000000000001000000010000000180C988000000000000190000000000000000000000000000000001000000010000000180C7880000000000001A0000000000000000000000000000000001000000010000000180C8880000000000001B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180DD880000000000001C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001D000000000000000000000000000000000100000001000000</Data>
        </OrigResetItems>
      </ToolBar>
      <ToolBar>
        <RegID>59399</RegID>
        <Name>Build</Name>
        <Buttons>
          <Len>760</Len>
          <Data>00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000004001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E00000000000000000000000000000000010000000100000001809E8A0000000000001F0000000000000000000000000000000001000000010000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000004002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050010000000A466173744D6F64656C73960000000000000005000953696D756C61746F720A466173744D6F64656C730856324D2D4D5053321456324D2D4D5053322054726163652028455442291556324D2D4D5053322054726163652028545049552900000000000000000000000000000000000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64FF7F0000</Data>
        </Buttons>
        <OriginalItems>
          <Len>583</Len>
          <Data>1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000FFFFFFFF0001000000000000000100000000000000010000000180D07F000000000000FFFFFFFF00010000000000000001000000000000000100000001803080000000000000FFFFFFFF00010000000000000001000000000000000100000001809E8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D17F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001804C8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001806680000000000000FFFFFFFF0001000000000000000100000000000000010000000180EB88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180B08A000000000000FFFFFFFF0001000000000000000100000000000000010000000180A801000000000000FFFFFFFF00010000000000000001000000000000000100000001807202000000000000FFFFFFFF0001000000000000000100000000000000010000000180BE01000000000000FFFFFFFF000100000000000000010000000000000001000000</Data>
        </OriginalItems>
        <OrigResetItems>
          <Len>583</Len>
          <Data>1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000000000000000000000000000000000000001000000010000000180D07F00000000000001000000000000000000000000000000000100000001000000018030800000000000000200000000000000000000000000000000010000000100000001809E8A000000000000030000000000000000000000000000000001000000010000000180D17F0000000000000400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000000500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001806680000000000000060000000000000000000000000000000001000000010000000180EB880000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000080000000000000000000000000000000001000000010000000180B08A000000000000090000000000000000000000000000000001000000010000000180A8010000000000000A000000000000000000000000000000000100000001000000018072020000000000000B0000000000000000000000000000000001000000010000000180BE010000000000000C000000000000000000000000000000000100000001000000</Data>
        </OrigResetItems>
      </ToolBar>
      <ToolBar>
        <RegID>59400</RegID>
        <Name>Debug</Name>
        <Buttons>
          <Len>2373</Len>
          <Data>00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000000000000100000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000000000001000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000000000000100000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000000000000100000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000000000000100000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F720100000000000000000000000100000001000000000000000000000001000000000000000000054465627567FF7F0000</Data>
        </Buttons>
        <OriginalItems>
          <Len>898</Len>
          <Data>1900FFFF01001100434D4643546F6F6C426172427574746F6ECC88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801780000000000000FFFFFFFF00010000000000000001000000000000000100000001801D80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801A80000000000000FFFFFFFF00010000000000000001000000000000000100000001801B80000000000000FFFFFFFF0001000000000000000100000000000000010000000180E57F000000000000FFFFFFFF00010000000000000001000000000000000100000001801C80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800089000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180E48B000000000000FFFFFFFF0001000000000000000100000000000000010000000180F07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180E888000000000000FFFFFFFF00010000000000000001000000000000000100000001803B01000000000000FFFFFFFF0001000000000000000100000000000000010000000180BB8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D88B000000000000FFFFFFFF0001000000000000000100000000000000010000000180D28B000000000000FFFFFFFF00010000000000000001000000000000000100000001809307000000000000FFFFFFFF0001000000000000000100000000000000010000000180658A000000000000FFFFFFFF0001000000000000000100000000000000010000000180C18A000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE8B000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800189000000000000FFFFFFFF000100000000000000010000000000000001000000</Data>
        </OriginalItems>
        <OrigResetItems>
          <Len>898</Len>
          <Data>1900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000000000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000000100000000000000000000000000000000010000000100000001801D800000000000000200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000000300000000000000000000000000000000010000000100000001801B80000000000000040000000000000000000000000000000001000000010000000180E57F0000000000000500000000000000000000000000000000010000000100000001801C800000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B000000000000080000000000000000000000000000000001000000010000000180F07F000000000000090000000000000000000000000000000001000000010000000180E8880000000000000A00000000000000000000000000000000010000000100000001803B010000000000000B0000000000000000000000000000000001000000010000000180BB8A0000000000000C0000000000000000000000000000000001000000010000000180D88B0000000000000D0000000000000000000000000000000001000000010000000180D28B0000000000000E000000000000000000000000000000000100000001000000018093070000000000000F0000000000000000000000000000000001000000010000000180658A000000000000100000000000000000000000000000000001000000010000000180C18A000000000000110000000000000000000000000000000001000000010000000180EE8B0000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180018900000000000013000000000000000000000000000000000100000001000000</Data>
        </OrigResetItems>
      </ToolBar>
      <ControlBarsSummary>
        <Bars>0</Bars>
        <ScreenCX>1600</ScreenCX>
        <ScreenCY>1200</ScreenCY>
      </ControlBarsSummary>
    </ViewEx>
  </WinLayoutEx>

  <MDIGroups>
    <Orientation>1</Orientation>
    <ActiveMDIGroup>0</ActiveMDIGroup>
    <MDIGroup>
      <Size>100</Size>
      <ActiveTab>0</ActiveTab>
      <Doc>
        <Name>.\Abstract.txt</Name>
        <ColumnNumber>0</ColumnNumber>
        <TopLine>1</TopLine>
        <CurrentLine>1</CurrentLine>
        <Folding>1</Folding>
        <ContractedFolders></ContractedFolders>
        <PaneID>0</PaneID>
      </Doc>
    </MDIGroup>
  </MDIGroups>

</ProjectGui>


================================================
FILE: example/build/mdk/Blinky.uvguix.gabriel
================================================
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<ProjectGui xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="project_guix.xsd">

  <SchemaVersion>-6.1</SchemaVersion>

  <Header>### uVision Project, (C) Keil Software</Header>

  <PrjGuiSettings>
    <LastAddFilePath></LastAddFilePath>
  </PrjGuiSettings>

  <ViewPool/>

  <SECTreeCtrl>
    <View>
      <WinId>38003</WinId>
      <ViewName>Registers</ViewName>
      <TableColWidths>115 100</TableColWidths>
    </View>
    <View>
      <WinId>346</WinId>
      <ViewName>Code Coverage</ViewName>
      <TableColWidths>693 100</TableColWidths>
    </View>
    <View>
      <WinId>204</WinId>
      <ViewName>Performance Analyzer</ViewName>
      <TableColWidths>970 145 145 100</TableColWidths>
    </View>
  </SECTreeCtrl>

  <TreeListPane>
    <View>
      <WinId>35141</WinId>
      <ViewName>Event Statistics</ViewName>
      <UserString></UserString>
      <TableColWidths>250 50 500</TableColWidths>
    </View>
    <View>
      <WinId>1506</WinId>
      <ViewName>Symbols</ViewName>
      <UserString></UserString>
      <TableColWidths>66 66 66</TableColWidths>
    </View>
    <View>
      <WinId>1936</WinId>
      <ViewName>Watch 1</ViewName>
      <UserString></UserString>
      <TableColWidths>66 66 66</TableColWidths>
    </View>
    <View>
      <WinId>1937</WinId>
      <ViewName>Watch 2</ViewName>
      <UserString></UserString>
      <TableColWidths>66 66 66</TableColWidths>
    </View>
    <View>
      <WinId>1935</WinId>
      <ViewName>Call Stack + Locals</ViewName>
      <UserString></UserString>
      <TableColWidths>66 66 66</TableColWidths>
    </View>
    <View>
      <WinId>2506</WinId>
      <ViewName>Trace Data</ViewName>
      <UserString>FiltIdx=0;DescrEn=0;DescrHeight=4;FuncTrc=0;FindType=8;ColWidths=004B00870082005F004600E600C80096</UserString>
      <TableColWidths>75 135 130 95 70 230 200 150</TableColWidths>
    </View>
    <View>
      <WinId>466</WinId>
      <ViewName>Source Browser</ViewName>
      <UserString>500</UserString>
      <TableColWidths>166</TableColWidths>
    </View>
  </TreeListPane>

  <CompViewPool/>

  <WindowSettings>
    <LogicAnalizer>
      <ShowLACursor>0</ShowLACursor>
      <ShowSignalInfo>0</ShowSignalInfo>
      <ShowCycles>0</ShowCycles>
      <LeftSideBarSize>50</LeftSideBarSize>
      <TimeBaseIndex>16</TimeBaseIndex>
    </LogicAnalizer>
  </WindowSettings>

  <WinLayoutEx>
    <sActiveDebugView></sActiveDebugView>
    <WindowPosition>
      <length>44</length>
      <flags>2</flags>
      <showCmd>3</showCmd>
      <MinPosition>
        <xPos>-32000</xPos>
        <yPos>-32000</yPos>
      </MinPosition>
      <MaxPosition>
        <xPos>-1</xPos>
        <yPos>-1</yPos>
      </MaxPosition>
      <NormalPosition>
        <Top>437</Top>
        <Left>1826</Left>
        <Right>3121</Right>
        <Bottom>1183</Bottom>
      </NormalPosition>
    </WindowPosition>
    <MDIClientArea>
      <RegID>0</RegID>
      <MDITabState>
        <Len>415</Len>
        <Data>0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000000200000001000000010000006F453A5C53564E5C70726F6A656374735C4D43555C47656E657269635F4D43555F536F6674776172655F496E6672617374727563747572655C6578616D706C655C6275696C645C6D646B5C5254455C4465766963655C41524D434D345F46505C737461727475705F41524D434D342E730000000010737461727475705F41524D434D342E7300000000C5D4F200FFFFFFFF48453A5C53564E5C70726F6A656374735C4D43555C47656E657269635F4D43555F536F6674776172655F496E6672617374727563747572655C6578616D706C655C73797374656D2E63000000000873797374656D2E6300000000FFDC7800FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD5000100000000000000020000000A07000058FFFFFF620F000023030000</Data>
      </MDITabState>
    </MDIClientArea>
    <ViewEx>
      <ViewType>0</ViewType>
      <ViewName>Build</ViewName>
      <Window>
        <RegID>-1</RegID>
        <PaneID>-1</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>CC0000004F000000A0040000F2000000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>6C06000058FFFFFF400A0000FBFFFFFF</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>1005</RegID>
        <PaneID>1005</PaneID>
        <IsVisible>1</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>03000000660000006301000001040000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B01000031010000E301000016020000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>109</RegID>
        <PaneID>109</PaneID>
        <IsVisible>1</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>03000000660000006301000001040000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B0100003101000007020000C1030000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>1465</RegID>
        <PaneID>1465</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>03000000800200009D04000007030000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B010000310100006B030000D4010000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>1466</RegID>
        <PaneID>1466</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>03000000800200009D04000007030000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B010000310100006B030000D4010000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>1467</RegID>
        <PaneID>1467</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>03000000800200009D04000007030000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B010000310100006B030000D4010000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>1468</RegID>
        <PaneID>1468</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>03000000800200009D04000007030000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B010000310100006B030000D4010000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>1506</RegID>
        <PaneID>1506</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>16384</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>DB030000660000009D04000060020000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B01000031010000E301000016020000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>1913</RegID>
        <PaneID>1913</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>CF000000660000009D040000D9000000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B010000310100006B030000D4010000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>1935</RegID>
        <PaneID>1935</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>32768</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>03000000800200009D04000007030000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B01000031010000E301000016020000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>1936</RegID>
        <PaneID>1936</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>03000000800200009D04000007030000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B01000031010000E301000016020000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>1937</RegID>
        <PaneID>1937</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>03000000800200009D04000007030000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B01000031010000E301000016020000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>1939</RegID>
        <PaneID>1939</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>03000000800200009D04000007030000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B010000310100006B030000D4010000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>1940</RegID>
        <PaneID>1940</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>03000000800200009D04000007030000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B010000310100006B030000D4010000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>1941</RegID>
        <PaneID>1941</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>03000000800200009D04000007030000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B010000310100006B030000D4010000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>1942</RegID>
        <PaneID>1942</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>03000000800200009D04000007030000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B010000310100006B030000D4010000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>195</RegID>
        <PaneID>195</PaneID>
        <IsVisible>1</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>03000000660000006301000001040000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B0100003101000007020000C1030000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>196</RegID>
        <PaneID>196</PaneID>
        <IsVisible>1</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>03000000660000006301000001040000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B0100003101000007020000C1030000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>197</RegID>
        <PaneID>197</PaneID>
        <IsVisible>1</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>32768</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>0000000032040000C209000076050000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B010000310100006B030000D4010000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>198</RegID>
        <PaneID>198</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>32768</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>0000000069020000A004000020030000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B010000310100006B030000D4010000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>199</RegID>
        <PaneID>199</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>0300000035040000BF0900005D050000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B010000310100006B030000D4010000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>203</RegID>
        <PaneID>203</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>8192</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>CF000000660000009D040000D9000000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B010000310100006B030000D4010000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>204</RegID>
        <PaneID>204</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>CF000000660000009D040000D9000000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B010000310100006B030000D4010000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>221</RegID>
        <PaneID>221</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>00000000000000000000000000000000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>0A0000000A0000006E0000006E000000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>2506</RegID>
        <PaneID>2506</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>DB030000660000009D04000060020000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B01000031010000E301000016020000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>2507</RegID>
        <PaneID>2507</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>03000000800200009D04000007030000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B010000310100006B030000D4010000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>343</RegID>
        <PaneID>343</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>CF000000660000009D040000D9000000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B010000310100006B030000D4010000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>346</RegID>
        <PaneID>346</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>CF000000660000009D040000D9000000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B010000310100006B030000D4010000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>35141</RegID>
        <PaneID>35141</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>AB00000066000000C8030000AD000000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>8A000000A10000002E01000050010000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>35824</RegID>
        <PaneID>35824</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>CF000000660000009D040000D9000000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B010000310100006B030000D4010000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>35885</RegID>
        <PaneID>35885</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>DB030000660000009D04000060020000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B01000031010000E301000016020000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>35886</RegID>
        <PaneID>35886</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>DB030000660000009D04000060020000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B01000031010000E301000016020000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>35887</RegID>
        <PaneID>35887</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>DB030000660000009D04000060020000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B01000031010000E301000016020000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>35888</RegID>
        <PaneID>35888</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>DB030000660000009D04000060020000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B01000031010000E301000016020000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>35889</RegID>
        <PaneID>35889</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>DB030000660000009D04000060020000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B01000031010000E301000016020000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>35890</RegID>
        <PaneID>35890</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>DB030000660000009D04000060020000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B01000031010000E301000016020000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>35891</RegID>
        <PaneID>35891</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>DB030000660000009D04000060020000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B01000031010000E301000016020000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>35892</RegID>
        <PaneID>35892</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>DB030000660000009D04000060020000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B01000031010000E301000016020000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>35893</RegID>
        <PaneID>35893</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>DB030000660000009D04000060020000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B01000031010000E301000016020000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>35894</RegID>
        <PaneID>35894</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>DB030000660000009D04000060020000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B01000031010000E301000016020000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>35895</RegID>
        <PaneID>35895</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>DB030000660000009D04000060020000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B01000031010000E301000016020000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>35896</RegID>
        <PaneID>35896</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>DB030000660000009D04000060020000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B01000031010000E301000016020000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>35897</RegID>
        <PaneID>35897</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>DB030000660000009D04000060020000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B01000031010000E301000016020000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>35898</RegID>
        <PaneID>35898</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>DB030000660000009D04000060020000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B01000031010000E301000016020000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>35899</RegID>
        <PaneID>35899</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>DB030000660000009D04000060020000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B01000031010000E301000016020000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>35900</RegID>
        <PaneID>35900</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>DB030000660000009D04000060020000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B01000031010000E301000016020000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>35901</RegID>
        <PaneID>35901</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>DB030000660000009D04000060020000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B01000031010000E301000016020000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>35902</RegID>
        <PaneID>35902</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>DB030000660000009D04000060020000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B01000031010000E301000016020000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>35903</RegID>
        <PaneID>35903</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>DB030000660000009D04000060020000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B01000031010000E301000016020000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>35904</RegID>
        <PaneID>35904</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>DB030000660000009D04000060020000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B01000031010000E301000016020000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>35905</RegID>
        <PaneID>35905</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>DB030000660000009D04000060020000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B01000031010000E301000016020000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>38003</RegID>
        <PaneID>38003</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>03000000660000006301000001040000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B0100003101000007020000C1030000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>38007</RegID>
        <PaneID>38007</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>0300000035040000BF0900005D050000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B010000310100006B030000D4010000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>436</RegID>
        <PaneID>436</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>0300000035040000BF0900005D050000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B0100003101000007020000C1030000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>437</RegID>
        <PaneID>437</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>03000000800200009D04000007030000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B01000031010000E301000016020000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>440</RegID>
        <PaneID>440</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>03000000800200009D04000007030000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>1B01000031010000E301000016020000</Data>
        </RectRecentFloat>
      </Window>
      <Window>
        <RegID>463</RegID>
        <PaneID>463</PaneID>
        <IsVisible>0</IsVisible>
        <IsFloating>0</IsFloating>
        <IsTabbed>0</IsTabbed>
        <IsActivated>0</IsActivated>
        <MRUWidth>32767</MRUWidth>
        <PinState>0</PinState>
        <RecentFrameAlignment>4096</RecentFrameAlignment>
        <RecentRowIndex>0</RecentRowIndex>
        <RectRecentDocked>
          <Len>16</Len>
          <Data>0300000016050000BF0900005D050000</Data>
        </RectRecentDocked>
        <RectRecentFloat>
          <Len>16</Len>
          <Data>8A000000A10000004C01000081020000</Data>
        </RectRece
Download .txt
gitextract_iu0vyl3p/

├── .gitattributes
├── .gitignore
├── .gitmodules
├── LICENSE
├── README.md
├── example/
│   ├── RTE/
│   │   ├── Device/
│   │   │   └── CMSDK_CM7_SP/
│   │   │       ├── RTE_Device.h
│   │   │       ├── startup_CMSDK_CM7.s
│   │   │       └── system_CMSDK_CM7.c
│   │   └── _V2M-MPS2/
│   │       └── RTE_Components.h
│   ├── app_cfg.h
│   ├── app_platform/
│   │   ├── app_cfg.h
│   │   ├── app_platform.c
│   │   ├── app_platform.h
│   │   ├── stdout_USART.c
│   │   └── stdout_USART.h
│   ├── build/
│   │   └── mdk/
│   │       ├── Abstract.txt
│   │       ├── Blinky.sct
│   │       ├── Blinky.uvguix
│   │       ├── Blinky.uvguix.gabriel
│   │       ├── Blinky.uvoptx
│   │       ├── Blinky.uvprojx
│   │       ├── Dbg_MPS2.ini
│   │       ├── Dbg_Sim.ini
│   │       ├── EventRecorderStub.scvd
│   │       ├── FVP_cfg.txt
│   │       ├── MPS2_CS_ETB.ini
│   │       ├── MPS2_CS_TPIU.ini
│   │       └── RTE/
│   │           ├── Board_Support/
│   │           │   ├── MK64FN1M0xxx12/
│   │           │   │   ├── board.c
│   │           │   │   ├── board.h
│   │           │   │   ├── clock_config.c
│   │           │   │   ├── clock_config.h
│   │           │   │   ├── peripherals.c
│   │           │   │   ├── peripherals.h
│   │           │   │   ├── pin_mux.c
│   │           │   │   └── pin_mux.h
│   │           │   ├── board.c
│   │           │   ├── board.h
│   │           │   ├── clock_config.c
│   │           │   ├── clock_config.h
│   │           │   ├── peripherals.c
│   │           │   ├── peripherals.h
│   │           │   ├── pin_mux.c
│   │           │   └── pin_mux.h
│   │           ├── Device/
│   │           │   ├── ARMCM4_FP/
│   │           │   │   ├── startup_ARMCM4.s
│   │           │   │   └── system_ARMCM4.c
│   │           │   ├── CMSDK_CM4_FP/
│   │           │   │   ├── RTE_Device.h
│   │           │   │   ├── startup_CMSDK_CM4.s
│   │           │   │   └── system_CMSDK_CM4.c
│   │           │   ├── CMSDK_CM7_DP/
│   │           │   │   ├── RTE_Device.h
│   │           │   │   ├── startup_CMSDK_CM7.s
│   │           │   │   └── system_CMSDK_CM7.c
│   │           │   ├── CMSDK_CM7_SP/
│   │           │   │   ├── RTE_Device.h
│   │           │   │   ├── startup_CMSDK_CM7.s
│   │           │   │   └── system_CMSDK_CM7.c
│   │           │   └── MK64FN1M0xxx12/
│   │           │       ├── MK64F12.h
│   │           │       ├── MK64F12_features.h
│   │           │       ├── MK64FN1M0xxx12_flash.scf
│   │           │       ├── MK64FN1M0xxx12_ram.scf
│   │           │       ├── RTE_Device.h
│   │           │       ├── fsl_device_registers.h
│   │           │       ├── startup_MK64F12.s
│   │           │       ├── startup_MK64F12.s.0000
│   │           │       ├── system_MK64F12.c
│   │           │       ├── system_MK64F12.c.0000
│   │           │       └── system_MK64F12.h
│   │           ├── _FRDM-K64/
│   │           │   └── RTE_Components.h
│   │           ├── _FastModel/
│   │           │   └── RTE_Components.h
│   │           └── _V2M-MPS2/
│   │               └── RTE_Components.h
│   ├── menu_example.c
│   ├── scheduler_example.c
│   └── system.c
└── sources/
    ├── app_cfg.h
    └── gmsi/
        ├── app_cfg.h
        ├── arch/
        │   ├── app_cfg.h
        │   ├── arch.h
        │   └── arm/
        │       ├── app_cfg.h
        │       └── cortex-m/
        │           ├── app_cfg.h
        │           ├── arch_cortex-m.c
        │           └── arch_cortex-m.h
        ├── default.c
        ├── gmsi.c
        ├── gmsi.h
        ├── hal/
        │   ├── app_cfg.h
        │   ├── bsp/
        │   │   ├── app_cfg.h
        │   │   ├── bsp.c
        │   │   └── bsp.h
        │   ├── component/
        │   │   ├── app_cfg.h
        │   │   ├── bootloader/
        │   │   │   ├── app_cfg.h
        │   │   │   ├── bootloader.c
        │   │   │   └── bootloader.h
        │   │   ├── component.c
        │   │   ├── component.h
        │   │   ├── key/
        │   │   │   ├── app_cfg.h
        │   │   │   ├── key.c
        │   │   │   ├── key.h
        │   │   │   ├── key_interface.h
        │   │   │   └── key_queue/
        │   │   │       ├── app_cfg.h
        │   │   │       ├── key_queue.c
        │   │   │       └── key_queue.h
        │   │   ├── memory/
        │   │   │   ├── app_cfg.h
        │   │   │   ├── interface.h
        │   │   │   ├── mal/
        │   │   │   │   ├── app_cfg.h
        │   │   │   │   ├── interface.h
        │   │   │   │   ├── mal.c
        │   │   │   │   ├── mal.h
        │   │   │   │   ├── sdf_w25qxxx/
        │   │   │   │   │   ├── app_cfg.h
        │   │   │   │   │   ├── interface.h
        │   │   │   │   │   ├── sdf_w25qxxx.c
        │   │   │   │   │   └── sdf_w25qxxx.h
        │   │   │   │   └── sram/
        │   │   │   │       ├── app_cfg.h
        │   │   │   │       ├── interface.h
        │   │   │   │       ├── sram.c
        │   │   │   │       └── sram.h
        │   │   │   ├── memory.h
        │   │   │   └── page/
        │   │   │       ├── app_cfg.h
        │   │   │       ├── interface.h
        │   │   │       ├── page.c
        │   │   │       └── page.h
        │   │   └── sw_sdio/
        │   │       ├── app_cfg.h
        │   │       ├── sw_sdio.c
        │   │       └── sw_sdio.h
        │   ├── hal.c
        │   └── hal.h
        ├── service/
        │   ├── app_cfg.h
        │   ├── communication/
        │   │   ├── app_cfg.h
        │   │   ├── communication.h
        │   │   ├── crc/
        │   │   │   ├── app_cfg.h
        │   │   │   ├── crc.c
        │   │   │   ├── crc.h
        │   │   │   ├── crc16.c
        │   │   │   ├── crc32.c
        │   │   │   ├── crc7.c
        │   │   │   └── crc8.c
        │   │   ├── frame/
        │   │   │   ├── app_cfg.h
        │   │   │   ├── es_simple_frame/
        │   │   │   │   ├── app_cfg.h
        │   │   │   │   ├── es_simple_frame.c
        │   │   │   │   └── es_simple_frame.h
        │   │   │   ├── frame.h
        │   │   │   └── iframe.h
        │   │   ├── telegraph_engine/
        │   │   │   ├── app_cfg.h
        │   │   │   ├── telegraph_engine.c
        │   │   │   └── telegraph_engine.h
        │   │   └── xmodem/
        │   │       ├── app_cfg.h
        │   │       ├── xmodem.c
        │   │       └── xmodem.h
        │   ├── encryption/
        │   │   ├── app_cfg.h
        │   │   ├── encryption.h
        │   │   └── random/
        │   │       ├── app_cfg.h
        │   │       ├── random.c
        │   │       └── random.h
        │   ├── gui/
        │   │   ├── app_cfg.h
        │   │   ├── gui.h
        │   │   └── tgui/
        │   │       ├── app_cfg.h
        │   │       ├── grid/
        │   │       │   ├── app_cfg.h
        │   │       │   ├── grid.c
        │   │       │   ├── grid.h
        │   │       │   └── interface.h
        │   │       ├── interface.h
        │   │       ├── tgui.c
        │   │       └── tgui.h
        │   ├── memory/
        │   │   ├── app_cfg.h
        │   │   ├── block/
        │   │   │   ├── __class_block.h
        │   │   │   ├── app_cfg.h
        │   │   │   ├── block.c
        │   │   │   └── block.h
        │   │   ├── block_queue/
        │   │   │   ├── app_cfg.h
        │   │   │   ├── block_queue.c
        │   │   │   └── block_queue.h
        │   │   ├── epool/
        │   │   │   ├── app_cfg.h
        │   │   │   ├── epool.c
        │   │   │   └── epool.h
        │   │   ├── memory.c
        │   │   ├── memory.h
        │   │   └── stream2block/
        │   │       ├── app_cfg.h
        │   │       ├── stream2block.c
        │   │       └── stream2block.h
        │   ├── scheduler/
        │   │   ├── app_cfg.h
        │   │   ├── scheduler.c
        │   │   ├── scheduler.h
        │   │   ├── scheduler_internal.h
        │   │   ├── shell.c
        │   │   ├── task.c
        │   │   └── task.h
        │   ├── service.c
        │   ├── service.h
        │   └── time/
        │       ├── app_cfg.h
        │       ├── multiple_delay/
        │       │   ├── app_cfg.h
        │       │   ├── multiple_delay.c
        │       │   └── multiple_delay.h
        │       ├── time.c
        │       └── time.h
        └── utilities/
            ├── app_type.h
            ├── arm/
            │   ├── arm_compiler.h
            │   ├── signal.c
            │   └── signal.h
            ├── avr/
            │   ├── app_type.h
            │   ├── avr_compiler.h
            │   └── signal.h
            ├── communicate.h
            ├── compiler.h
            ├── delegate.c
            ├── delegate.h
            ├── error.h
            ├── ooc.h
            ├── preprocessor/
            │   ├── connect.h
            │   ├── language_extension.h
            │   ├── macro_repeat.h
            │   ├── mf_u8_dec2str.h
            │   └── preprocessor.h
            ├── simple_fsm.h
            ├── template/
            │   ├── t_list.c
            │   ├── t_list.h
            │   ├── t_pool.h
            │   ├── t_queue.h
            │   └── template.h
            ├── tiny_fsm.h
            └── usebits.h
Download .txt
SYMBOL INDEX (498 symbols across 88 files)

FILE: example/RTE/Device/CMSDK_CM7_SP/system_CMSDK_CM7.c
  function SystemCoreClockUpdate (line 60) | void SystemCoreClockUpdate (void)
  function SystemInit (line 65) | void SystemInit (void)

FILE: example/app_platform/app_platform.c
  function _sys_exit (line 39) | void _sys_exit(int ch)
  function _ttywrch (line 45) | void _ttywrch(int ch)
  function FILEHANDLE (line 52) | FILEHANDLE $Sub$$_sys_open(const char *name, int openmode)
  function app_platform_1ms_event_handler (line 62) | void app_platform_1ms_event_handler(void)
  function app_platform_init (line 67) | __attribute__((constructor(101)))

FILE: example/app_platform/stdout_USART.c
  type CMSDK_UART_TypeDef (line 99) | typedef struct
  function _RX_CPL_Handler (line 234) | void USART##__NUM##_RX_CPL_Handler(void)                                \
  function _TX_CPL_Handler (line 261) | void USART##__NUM##_TX_CPL_Handler(void)                                \
  function STREAM_OUT_SERIAL_PORT_ADAPTER (line 285) | END_DEF_OUTPUT_STREAM_BUFFER(   STREAM_OUT)
  function stdout_putchar (line 351) | int stdout_putchar (int ch)
  function stdin_getchar (line 358) | int stdin_getchar (void)

FILE: example/build/mdk/RTE/Board_Support/MK64FN1M0xxx12/board.c
  function BOARD_InitDebugConsole (line 42) | void BOARD_InitDebugConsole(void)

FILE: example/build/mdk/RTE/Board_Support/MK64FN1M0xxx12/clock_config.c
  function BOARD_InitBootClocks (line 99) | void BOARD_InitBootClocks(void)
  function CLOCK_CONFIG_SetFllExtRefDiv (line 111) | static void CLOCK_CONFIG_SetFllExtRefDiv(uint8_t frdiv)
  function BOARD_BootClockRUN (line 203) | void BOARD_BootClockRUN(void)
  function BOARD_BootClockVLPR (line 301) | void BOARD_BootClockVLPR(void)

FILE: example/build/mdk/RTE/Board_Support/MK64FN1M0xxx12/peripherals.c
  function BOARD_InitBootPeripherals (line 14) | void BOARD_InitBootPeripherals(void)

FILE: example/build/mdk/RTE/Board_Support/MK64FN1M0xxx12/pin_mux.c
  function BOARD_InitBootPins (line 56) | void BOARD_InitBootPins(void) {
  function BOARD_InitPins (line 80) | void BOARD_InitPins(void) {

FILE: example/build/mdk/RTE/Board_Support/MK64FN1M0xxx12/pin_mux.h
  type pin_mux_direction_t (line 44) | typedef enum _pin_mux_direction

FILE: example/build/mdk/RTE/Board_Support/board.c
  function BOARD_InitDebugConsole (line 41) | void BOARD_InitDebugConsole(void)

FILE: example/build/mdk/RTE/Board_Support/clock_config.c
  function BOARD_InitBootClocks (line 99) | void BOARD_InitBootClocks(void)
  function CLOCK_CONFIG_SetFllExtRefDiv (line 111) | static void CLOCK_CONFIG_SetFllExtRefDiv(uint8_t frdiv)
  function BOARD_BootClockRUN (line 203) | void BOARD_BootClockRUN(void)
  function BOARD_BootClockVLPR (line 301) | void BOARD_BootClockVLPR(void)

FILE: example/build/mdk/RTE/Board_Support/peripherals.c
  function BOARD_InitBootPeripherals (line 14) | void BOARD_InitBootPeripherals(void)

FILE: example/build/mdk/RTE/Board_Support/pin_mux.c
  function BOARD_InitBootPins (line 56) | void BOARD_InitBootPins(void) {
  function BOARD_InitPins (line 80) | void BOARD_InitPins(void) {

FILE: example/build/mdk/RTE/Board_Support/pin_mux.h
  type pin_mux_direction_t (line 44) | typedef enum _pin_mux_direction

FILE: example/build/mdk/RTE/Device/ARMCM4_FP/system_ARMCM4.c
  function SystemCoreClockUpdate (line 50) | void SystemCoreClockUpdate (void)
  function SystemInit (line 58) | void SystemInit (void)

FILE: example/build/mdk/RTE/Device/CMSDK_CM4_FP/system_CMSDK_CM4.c
  function SystemCoreClockUpdate (line 58) | void SystemCoreClockUpdate (void)
  function SystemInit (line 63) | void SystemInit (void)

FILE: example/build/mdk/RTE/Device/CMSDK_CM7_DP/system_CMSDK_CM7.c
  function SystemCoreClockUpdate (line 60) | void SystemCoreClockUpdate (void)
  function SystemInit (line 65) | void SystemInit (void)

FILE: example/build/mdk/RTE/Device/CMSDK_CM7_SP/system_CMSDK_CM7.c
  function SystemCoreClockUpdate (line 60) | void SystemCoreClockUpdate (void)
  function SystemInit (line 65) | void SystemInit (void)

FILE: example/build/mdk/RTE/Device/MK64FN1M0xxx12/MK64F12.h
  type IRQn_Type (line 163) | typedef enum IRQn {
  type dma_request_source_t (line 320) | typedef enum _dma_request_source
  type ADC_Type (line 436) | typedef struct {
  type AIPS_Type (line 702) | typedef struct {
  type AXBS_Type (line 2030) | typedef struct {
  type CAN_Type (line 2164) | typedef struct {
  type CAU_Type (line 2588) | typedef struct {
  type CMP_Type (line 3101) | typedef struct {
  type CMT_Type (line 3238) | typedef struct {
  type CRC_Type (line 3379) | typedef struct {
  type DAC_Type (line 3571) | typedef struct {
  type DMA_Type (line 3703) | typedef struct {
  type DMAMUX_Type (line 4577) | typedef struct {
  type ENET_Type (line 4635) | typedef struct {
  type EWM_Type (line 5536) | typedef struct {
  type FB_Type (line 5614) | typedef struct {
  type FMC_Type (line 5747) | typedef struct {
  type FTFE_Type (line 5977) | typedef struct {
  type FTM_Type (line 6198) | typedef struct {
  type GPIO_Type (line 6881) | typedef struct {
  type I2C_Type (line 6976) | typedef struct {
  type I2S_Type (line 7194) | typedef struct {
  type LLWU_Type (line 7581) | typedef struct {
  type LPTMR_Type (line 7827) | typedef struct {
  type MCG_Type (line 7920) | typedef struct {
  type MCM_Type (line 8133) | typedef struct {
  type NV_Type (line 8291) | typedef struct {
  type OSC_Type (line 8442) | typedef struct {
  type PDB_Type (line 8506) | typedef struct {
  type PIT_Type (line 8693) | typedef struct {
  type PMC_Type (line 8792) | typedef struct {
  type PORT_Type (line 8885) | typedef struct {
  type RCM_Type (line 9026) | typedef struct {
  type RFSYS_Type (line 9137) | typedef struct {
  type RFVBAT_Type (line 9198) | typedef struct {
  type RNG_Type (line 9259) | typedef struct {
  type RTC_Type (line 9358) | typedef struct {
  type SDHC_Type (line 9576) | typedef struct {
  type SIM_Type (line 10167) | typedef struct {
  type SMC_Type (line 10637) | typedef struct {
  type SPI_Type (line 10722) | typedef struct {
  type SYSMPU_Type (line 11055) | typedef struct {
  type UART_Type (line 11301) | typedef struct {
  type USB_Type (line 11795) | typedef struct {
  type USBDCD_Type (line 12277) | typedef struct {
  type VREF_Type (line 12409) | typedef struct {
  type WDOG_Type (line 12479) | typedef struct {

FILE: example/build/mdk/RTE/Device/MK64FN1M0xxx12/system_MK64F12.c
  function SystemInit (line 123) | void SystemInit (void) {
  function SystemCoreClockUpdate (line 147) | void SystemCoreClockUpdate (void) {

FILE: example/menu_example.c
  type menu_item_t (line 82) | typedef struct __menu_item  menu_item_t;
  type menu_t (line 83) | typedef struct __menu      menu_t;
  type fsm_rt_t (line 85) | typedef fsm_rt_t menu_item_handler_t(menu_item_t *);
  type __menu_item (line 87) | struct __menu_item {
  type menu_engine_cb_t (line 92) | typedef struct __menu_engine_cb menu_engine_cb_t;
  type fsm_rt_t (line 93) | typedef fsm_rt_t menu_engine_t(menu_engine_cb_t *);
  type __menu (line 95) | struct __menu {
  type __menu_engine_cb (line 102) | struct __menu_engine_cb {
  function def_menu_item_template (line 119) | declare_menu_item_template(default_menu_item_t)
  function fsm_rt_t (line 164) | fsm_rt_t top_menu_item_b_handler(menu_item_t *ptItem)
  function fsm_rt_t (line 169) | fsm_rt_t top_menu_item_c_handler(menu_item_t *ptItem)
  type key_t (line 174) | typedef enum {
  function fsm_rt_t (line 184) | fsm_rt_t default_menu_engine(menu_engine_cb_t *ptThis)
  function fsm_rt_t (line 281) | fsm_rt_t lv2_menu_item_a_handler(menu_item_t *ptItem)
  function key_t (line 286) | key_t get_key(void)
  function fsm_rt_t (line 292) | fsm_rt_t menu_task(menu_engine_cb_t *ptThis)
  function example_menu_task (line 320) | void example_menu_task(void)

FILE: example/scheduler_example.c
  function fnfsm_body (line 123) | def_fnfsm_state(check)

FILE: example/system.c
  function SysTick_Handler (line 50) | void SysTick_Handler (void)
  function system_init (line 71) | static void system_init(void)
  function app_2000ms_delay_timeout_event_handler (line 90) | static void app_2000ms_delay_timeout_event_handler(multiple_delay_report...
  function app_3000ms_delay_timeout_event_handler (line 107) | static void app_3000ms_delay_timeout_event_handler(multiple_delay_report...
  function app_1500ms_delay_timeout_event_handler (line 123) | static void app_1500ms_delay_timeout_event_handler(multiple_delay_report...
  function block_t (line 143) | static block_t * frame_parser(block_t *ptBlock, void *ptObj)
  function uint_fast16_t (line 160) | static uint_fast16_t frame_parser(mem_block_t tMemory, uint_fast16_t hwS...
  function app_init (line 168) | static void app_init(void)
  function main (line 262) | int main (void)

FILE: sources/gmsi/arch/arm/cortex-m/arch_cortex-m.c
  function arch_init (line 35) | bool arch_init( void )

FILE: sources/gmsi/default.c
  function __weak (line 29) | __weak void SCHEDULER_INIT(void)

FILE: sources/gmsi/gmsi.c
  function gmsi_platform_init (line 82) | bool gmsi_platform_init( void )

FILE: sources/gmsi/hal/bsp/bsp.c
  function bsp_init (line 38) | bool bsp_init( void )

FILE: sources/gmsi/hal/component/bootloader/bootloader.c
  type uint_fast16_t (line 128) | typedef uint_fast16_t bl_cmd_handler_t(uint8_t *pchStream, uint_fast16_t...
  type bl_cmd_item_t (line 135) | typedef struct {
  type bl_mem_t (line 155) | typedef struct {
  type aes_decrypt_t (line 176) | typedef struct {
  function ROOT (line 260) | ROOT uint_fast16_t booloader_command_parser(uint8_t *pchStream, uint_fas...
  function uint_fast16_t (line 279) | static uint_fast16_t cmd_ack_handler(uint8_t *pchStream, uint_fast16_t h...
  function load_aes_key (line 357) | static void load_aes_key(uint8_t *pchKey)
  function aes_initialize_mask (line 365) | static void aes_initialize_mask( uint8_t chKey, const uint8_t *pchMask, ...
  function aes_decryption (line 375) | static void aes_decryption(uint8_t chKey, uint8_t *pchOrgStream, uint32_...
  function uint_fast16_t (line 436) | static uint_fast16_t cmd_memory_handler(
  function uint_fast16_t (line 492) | static uint_fast16_t cmd_write_memory_handler(uint8_t *pchStream, uint_f...
  function uint_fast16_t (line 499) | static uint_fast16_t cmd_read_memory_handler(uint8_t *pchStream, uint_fa...
  function uint_fast16_t (line 506) | static uint_fast16_t cmd_chip_erase_handler(uint8_t *pchStream, uint_fas...
  function uint_fast16_t (line 513) | static uint_fast16_t cmd_resume_handler(uint8_t *pchStream, uint_fast16_...
  function uint_fast16_t (line 520) | static uint_fast16_t cmd_verify_memory_handler(uint8_t *pchStream, uint_...
  function uint_fast16_t (line 527) | static uint_fast16_t cmd_protect_memory_handler(uint8_t *pchStream, uint...
  function uint_fast16_t (line 534) | static uint_fast16_t cmd_unprotect_memory_handler(uint8_t *pchStream, ui...
  function uint_fast16_t (line 541) | static uint_fast16_t cmd_secure_handler(uint8_t *pchStream, uint_fast16_...

FILE: sources/gmsi/hal/component/bootloader/bootloader.h
  type uint_fast16_t (line 30) | typedef uint_fast16_t bl_cmd_handler_t(uint8_t *pchStream, uint_fast16_t...

FILE: sources/gmsi/hal/component/component.c
  function component_init (line 39) | bool component_init( void )

FILE: sources/gmsi/hal/component/key/key.c
  function fsm_rt_t (line 88) | static fsm_rt_t check_key(uint8_t* pchKey)
  function key_frontend (line 146) | static bool key_frontend(void)
  function fsm_rt_t (line 210) | static fsm_rt_t key_decetor(void)
  function key_init (line 318) | void key_init(void)
  function key_task (line 328) | void key_task(void)
  function get_key (line 339) | bool get_key(key_t* ptKey)

FILE: sources/gmsi/hal/component/key/key_interface.h
  type key_event_t (line 30) | typedef enum{
  type key_t (line 41) | typedef struct{

FILE: sources/gmsi/hal/component/key/key_queue/key_queue.c
  function def_class (line 27) | declare_class(key_queue_t)
  function key_enqueue (line 75) | bool key_enqueue(key_queue_t* ptQueue, key_t* ptKey)
  function key_dequeue (line 105) | bool key_dequeue(key_queue_t* ptQueue, key_t* ptKey)

FILE: sources/gmsi/hal/component/memory/interface.h
  type fsm_rt_t (line 34) | typedef fsm_rt_t mem_access_t( void *pObj,

FILE: sources/gmsi/hal/component/memory/mal/interface.h
  type em_mem_status_t (line 34) | typedef enum {
  type em_mem_property_t (line 47) | typedef enum {
  type mem_info_t (line 56) | typedef struct {

FILE: sources/gmsi/hal/component/memory/mal/mal.c
  function mal_page_write (line 40) | end_def_class(mem_helper_t)
  function fsm_rt_t (line 81) | static fsm_rt_t mal_page_read(
  function fsm_rt_t (line 107) | static fsm_rt_t mal_page_erase(void *pObj, uint32_t wAddress)
  function fsm_rt_t (line 129) | fsm_rt_t mal_mem_read( mem_t *ptMEM,
  function fsm_rt_t (line 144) | fsm_rt_t mal_mem_write( mem_t *ptMEM,
  function mal_mem_init (line 158) | bool mal_mem_init(mem_t *ptMEM, page_t *ptPage, uint8_t *pchBuffer, page...
  function mal_init (line 182) | bool mal_init( void )

FILE: sources/gmsi/hal/component/memory/mal/sdf_w25qxxx/sdf_w25qxxx.c
  function WEAK (line 250) | WEAK void SDF_CLR_WP(void){}
  function WEAK (line 251) | WEAK void SDF_SET_WP(void){}
  function WEAK (line 252) | WEAK void SDF_CLR_HOLD(void){}
  function WEAK (line 253) | WEAK void SDF_SET_HOLD(void){}
  function fsm_rt_t (line 278) | static fsm_rt_t fsm_sdf_spi_stream_exchange(uint8_t *pchOut, uint8_t *pc...
  function fsm_rt_t (line 369) | static fsm_rt_t check_device_state(void)
  function fsm_rt_t (line 445) | static fsm_rt_t write_command_and_address(uint8_t chCommand, uint32_t wA...
  function fsm_rt_t (line 497) | fsm_rt_t fsm_sdf_read_device_ID(uint16_t *phwDID)
  function fsm_rt_t (line 574) | static fsm_rt_t enable_write(void)
  function fsm_rt_t (line 612) | fsm_rt_t fsm_sdf_read_unique_ID(uint64_t *pdwUID)
  function fsm_rt_t (line 697) | static fsm_rt_t sdf_init(mem_t *ptMal, void *ptCFG)
  function fsm_rt_t (line 768) | static fsm_rt_t sdf_finish(mem_t *ptMal)
  function mem_info_t (line 787) | static mem_info_t sdf_info(mem_t *ptMal)
  function fsm_rt_t (line 807) | static fsm_rt_t sdf_open(mem_t *ptMal)
  function fsm_rt_t (line 819) | static fsm_rt_t sdf_close(mem_t *ptMal)
  function em_mem_status_t (line 830) | static em_mem_status_t sdf_status(mem_t *ptMal)
  function fsm_rt_t (line 854) | static fsm_rt_t sdf_page_program(uint32_t wPageAddress, uint8_t *pchStream)
  function fsm_rt_t (line 919) | static fsm_rt_t sdf_page_write(mem_t *ptMal, uint32_t wPageAddress, void...
  function fsm_rt_t (line 994) | static fsm_rt_t sdf_read_random(mem_t *ptMal, uint32_t wAddress,
  function fsm_rt_t (line 1084) | static fsm_rt_t sdf_page_read(mem_t *ptMal, uint32_t wPageAddress,
  function byte_compare (line 1102) | static bool byte_compare(uint8_t *pStream0, uint8_t *pStream1, uint16_t ...
  function fsm_rt_t (line 1133) | static fsm_rt_t sdf_page_verify(mem_t *ptMal, uint32_t wPageAddress,
  function fsm_rt_t (line 1216) | static fsm_rt_t sdf_page_erase(mem_t *ptMal, uint32_t wPageAddress)
  function fsm_rt_t (line 1295) | static fsm_rt_t sdf_chip_erase(mem_t *ptMal)

FILE: sources/gmsi/hal/component/memory/mal/sram/sram.c
  function fsm_rt_t (line 218) | static fsm_rt_t sram_init(mem_t *ptMal, void *ptCFG)
  function fsm_rt_t (line 236) | static fsm_rt_t sram_finish(mem_t *ptMal)
  function mem_info_t (line 251) | static mem_info_t sram_info(mem_t *ptMal)
  function fsm_rt_t (line 270) | static fsm_rt_t sram_open(mem_t *ptMal)
  function fsm_rt_t (line 288) | static fsm_rt_t sram_close(mem_t *ptMal)
  function em_mem_status_t (line 308) | static em_mem_status_t sram_status(mem_t *ptMal)
  function fsm_rt_t (line 330) | static fsm_rt_t sram_page_write(mem_t *ptMal, uint32_t wPageAddress, voi...
  function fsm_rt_t (line 377) | static fsm_rt_t sram_page_read(mem_t *ptMal, uint32_t wPageAddress,
  function fsm_rt_t (line 425) | static fsm_rt_t sram_page_verify(mem_t *ptMal, uint32_t wPageAddress,
  function fsm_rt_t (line 474) | static fsm_rt_t sram_page_erase(mem_t *ptMal, uint32_t wPageAddress)
  function fsm_rt_t (line 512) | static fsm_rt_t sram_chip_erase(mem_t *ptMal)

FILE: sources/gmsi/hal/component/memory/page/interface.h
  type fsm_rt_t (line 33) | typedef fsm_rt_t page_access_t(

FILE: sources/gmsi/hal/component/memory/page/page.c
  type page_size_t (line 30) | typedef enum {
  type page_cfg_t (line 47) | typedef struct {
  function is_page_interface_valid (line 72) | end_def_class(page_t)
  function page_init (line 107) | bool page_init(page_t *ptPage, page_cfg_t *ptCFG)
  function modify_leading_page (line 133) | static void modify_leading_page(class(page_t) *ptThis)
  function modify_final_page (line 173) | static void modify_final_page(class(page_t) *ptThis)
  function fsm_rt_t (line 220) | fsm_rt_t write_memory_disregard_page( page_t *ptPage, uint32_t wAddress,
  function fsm_rt_t (line 442) | fsm_rt_t read_memory_disregard_page( page_t *ptPage, uint32_t wAddress,

FILE: sources/gmsi/hal/component/memory/page/page.h
  type page_size_t (line 37) | typedef enum {
  type page_cfg_t (line 55) | typedef struct {

FILE: sources/gmsi/hal/component/sw_sdio/sw_sdio.c
  type em_sdio_rt_t (line 57) | typedef enum {
  type em_sdio_response_t (line 72) | typedef enum {
  type em_sdio_direction_t (line 82) | typedef enum {
  type em_sdio_block_size_t (line 90) | typedef enum {
  type sdio_cfg_t (line 108) | typedef struct {
  type sdio_cmd_t (line 116) | typedef union {
  function byte_combination_word (line 158) | static uint32_t byte_combination_word(uint8_t *pchDataAddr)
  function fsm_rt_t (line 175) | static fsm_rt_t sdio_work_clk(uint16_t hwClockNumbres)
  function fsm_rt_t (line 233) | static fsm_rt_t sdio_work_sync(void)
  function fsm_rt_t (line 295) | static fsm_rt_t sdio_cmd_sync(void)
  function fsm_rt_t (line 334) | static fsm_rt_t sdio_data_sync(void)
  function fsm_rt_t (line 374) | static fsm_rt_t sdio_read_cmd_bit(uint16_t *phwReadBit,
  function fsm_rt_t (line 439) | static fsm_rt_t sdio_read_data_bit(uint16_t *phwReadBit,
  function fsm_rt_t (line 506) | static fsm_rt_t sdio_write_bit( uint16_t hwWriteBit,
  function fsm_rt_t (line 571) | static fsm_rt_t sdio_write_cmd(uint8_t chCMDIndex, uint32_t wArgument)
  function fsm_rt_t (line 628) | static fsm_rt_t sdio_read_cmd( em_sdio_rt_t *ptSDIOStatus,
  function fsm_rt_t (line 788) | static fsm_rt_t sdio_write_data( em_sdio_block_size_t tBlockSize,
  function fsm_rt_t (line 935) | static fsm_rt_t sdio_read_data( em_sdio_rt_t  *ptSDIOStatus,
  function fsm_rt_t (line 1094) | fsm_rt_t sdio_init(sdio_cfg_t *ptSDIOCfg)
  function sdio_change_clock (line 1133) | void sdio_change_clock(uint8_t chClockDiv)
  function em_sdio_rt_t (line 1151) | em_sdio_rt_t sdio_cmd_transfer( uint8_t  chCMDIndex,
  function em_sdio_rt_t (line 1220) | em_sdio_rt_t sdio_data_transfer( em_sdio_direction_t  tDirection,

FILE: sources/gmsi/hal/component/sw_sdio/sw_sdio.h
  type sdio_cfg_t (line 30) | typedef struct {
  type em_sdio_rt_t (line 37) | typedef enum {
  type em_sdio_response_t (line 52) | typedef enum {
  type em_sdio_direction_t (line 62) | typedef enum {
  type em_sdio_block_size_t (line 70) | typedef enum {

FILE: sources/gmsi/hal/hal.c
  function hal_init (line 37) | bool hal_init( void )

FILE: sources/gmsi/service/communication/crc/crc.c
  function crc16_check (line 34) | uint16_t crc16_check(uint16_t *pwCRCValue,uint8_t chData)
  function crc16_stream_check (line 46) | uint16_t crc16_stream_check(uint16_t *pwCRCValue,

FILE: sources/gmsi/service/communication/crc/crc16.c
  function data_reversal (line 123) | static uint32_t data_reversal(uint32_t wValue, uint8_t chLength)
  function crc16_usb_stream_check (line 152) | uint16_t crc16_usb_stream_check(uint16_t *phwCRCValue, uint8_t *pchData,...
  function crc16_usb_check (line 190) | uint16_t crc16_usb_check(uint16_t *phwCRCValue, uint8_t chData)
  function crc16_usb_stream_check (line 229) | uint16_t crc16_usb_stream_check(uint16_t *phwCRCValue, uint8_t *pchData,...
  function crc16_usb_check (line 258) | uint16_t crc16_usb_check(uint16_t *phwCRCValue, uint8_t chData)
  function crc16_usb_stream_check (line 287) | uint16_t crc16_usb_stream_check(uint16_t *phwCRCValue, uint8_t *pchData,...
  function crc16_usb_check (line 316) | uint16_t crc16_usb_check(uint16_t *phwCRCValue, uint8_t chData)
  function crc16_modbus_stream_check (line 345) | uint16_t crc16_modbus_stream_check(uint16_t *phwCRCValue, uint8_t *pchDa...
  function crc16_modbus_check (line 383) | uint16_t crc16_modbus_check(uint16_t *phwCRCValue, uint8_t chData)
  function crc16_modbus_stream_check (line 422) | uint16_t crc16_modbus_stream_check(uint16_t *phwCRCValue, uint8_t *pchDa...
  function crc16_modbus_check (line 451) | uint16_t crc16_modbus_check(uint16_t *phwCRCValue, uint8_t chData)
  function crc16_modbus_stream_check (line 480) | uint16_t crc16_modbus_stream_check(uint16_t *phwCRCValue, uint8_t *pchDa...
  function crc16_modbus_check (line 509) | uint16_t crc16_modbus_check(uint16_t *phwCRCValue, uint8_t chData)
  function crc16_ccitt_false_stream_check (line 538) | uint16_t crc16_ccitt_false_stream_check(uint16_t *phwCRCValue, uint8_t *...
  function crc16_ccitt_false_check (line 574) | uint16_t crc16_ccitt_false_check(uint16_t *phwCRCValue, uint8_t chData)
  function crc16_ccitt_false_stream_check (line 611) | uint16_t crc16_ccitt_false_stream_check(uint16_t *phwCRCValue, uint8_t *...
  function crc16_ccitt_false_check (line 640) | uint16_t crc16_ccitt_false_check(uint16_t *phwCRCValue, uint8_t chData)
  function crc16_ccitt_false_stream_check (line 669) | uint16_t crc16_ccitt_false_stream_check(uint16_t *phwCRCValue, uint8_t *...
  function crc16_ccitt_false_check (line 697) | uint16_t crc16_ccitt_false_check(uint16_t *phwCRCValue, uint8_t chData)
  function crc16_modem_stream_check (line 726) | uint16_t crc16_modem_stream_check(uint16_t *phwCRCValue, uint8_t *pchDat...
  function crc16_modem_check (line 762) | uint16_t crc16_modem_check(uint16_t *phwCRCValue, uint8_t chData)
  function crc16_modem_stream_check (line 799) | uint16_t crc16_modem_stream_check(uint16_t *phwCRCValue, uint8_t *pchDat...
  function crc16_modem_check (line 828) | uint16_t crc16_modem_check(uint16_t *phwCRCValue, uint8_t chData)
  function crc16_modem_stream_check (line 857) | uint16_t crc16_modem_stream_check(uint16_t *phwCRCValue, uint8_t *pchDat...
  function crc16_modem_check (line 885) | uint16_t crc16_modem_check(uint16_t *phwCRCValue, uint8_t chData)

FILE: sources/gmsi/service/communication/crc/crc32.c
  function crc32_ieee802_3_stream_check (line 162) | uint32_t crc32_ieee802_3_stream_check(uint32_t *pwCRCValue, uint8_t *pch...
  function crc32_ieee802_3_check (line 198) | uint32_t crc32_ieee802_3_check(uint32_t *pwCRCValue, uint8_t chData)
  function crc32_ieee802_3_stream_check (line 235) | uint32_t crc32_ieee802_3_stream_check(uint32_t *pwCRCValue, uint8_t *pch...
  function crc32_ieee802_3_check (line 264) | uint32_t crc32_ieee802_3_check(uint32_t *pwCRCValue, uint8_t chData)
  function crc32_ieee802_3_stream_check (line 293) | uint32_t crc32_ieee802_3_stream_check(uint32_t *pwCRCValue, uint8_t *pch...
  function crc32_ieee802_3_check (line 322) | uint32_t crc32_ieee802_3_check(uint32_t *pwCRCValue, uint8_t chData)
  function crc32_stream_check (line 351) | uint32_t crc32_stream_check(uint32_t *pwCRCValue, uint8_t *pchData, uint...
  function crc32_check (line 380) | uint32_t crc32_check(uint32_t *pwCRCValue, uint8_t chData)
  function crc32_stream_check (line 408) | uint32_t crc32_stream_check(uint32_t *pwCRCValue, uint8_t *pchData, uint...
  function crc32_check (line 437) | uint32_t crc32_check(uint32_t *pwCRCValue, uint8_t chData)
  function data_reversal (line 460) | static uint32_t data_reversal(uint32_t wValue, uint8_t chLength)
  function crc32_stream_check (line 487) | uint32_t crc32_stream_check(uint32_t *pwCRCValue, uint8_t *pchData, uint...
  function crc32_check (line 526) | uint32_t crc32_check(uint32_t *pwCRCValue, uint8_t chData)

FILE: sources/gmsi/service/communication/crc/crc7.c
  function crc7_stream_check (line 74) | uint8_t crc7_stream_check(uint8_t *pchCRCValue, uint8_t *pchData, uint32...
  function crc7_check (line 111) | uint8_t crc7_check(uint8_t *pchCRCValue, uint8_t chData)
  function crc7_stream_check (line 148) | uint8_t crc7_stream_check(uint8_t *pchCRCValue, uint8_t *pchData, uint32...
  function crc7_check (line 176) | uint8_t crc7_check(uint8_t *pchCRCValue, uint8_t chData)

FILE: sources/gmsi/service/communication/crc/crc8.c
  function data_reversal (line 107) | static uint32_t data_reversal(uint32_t wValue, uint8_t chLength)
  function crc8_rohc_stream_check (line 136) | uint8_t crc8_rohc_stream_check(uint8_t *pchCRCValue, uint8_t *pchData, u...
  function crc8_rohc_check (line 174) | uint8_t crc8_rohc_check(uint8_t *pchCRCValue, uint8_t chData)
  function crc8_rohc_stream_check (line 212) | uint8_t crc8_rohc_stream_check(uint8_t *pchCRCValue, uint8_t *pchData, u...
  function crc8_rohc_check (line 241) | uint8_t crc8_rohc_check(uint8_t *pchCRCValue, uint8_t chData)
  function crc8_rohc_stream_check (line 270) | uint8_t crc8_rohc_stream_check(uint8_t *pchCRCValue, uint8_t *pchData, u...
  function crc8_rohc_check (line 298) | uint8_t crc8_rohc_check(uint8_t *pchCRCValue, uint8_t chData)
  function crc8_stream_check (line 327) | uint8_t crc8_stream_check(uint8_t *pchCRCValue, uint8_t *pchData, uint32...
  function crc8_check (line 363) | uint8_t crc8_check(uint8_t *pchCRCValue, uint8_t chData)
  function crc8_stream_check (line 399) | uint8_t crc8_stream_check(uint8_t *pchCRCValue, uint8_t *pchData, uint32...
  function crc8_check (line 428) | uint8_t crc8_check(uint8_t *pchCRCValue, uint8_t chData)
  function crc8_stream_check (line 457) | uint8_t crc8_stream_check(uint8_t *pchCRCValue, uint8_t *pchData, uint32...
  function crc8_check (line 485) | uint8_t crc8_check(uint8_t *pchCRCValue, uint8_t chData)

FILE: sources/gmsi/service/communication/frame/es_simple_frame/es_simple_frame.c
  function private (line 163) | private uint_fast16_t get_buffer_size ( es_simple_frame_t *ptFrame)
  function private (line 193) | private bool es_simple_frame_init(
  function private (line 273) | private fsm_initialiser(es_simple_frame_decoder,
  function private (line 311) | private fsm_rt_t decoder(es_simple_frame_t *ptFrame)
  function state (line 370) | state(WAIT_FOR_LENGTH_L) {
  function state (line 382) | state(WAIT_FOR_LENGTH_H) {
  function state (line 403) | state(WAIT_FOR_DATA) {
  function state (line 424) | state(WAIT_FOR_CHECK_SUM_L) {
  function state (line 439) | state(WAIT_FOR_CHECK_SUM_H) {
  function private (line 499) | private fsm_rt_t task(es_simple_frame_t *ptFrame)
  function private (line 579) | private fsm_initialiser(es_simple_frame_encoder,
  function state (line 624) | state(SEND_HEAD) {
  function state (line 632) | state(SEND_LENGTH_L) {
  function state (line 641) | state(SEND_LENGTH_H) {
  function state (line 650) | state(SEND_DATA) {
  function state (line 670) | state(SEND_CRC_L) {
  function state (line 678) | state(SEND_CRC_H) {
  function private (line 705) | private fsm_rt_t encoder(es_simple_frame_t *ptFrame, uint8_t *pchBuffer,...

FILE: sources/gmsi/service/communication/frame/iframe.h
  type uint_fast16_t (line 29) | typedef uint_fast16_t frame_parser_t(mem_block_t tMemory, uint_fast16_t ...
  type block_t (line 31) | typedef block_t *frame_block_parser_t(block_t *ptBlock, void *pTag);

FILE: sources/gmsi/service/communication/telegraph_engine/telegraph_engine.c
  function simple_fsm (line 62) | end_def_class(telegraph_t)
  function private (line 217) | private fsm_rt_t task(telegraph_engine_t *ptObj)
  function private (line 228) | private bool init(telegraph_engine_t *ptObj, telegraph_engine_cfg_t *ptCFG)
  function private (line 266) | private telegraph_t * telegraph_init(    telegraph_engine_t *ptObj,
  function private (line 297) | private void telegraph_timeout_event_handler(
  function private (line 333) | private bool is_write_only_telegraph(telegraph_t *ptTelegraph)
  function private (line 350) | private bool is_read_only_telegraph(telegraph_t *ptTelegraph)
  function private (line 367) | private void reset_input_block(telegraph_t *ptTelegraph)
  function private (line 381) | private block_t *get_input_block(telegraph_t *ptTelegraph)
  function private (line 398) | private void reset_output_block(telegraph_t *ptTelegraph)
  function private (line 412) | private block_t *get_output_block(telegraph_t *ptTelegraph)
  function private (line 430) | private bool try_to_listen( telegraph_t *ptTelegraph )
  function private (line 435) | private bool try_to_send_telegraph( telegraph_t *ptTelegraph,
  function private (line 530) | private block_t * frontend(block_t *ptBlock, telegraph_engine_t *ptObj)

FILE: sources/gmsi/service/communication/telegraph_engine/telegraph_engine.h
  type frame_parsing_report_t (line 82) | typedef frame_parsing_report_t telegraph_parser_t(
  type fsm_rt_t (line 86) | typedef fsm_rt_t telegraph_engine_low_level_write_io_t(telegraph_t *ptIt...
  function typedef (line 118) | end_extern_class(telegraph_engine_t)

FILE: sources/gmsi/service/communication/xmodem/xmodem.c
  type xmodem_t (line 57) | typedef struct {
  type xm_packet_t (line 68) | typedef enum {
  type packet_t (line 85) | typedef struct {
  function xmodem_init (line 187) | bool xmodem_init(xmodem_t *ptCFG)
  function fsm_rt_t (line 222) | fsm_rt_t xmodem_task(void)
  function WEAK (line 356) | WEAK uint8_t * xmodem_call_back_receive(uint16_t hwLength)
  function xm_packet_t (line 372) | static xm_packet_t xmodem_read_with_timeout(uint8_t * pchByte, uint32_t ...
  function CRC_16_CCITT (line 410) | static uint16_t CRC_16_CCITT(uint16_t hwCRCValue, uint8_t chData)
  function xm_packet_t (line 460) | static xm_packet_t xmodem_rec_package(uint8_t *pchBuffer, bool bCRCMode)
  function xm_packet_t (line 611) | static xm_packet_t xmodem_rec_data(uint8_t * pchBuffer, bool chMode, uin...
  function xm_packet_t (line 671) | static xm_packet_t xmodem_rec_checkout(uint8_t * pchBuffer, bool chMode)

FILE: sources/gmsi/service/communication/xmodem/xmodem.h
  type xmodem_t (line 40) | typedef struct {

FILE: sources/gmsi/service/encryption/random/random.c
  function set_random_seed (line 37) | void set_random_seed( uint16_t hwSeed )
  function reset_random (line 47) | void reset_random( void )
  function get_random_u16 (line 56) | uint16_t get_random_u16( void )

FILE: sources/gmsi/service/gui/tgui/grid/interface.h
  type grid_t (line 32) | typedef struct {
  type grid_rect_t (line 46) | typedef struct {
  type grid_brush_t (line 59) | typedef struct {

FILE: sources/gmsi/service/gui/tgui/interface.h
  type int_fast8_t (line 28) | typedef int_fast8_t     tgui_int_t;
  type int_fast16_t (line 30) | typedef int_fast16_t    tgui_int_t;
  type int_fast32_t (line 32) | typedef int_fast32_t    tgui_int_t;
  type point_t (line 37) | typedef struct {
  type rect_t (line 51) | typedef struct {
  type color_t (line 62) | typedef union {
  type color_t (line 71) | typedef union {
  type color_t (line 75) | typedef union {

FILE: sources/gmsi/service/gui/tgui/tgui.c
  function tgui_init (line 32) | bool tgui_init(void)

FILE: sources/gmsi/service/memory/block/__class_block.h
  function def_interface (line 36) | declare_class(block_t)
  function struct (line 114) | def_interface(i_block_t)

FILE: sources/gmsi/service/memory/block/block.c
  function struct (line 69) | end_def_class(block_pool_t)
  function private (line 137) | private const block_adapter_t* __get_adapter_interface(block_t *ptItem)
  function private (line 164) | private void register_adaptors(block_adapter_t *ptAdaptors, uint_fast8_t...
  function private (line 174) | private block_t *init(block_t *ptBlock, block_cfg_t *ptCFG)
  function private (line 203) | private void reset_block_size(block_t *ptObj)
  function private (line 213) | private void *get_block_buffer(block_t *ptObj)
  function private (line 225) | private bool write_block_buffer( block_t *ptObj,
  function private (line 276) | private mem_block_t read_block_buffer(  block_t *ptObj,
  function private (line 335) | private void set_block_size(block_t *ptObj, uint_fast32_t wSize)
  function private (line 347) | private uint_fast32_t get_block_capability(block_t *ptObj)
  function private (line 355) | private uint_fast32_t get_block_size(block_t *ptObj)
  function private (line 363) | private bool block_pool_init(block_pool_t *ptObj, block_pool_cfg_t *ptCFG)
  function private (line 385) | private uint32_t get_free_block_count(block_pool_t *ptObj)
  function private (line 393) | private block_t *new_block(block_pool_t *ptObj)
  function private (line 406) | private void free_block(block_pool_t *ptObj, block_t *ptItem)
  function private (line 436) | private void pool_item_init_event_handler(  void *pTarget,
  function private (line 476) | private bool block_pool_add_heap(  block_pool_t *ptObj,

FILE: sources/gmsi/service/memory/block/block.h
  function def_interface (line 39) | declare_class(block_t)
  type block_pool_cfg_t (line 117) | typedef struct {
  function struct (line 121) | def_interface(i_block_t)

FILE: sources/gmsi/service/memory/block_queue/block_queue.c
  function private (line 72) | private bool block_queue_init(block_queue_t *ptObj)
  function private (line 90) | private bool append_item_to_list(block_queue_t *ptObj, block_t *ptItem)
  function private (line 106) | private uint32_t get_item_count(block_queue_t *ptObj)
  function private (line 118) | private block_t *get_item_from_list(block_queue_t *ptObj)

FILE: sources/gmsi/service/memory/epool/epool.c
  function pool_init (line 52) | bool pool_init(pool_t *ptPool, void *pTarget)
  function pool_add_heap_ex (line 68) | bool pool_add_heap_ex( pool_t *ptPool,
  function pool_add_heap (line 104) | bool pool_add_heap( pool_t *ptPool,
  function pool_free (line 136) | void pool_free(pool_t *ptPool, void *ptItem)
  function uint_fast32_t (line 150) | uint_fast32_t pool_get_item_count(pool_t *ptPool)
  function __EPOOL_MUTEX_TYPE (line 165) | __EPOOL_MUTEX_TYPE *pool_get_mutex(pool_t *ptPool)

FILE: sources/gmsi/service/memory/stream2block/stream2block.c
  function private (line 131) | private bool stream_dispose (stream_buffer_t *ptObj)
  function private (line 165) | private stream_buffer_status_t get_status (stream_buffer_t *ptObj)
  function private (line 182) | private bool stream_buffer_init(stream_buffer_t *ptObj, stream_buffer_cf...
  function private (line 229) | private block_t *__get_new_block(stream_buffer_t *ptObj)
  function private (line 269) | private block_t *get_next_block(stream_buffer_t *ptObj)
  function private (line 304) | private void return_block(stream_buffer_t *ptObj, block_t *ptItem)
  function private (line 336) | private block_t *request_next_buffer_block(stream_buffer_t *ptObj, block...
  function private (line 395) | private bool queue_init(stream_buffer_t *ptObj, bool bIsStreamForRead)
  function private (line 468) | private bool stream_flush(stream_buffer_t *ptObj)
  function private (line 498) | private bool stream_read_byte(stream_buffer_t *ptObj, uint8_t *pchData)
  function private (line 529) | private int_fast32_t stream_read(  stream_buffer_t *ptObj,
  function private (line 568) | private int_fast32_t stream_write(  stream_buffer_t *ptObj,
  function private (line 608) | private bool stream_write_byte(stream_buffer_t *ptObj, uint_fast8_t chData)
  function private (line 638) | private void __append_block_to_output_list(  stream_buffer_t *ptObj,
  function private (line 656) | private bool stream_write_block(stream_buffer_t *ptObj, block_t *ptBlock)

FILE: sources/gmsi/service/memory/stream2block/stream2block.h
  function declare_class (line 453) | END_EXTERN_QUEUE_U8(StreamBufferQueue)
  function typedef (line 494) | end_extern_class(stream_buffer_t)

FILE: sources/gmsi/service/scheduler/scheduler.c
  type SAFE_TASK_QUEUE (line 43) | typedef volatile struct __safe_task_queue SAFE_TASK_QUEUE;
  type __safe_task_queue (line 44) | struct __safe_task_queue
  function NO_INIT (line 64) | NO_INIT struct {
  function free_task_queue (line 227) | static void free_task_queue(SAFE_TASK_QUEUE *ptQueue)
  function SAFE_TASK_QUEUE (line 254) | static SAFE_TASK_QUEUE *get_free_task_queue(void)
  function add_task_to_queue (line 292) | static bool add_task_to_queue( SAFE_TASK_QUEUE *pTaskQueue, safe_task_t ...
  function safe_task_t (line 324) | static safe_task_t *get_task_from_queue(SAFE_TASK_QUEUE *pTaskQueue)
  function event_t (line 559) | event_t *create_event(event_t *pEvent, bool bManualReset, bool bInitialS...
  function set_event (line 583) | void set_event(event_t *pEvent)
  function leave_critical_section (line 652) | void leave_critical_section(critical_section_t *ptCritical)
  function reset_event (line 721) | void reset_event(event_t *pEvent)
  function wait_for_single_object (line 744) | bool wait_for_single_object(fsm_flag_t *ptFlag, void *ptTask)
  function _register_task (line 834) | static bool _register_task( safe_task_t *pTask )
  function call_task_ex (line 879) | bool call_task_ex( void *pT,
  function call_task (line 930) | bool call_task( void *pT, safe_task_func_t *fnRoutine ,  void *pArg , bo...
  function scheduler_finish (line 999) | void scheduler_finish( void )
  function scheduler_init (line 1020) | void scheduler_init( void )

FILE: sources/gmsi/service/scheduler/scheduler.h
  type fsm_rt_t (line 298) | typedef fsm_rt_t safe_task_func_t(void *pArg, void *);

FILE: sources/gmsi/service/scheduler/scheduler_internal.h
  type fsm_rt_t (line 296) | typedef fsm_rt_t safe_task_func_t(void *pArg, void *);

FILE: sources/gmsi/service/scheduler/shell.c
  function WEAK (line 36) | WEAK bool ON_ENTERING_IDLE_TASK(void)
  function WEAK (line 41) | WEAK void TRY_TO_SLEEP(void)
  function WEAK (line 45) | WEAK void ON_LEAVING_IDLE_TASK(void)
  function idle_task (line 53) | static void idle_task( void )
  function ROOT (line 63) | ROOT void OS_SCHEDULER(void)
  function ROOT (line 70) | ROOT void SCHEDULER_INIT(void)

FILE: sources/gmsi/service/scheduler/task.c
  function task_push_ex (line 66) | bool task_push_ex(
  function task_pop (line 95) | bool task_pop( safe_task_t *pTask )
  function check_task_key (line 123) | bool check_task_key( const uint8_t *pchKey )
  function safe_task_t (line 150) | safe_task_t *new_task( safe_task_func_t *fnRoutine, void *pArg )
  function free_task (line 245) | void free_task( safe_task_t *pTask )
  function task_pool_init (line 279) | bool task_pool_init(void *pHeap, uint16_t hwSize)

FILE: sources/gmsi/service/scheduler/task.h
  type fsm_rt_t (line 35) | typedef fsm_rt_t safe_task_func_t( void *pArg, void * pTask);
  type _task (line 76) | struct _task

FILE: sources/gmsi/service/service.c
  function WEAK (line 31) | WEAK void scheduler_init(void)
  function service_init (line 47) | bool service_init(void)

FILE: sources/gmsi/service/time/multiple_delay/multiple_delay.c
  function private (line 138) | private fsm_rt_t task(multiple_delay_t *ptObj)
  function private (line 151) | private void add_to_delay_list(  multiple_delay_item_t *ptItem,
  function private (line 176) | private bool remove_from_delay_list( multiple_delay_item_t *ptItem,
  function private (line 204) | private void cancel_delay(multiple_delay_t *ptObj, multiple_delay_item_t...
  function private (line 247) | private multiple_delay_item_t * request_delay(
  function private (line 310) | private void insert_timer_tick_event_handler(multiple_delay_t *ptObj)
  function private (line 363) | private bool init(  multiple_delay_t *ptObj,  multiple_delay_cfg_t *ptCFG )
  function private (line 399) | private fsm_initialiser(multiple_delay_task,

FILE: sources/gmsi/service/time/multiple_delay/multiple_delay.h
  type multiple_delay_report_status_t (line 43) | typedef enum {
  type multiple_delay_request_priority_t (line 49) | typedef enum {
  function declare_class (line 68) | end_extern_class(multiple_delay_item_t)

FILE: sources/gmsi/utilities/app_type.h
  type fsm_rt_t (line 169) | typedef enum {
  type reg8_t (line 183) | typedef volatile unsigned char     reg8_t;
  type reg16_t (line 184) | typedef volatile unsigned short    reg16_t;
  type reg32_t (line 185) | typedef volatile unsigned int      reg32_t;

FILE: sources/gmsi/utilities/arm/arm_compiler.h
  function ALWAYS_INLINE (line 445) | static ALWAYS_INLINE uint32_t ____disable_irq(void)
  function ALWAYS_INLINE (line 462) | static ALWAYS_INLINE uint32_t ____disable_irq(void)
  type __istate_t (line 476) | typedef __istate_t   istate_t;
  type istate_t (line 480) | typedef int   istate_t;
  type istate_t (line 484) | typedef uint32_t   istate_t;
  type istate_t (line 486) | typedef uint32_t   istate_t;
  function ____get_PRIMASK (line 494) | __attribute__((always_inline)) static inline uint32_t ____get_PRIMASK(void)
  function ____set_PRIMASK (line 509) | __attribute__((always_inline)) static inline void ____set_PRIMASK(uint32...

FILE: sources/gmsi/utilities/arm/signal.c
  function __default_code_region_atom_code_on_enter (line 65) | static void __default_code_region_atom_code_on_enter(void *pObj, void *p...
  function __default_code_region_atom_code_on_leave (line 73) | static void __default_code_region_atom_code_on_leave(void *pObj,void *pL...
  function __default_code_region_none_on_enter (line 80) | static void __default_code_region_none_on_enter(void *pObj, void *pLocal)
  function __default_code_region_none_on_leave (line 84) | static void __default_code_region_none_on_leave(void *pObj,void *pLocal)
  function init_lock (line 92) | void init_lock(locker_t *ptLock)
  function enter_lock (line 106) | bool enter_lock(locker_t *ptLock)
  function leave_lock (line 129) | void leave_lock(locker_t *ptLock)
  function check_lock (line 142) | bool check_lock(locker_t *ptLock)

FILE: sources/gmsi/utilities/arm/signal.h
  type locker_t (line 219) | typedef volatile bool locker_t;
  type i_code_region_t (line 221) | typedef struct {
  type code_region_t (line 227) | typedef struct {

FILE: sources/gmsi/utilities/avr/app_type.h
  type fsm_rt_t (line 150) | typedef enum {

FILE: sources/gmsi/utilities/avr/signal.h
  type locker_t (line 127) | typedef volatile bool locker_t;

FILE: sources/gmsi/utilities/communicate.h
  type mem_block_t (line 28) | typedef struct {
  function def_interface (line 48) | end_def_interface(i_byte_pipe_t)

FILE: sources/gmsi/utilities/delegate.c
  type fsm_rt_t (line 36) | typedef fsm_rt_t delegate_handler_func_t(void *pArg, void *pParam);
  function delegate_handler_t (line 94) | delegate_handler_t *delegate_handler_init(
  function gsf_err_t (line 129) | gsf_err_t register_delegate_handler(delegate_t *ptEvent, delegate_handle...
  function gsf_err_t (line 164) | gsf_err_t unregister_delegate_handler( delegate_t *ptEvent, delegate_han...
  function fsm_rt_t (line 204) | static fsm_rt_t __move_to_block_list(class(delegate_t) *ptThis, class(de...
  function fsm_rt_t (line 230) | fsm_rt_t invoke_delegate( delegate_t *ptEvent, void *pParam)

FILE: sources/gmsi/utilities/delegate.h
  type fsm_rt_t (line 32) | typedef fsm_rt_t delegate_handler_func_t(void *pArg, void *pParam);

FILE: sources/gmsi/utilities/error.h
  type gsf_err_t (line 38) | typedef enum {

FILE: sources/gmsi/utilities/simple_fsm.h
  type fsm_rt_t (line 301) | typedef enum {

FILE: sources/gmsi/utilities/template/t_list.c
  function def_structure (line 33) | end_def_structure( __single_list_note_t )

FILE: sources/gmsi/utilities/template/t_queue.h
  function _queue_peek (line 252) | bool __NAME##_queue_peek(__NAME##_queue_t *ptQueue, __TYPE *ptObj)      ...
  function _dequeue (line 280) | bool __NAME##_dequeue(__NAME##_queue_t *ptQueue, __TYPE *ptObj)         ...
  function int_fast32_t (line 309) | int_fast32_t __NAME##_dequeue_block( __NAME##_queue_t *ptQueue,         ...
  function __PTR_TYPE (line 375) | __PTR_TYPE __NAME##_get_queue_item_count(__NAME##_queue_t *ptQueue)     ...
  function __PTR_TYPE (line 388) | __PTR_TYPE __NAME##_get_queue_item_available_count(__NAME##_queue_t *ptQ...
  function _get_all_peeked (line 401) | void __NAME##_get_all_peeked(__NAME##_queue_t *ptQueue)                 ...
  function _reset_peek (line 413) | void __NAME##_reset_peek(__NAME##_queue_t *ptQueue)                     ...

FILE: sources/gmsi/utilities/usebits.h
  type byte_t (line 42) | typedef union {
  type hword_t (line 69) | typedef union
  type word_t (line 124) | typedef union {
Condensed preview — 217 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (2,737K chars).
[
  {
    "path": ".gitattributes",
    "chars": 65,
    "preview": "# Auto detect text files and perform LF normalization\n* text=auto"
  },
  {
    "path": ".gitignore",
    "chars": 644,
    "preview": "\n*.d\n*.o\n*.crf\nexample/build/mdk/Out/Blinky.axf\nexample/build/mdk/Out/Blinky.build_log.htm\nexample/build/mdk/Out/Blinky."
  },
  {
    "path": ".gitmodules",
    "chars": 313,
    "preview": "[submodule \"sources/gmsi/utilities/3rd-party/PLOOC\"]\n\tpath = sources/gmsi/utilities/3rd-party/PLOOC\n\turl = https://githu"
  },
  {
    "path": "LICENSE",
    "chars": 11323,
    "preview": "Apache License\n                           Version 2.0, January 2004\n                        http://www.apache.org/licens"
  },
  {
    "path": "README.md",
    "chars": 3647,
    "preview": "# Generic_MCU_Software_Infrastructure\n\nProvides necessary software infrastructures, services, macros to support some hig"
  },
  {
    "path": "example/RTE/Device/CMSDK_CM7_SP/RTE_Device.h",
    "chars": 2199,
    "preview": "/* -----------------------------------------------------------------------------\n * Copyright (c) 2016 ARM Ltd.\n *\n * Th"
  },
  {
    "path": "example/RTE/Device/CMSDK_CM7_SP/startup_CMSDK_CM7.s",
    "chars": 11418,
    "preview": ";/**************************************************************************//**\n; * @file     startup_CMSDK_CM7.s\n; * @"
  },
  {
    "path": "example/RTE/Device/CMSDK_CM7_SP/system_CMSDK_CM7.c",
    "chars": 3116,
    "preview": "/**************************************************************************//**\n * @file     system_CMSDK_CM7.c\n * @brie"
  },
  {
    "path": "example/RTE/_V2M-MPS2/RTE_Components.h",
    "chars": 494,
    "preview": "\n/*\n * Auto generated Run-Time-Environment Component Configuration File\n *      *** Do not modify ! ***\n *\n * Project: '"
  },
  {
    "path": "example/app_cfg.h",
    "chars": 5567,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "example/app_platform/app_cfg.h",
    "chars": 1976,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "example/app_platform/app_platform.c",
    "chars": 2934,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "example/app_platform/app_platform.h",
    "chars": 2306,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "example/app_platform/stdout_USART.c",
    "chars": 19192,
    "preview": "/*-----------------------------------------------------------------------------\n * Name:    stdout_USART.c\n * Purpose: S"
  },
  {
    "path": "example/app_platform/stdout_USART.h",
    "chars": 2908,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "example/build/mdk/Abstract.txt",
    "chars": 1171,
    "preview": "The 'Blinky' project is a simple demo program for\nARM 'Cortex-M7' microcontroller using ARM 'V2M-MPS2' Evaluation Board."
  },
  {
    "path": "example/build/mdk/Blinky.sct",
    "chars": 959,
    "preview": "#! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m33 -xc\n; command above MUST be in first line (no comment above!)"
  },
  {
    "path": "example/build/mdk/Blinky.uvguix",
    "chars": 85553,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<ProjectGui xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance"
  },
  {
    "path": "example/build/mdk/Blinky.uvguix.gabriel",
    "chars": 180322,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<ProjectGui xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance"
  },
  {
    "path": "example/build/mdk/Blinky.uvoptx",
    "chars": 33217,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<ProjectOpt xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance"
  },
  {
    "path": "example/build/mdk/Blinky.uvprojx",
    "chars": 53374,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<Project xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" x"
  },
  {
    "path": "example/build/mdk/Dbg_MPS2.ini",
    "chars": 790,
    "preview": "/*----------------------------------------------------------------------------\n * Name:    Dbg_MPS2.ini\n * Purpose: MPS2"
  },
  {
    "path": "example/build/mdk/Dbg_Sim.ini",
    "chars": 947,
    "preview": "/*----------------------------------------------------------------------------\n * Name:    Dbg_Sim.ini\n * Purpose: Simul"
  },
  {
    "path": "example/build/mdk/EventRecorderStub.scvd",
    "chars": 330,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n\n<component_viewer schemaVersion=\"0.1\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema"
  },
  {
    "path": "example/build/mdk/FVP_cfg.txt",
    "chars": 3901,
    "preview": "# Parameters:\n# instance.parameter=value       #(type, mode) default = 'def value' : description : [min..max]\n#---------"
  },
  {
    "path": "example/build/mdk/MPS2_CS_ETB.ini",
    "chars": 1112,
    "preview": "FUNC void SetupETB() {\n\tunsigned int value;\n\t\n\t// Disable ITM/DWT flush when using TMC/ETB\n\t//value = _RDWORD(0xE000E008"
  },
  {
    "path": "example/build/mdk/MPS2_CS_TPIU.ini",
    "chars": 981,
    "preview": "FUNC void SetupTPIU() {\n\tunsigned int value;\n\t\n\t// TPIU Funnel Setup\n\t_WDWORD(0xE00F1004, 0x00000D1);   // Port 0 (ETM-I"
  },
  {
    "path": "example/build/mdk/RTE/Board_Support/MK64FN1M0xxx12/board.c",
    "chars": 2146,
    "preview": "/*\n * The Clear BSD License\n * Copyright (c) 2015, Freescale Semiconductor, Inc.\n * Copyright 2016-2017 NXP\n * All right"
  },
  {
    "path": "example/build/mdk/RTE/Board_Support/MK64FN1M0xxx12/board.h",
    "chars": 6709,
    "preview": "/*\n * The Clear BSD License\n * Copyright (c) 2015, Freescale Semiconductor, Inc.\n * Copyright 2016-2017 NXP\n * All right"
  },
  {
    "path": "example/build/mdk/RTE/Board_Support/MK64FN1M0xxx12/clock_config.c",
    "chars": 15677,
    "preview": "/*\n * The Clear BSD License\n * Copyright (c) 2015, Freescale Semiconductor, Inc.\n * Copyright 2016-2017 NXP\n * All right"
  },
  {
    "path": "example/build/mdk/RTE/Board_Support/MK64FN1M0xxx12/clock_config.h",
    "chars": 5349,
    "preview": "/*\n * The Clear BSD License\n * Copyright (c) 2015, Freescale Semiconductor, Inc.\n * Copyright 2016-2017 NXP\n * All right"
  },
  {
    "path": "example/build/mdk/RTE/Board_Support/MK64FN1M0xxx12/peripherals.c",
    "chars": 649,
    "preview": "/* TEXT BELOW IS USED AS SETTING FOR TOOLS *************************************\n!!GlobalInfo\nproduct: Peripherals v1.0\n"
  },
  {
    "path": "example/build/mdk/RTE/Board_Support/MK64FN1M0xxx12/peripherals.h",
    "chars": 431,
    "preview": "#ifndef _PERIPHERALS_H_\n#define _PERIPHERALS_H_\n\n#if defined(__cplusplus)\nextern \"C\" {\n#endif /*_cplusplus. */\n/********"
  },
  {
    "path": "example/build/mdk/RTE/Board_Support/MK64FN1M0xxx12/pin_mux.c",
    "chars": 4416,
    "preview": "/*\r\n * The Clear BSD License\r\n * Copyright (c) 2016, Freescale Semiconductor, Inc.\r\n * Copyright 2016-2017 NXP\r\n * All r"
  },
  {
    "path": "example/build/mdk/RTE/Board_Support/MK64FN1M0xxx12/pin_mux.h",
    "chars": 3090,
    "preview": "/*\r\n * The Clear BSD License\r\n * Copyright (c) 2016, Freescale Semiconductor, Inc.\r\n * Copyright 2016-2017 NXP\r\n * All r"
  },
  {
    "path": "example/build/mdk/RTE/Board_Support/board.c",
    "chars": 1965,
    "preview": "/*\n * The Clear BSD License\n * Copyright (c) 2015, Freescale Semiconductor, Inc.\n * Copyright 2016-2017 NXP\n * All right"
  },
  {
    "path": "example/build/mdk/RTE/Board_Support/board.h",
    "chars": 6678,
    "preview": "/*\n * The Clear BSD License\n * Copyright (c) 2015, Freescale Semiconductor, Inc.\n * Copyright 2016-2017 NXP\n * All right"
  },
  {
    "path": "example/build/mdk/RTE/Board_Support/clock_config.c",
    "chars": 15803,
    "preview": "/*\n * The Clear BSD License\n * Copyright (c) 2015, Freescale Semiconductor, Inc.\n * Copyright 2016-2017 NXP\n * All right"
  },
  {
    "path": "example/build/mdk/RTE/Board_Support/clock_config.h",
    "chars": 5349,
    "preview": "/*\n * The Clear BSD License\n * Copyright (c) 2015, Freescale Semiconductor, Inc.\n * Copyright 2016-2017 NXP\n * All right"
  },
  {
    "path": "example/build/mdk/RTE/Board_Support/peripherals.c",
    "chars": 649,
    "preview": "/* TEXT BELOW IS USED AS SETTING FOR TOOLS *************************************\n!!GlobalInfo\nproduct: Peripherals v1.0\n"
  },
  {
    "path": "example/build/mdk/RTE/Board_Support/peripherals.h",
    "chars": 431,
    "preview": "#ifndef _PERIPHERALS_H_\n#define _PERIPHERALS_H_\n\n#if defined(__cplusplus)\nextern \"C\" {\n#endif /*_cplusplus. */\n/********"
  },
  {
    "path": "example/build/mdk/RTE/Board_Support/pin_mux.c",
    "chars": 4449,
    "preview": "/*\r\n * The Clear BSD License\r\n * Copyright (c) 2016, Freescale Semiconductor, Inc.\r\n * Copyright 2016-2017 NXP\r\n * All r"
  },
  {
    "path": "example/build/mdk/RTE/Board_Support/pin_mux.h",
    "chars": 3090,
    "preview": "/*\r\n * The Clear BSD License\r\n * Copyright (c) 2016, Freescale Semiconductor, Inc.\r\n * Copyright 2016-2017 NXP\r\n * All r"
  },
  {
    "path": "example/build/mdk/RTE/Device/ARMCM4_FP/startup_ARMCM4.s",
    "chars": 11073,
    "preview": ";/**************************************************************************//**\n; * @file     startup_CMSDK_CM7.s\n; * @"
  },
  {
    "path": "example/build/mdk/RTE/Device/ARMCM4_FP/system_ARMCM4.c",
    "chars": 2468,
    "preview": "/**************************************************************************//**\n * @file     system_ARMCM4.c\n * @brief  "
  },
  {
    "path": "example/build/mdk/RTE/Device/CMSDK_CM4_FP/RTE_Device.h",
    "chars": 2199,
    "preview": "/* -----------------------------------------------------------------------------\n * Copyright (c) 2016 ARM Ltd.\n *\n * Th"
  },
  {
    "path": "example/build/mdk/RTE/Device/CMSDK_CM4_FP/startup_CMSDK_CM4.s",
    "chars": 11418,
    "preview": ";/**************************************************************************//**\n; * @file     startup_CMSDK_CM4.s\n; * @"
  },
  {
    "path": "example/build/mdk/RTE/Device/CMSDK_CM4_FP/system_CMSDK_CM4.c",
    "chars": 3058,
    "preview": "/**************************************************************************//**\n * @file     system_CMSDK_CM4.c\n * @brie"
  },
  {
    "path": "example/build/mdk/RTE/Device/CMSDK_CM7_DP/RTE_Device.h",
    "chars": 2199,
    "preview": "/* -----------------------------------------------------------------------------\n * Copyright (c) 2016 ARM Ltd.\n *\n * Th"
  },
  {
    "path": "example/build/mdk/RTE/Device/CMSDK_CM7_DP/startup_CMSDK_CM7.s",
    "chars": 11418,
    "preview": ";/**************************************************************************//**\n; * @file     startup_CMSDK_CM7.s\n; * @"
  },
  {
    "path": "example/build/mdk/RTE/Device/CMSDK_CM7_DP/system_CMSDK_CM7.c",
    "chars": 3116,
    "preview": "/**************************************************************************//**\n * @file     system_CMSDK_CM7.c\n * @brie"
  },
  {
    "path": "example/build/mdk/RTE/Device/CMSDK_CM7_SP/RTE_Device.h",
    "chars": 2199,
    "preview": "/* -----------------------------------------------------------------------------\n * Copyright (c) 2016 ARM Ltd.\n *\n * Th"
  },
  {
    "path": "example/build/mdk/RTE/Device/CMSDK_CM7_SP/startup_CMSDK_CM7.s",
    "chars": 12245,
    "preview": ";/**************************************************************************//**\n; * @file     startup_CMSDK_CM7.s\n; * @"
  },
  {
    "path": "example/build/mdk/RTE/Device/CMSDK_CM7_SP/system_CMSDK_CM7.c",
    "chars": 3116,
    "preview": "/**************************************************************************//**\n * @file     system_CMSDK_CM7.c\n * @brie"
  },
  {
    "path": "example/build/mdk/RTE/Device/MK64FN1M0xxx12/MK64F12.h",
    "chars": 840072,
    "preview": "/*\n** ###################################################################\n**     Processors:          MK64FN1M0CAJ12\n** "
  },
  {
    "path": "example/build/mdk/RTE/Device/MK64FN1M0xxx12/MK64F12_features.h",
    "chars": 125658,
    "preview": "/*\n** ###################################################################\n**     Version:             rev. 2.15, 2016-03"
  },
  {
    "path": "example/build/mdk/RTE/Device/MK64FN1M0xxx12/MK64FN1M0xxx12_flash.scf",
    "chars": 4085,
    "preview": "#! armcc -E\n/*\n** ###################################################################\n**     Processors:          MK64FN"
  },
  {
    "path": "example/build/mdk/RTE/Device/MK64FN1M0xxx12/MK64FN1M0xxx12_ram.scf",
    "chars": 3815,
    "preview": "#! armcc -E\n/*\n** ###################################################################\n**     Processors:          MK64FN"
  },
  {
    "path": "example/build/mdk/RTE/Device/MK64FN1M0xxx12/RTE_Device.h",
    "chars": 7801,
    "preview": "/*\n * The Clear BSD License\n * Copyright (c) 2016, Freescale Semiconductor, Inc.\n * Copyright 2016-2017 NXP\n * All right"
  },
  {
    "path": "example/build/mdk/RTE/Device/MK64FN1M0xxx12/fsl_device_registers.h",
    "chars": 2700,
    "preview": "/*\n * The Clear BSD License\n * Copyright 2014-2016 Freescale Semiconductor, Inc.\n * Copyright 2016-2017 NXP\n * All right"
  },
  {
    "path": "example/build/mdk/RTE/Device/MK64FN1M0xxx12/startup_MK64F12.s",
    "chars": 45326,
    "preview": "; * ---------------------------------------------------------------------------------------\n; *  @file:    startup_MK64F"
  },
  {
    "path": "example/build/mdk/RTE/Device/MK64FN1M0xxx12/startup_MK64F12.s.0000",
    "chars": 29063,
    "preview": ";/*****************************************************************************\n; * @file:    startup_MK64F12.s\n; * @pur"
  },
  {
    "path": "example/build/mdk/RTE/Device/MK64FN1M0xxx12/system_MK64F12.c",
    "chars": 11093,
    "preview": "/*\n** ###################################################################\n**     Processors:          MK64FN1M0CAJ12\n** "
  },
  {
    "path": "example/build/mdk/RTE/Device/MK64FN1M0xxx12/system_MK64F12.c.0000",
    "chars": 21985,
    "preview": "/*\n** ###################################################################\n**     Processor:           MK64FN1M0VMD12\n** "
  },
  {
    "path": "example/build/mdk/RTE/Device/MK64FN1M0xxx12/system_MK64F12.h",
    "chars": 7730,
    "preview": "/*\n** ###################################################################\n**     Processors:          MK64FN1M0CAJ12\n** "
  },
  {
    "path": "example/build/mdk/RTE/_FRDM-K64/RTE_Components.h",
    "chars": 620,
    "preview": "\n/*\n * Auto generated Run-Time-Environment Component Configuration File\n *      *** Do not modify ! ***\n *\n * Project: '"
  },
  {
    "path": "example/build/mdk/RTE/_FastModel/RTE_Components.h",
    "chars": 725,
    "preview": "\n/*\n * Auto generated Run-Time-Environment Configuration File\n *      *** Do not modify ! ***\n *\n * Project: 'Blinky' \n "
  },
  {
    "path": "example/build/mdk/RTE/_V2M-MPS2/RTE_Components.h",
    "chars": 724,
    "preview": "\n/*\n * Auto generated Run-Time-Environment Configuration File\n *      *** Do not modify ! ***\n *\n * Project: 'Blinky' \n "
  },
  {
    "path": "example/menu_example.c",
    "chars": 11532,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "example/scheduler_example.c",
    "chars": 7369,
    "preview": "/****************************************************************************\n*  Copyright 2018 Gorgon Meducer (Email:em"
  },
  {
    "path": "example/system.c",
    "chars": 11050,
    "preview": "/****************************************************************************\n*  Copyright 2018 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/app_cfg.h",
    "chars": 5139,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/app_cfg.h",
    "chars": 2480,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/arch/app_cfg.h",
    "chars": 1983,
    "preview": "/****************************************************************************\n*  Copyright 2021 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/arch/arch.h",
    "chars": 2168,
    "preview": "/****************************************************************************\n*  Copyright 2021 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/arch/arm/app_cfg.h",
    "chars": 1991,
    "preview": "/****************************************************************************\n*  Copyright 2021 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/arch/arm/cortex-m/app_cfg.h",
    "chars": 2001,
    "preview": "/****************************************************************************\n*  Copyright 2021 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/arch/arm/cortex-m/arch_cortex-m.c",
    "chars": 2146,
    "preview": "/****************************************************************************\n*  Copyright 2021 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/arch/arm/cortex-m/arch_cortex-m.h",
    "chars": 2128,
    "preview": "/****************************************************************************\n*  Copyright 2021 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/default.c",
    "chars": 1972,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/gmsi.c",
    "chars": 4183,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/gmsi.h",
    "chars": 2558,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/hal/app_cfg.h",
    "chars": 1983,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/hal/bsp/app_cfg.h",
    "chars": 1981,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/hal/bsp/bsp.c",
    "chars": 2235,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/hal/bsp/bsp.h",
    "chars": 2082,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/hal/component/app_cfg.h",
    "chars": 2132,
    "preview": "/***************************************************************************\n *   Copyright(C)2009-2012 by Gorgon Meduce"
  },
  {
    "path": "sources/gmsi/hal/component/bootloader/app_cfg.h",
    "chars": 2015,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/hal/component/bootloader/bootloader.c",
    "chars": 17028,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/hal/component/bootloader/bootloader.h",
    "chars": 2370,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/hal/component/component.c",
    "chars": 2277,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/hal/component/component.h",
    "chars": 2208,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/hal/component/key/app_cfg.h",
    "chars": 1980,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/hal/component/key/key.c",
    "chars": 9983,
    "preview": "/****************************************************************************\n *   Copyright(C)2013-2014 by TanekLiang<y"
  },
  {
    "path": "sources/gmsi/hal/component/key/key.h",
    "chars": 2326,
    "preview": "/****************************************************************************\n *   Copyright(C)2013-2014 by TanekLiang<y"
  },
  {
    "path": "sources/gmsi/hal/component/key/key_interface.h",
    "chars": 2513,
    "preview": "/****************************************************************************\n *   Copyright(C)2013-2014 by TanekLiang<y"
  },
  {
    "path": "sources/gmsi/hal/component/key/key_queue/app_cfg.h",
    "chars": 1992,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/hal/component/key/key_queue/key_queue.c",
    "chars": 4849,
    "preview": "/***************************************************************************\n *   Copyright(C)2013-2014 by TanekLiang<y5"
  },
  {
    "path": "sources/gmsi/hal/component/key/key_queue/key_queue.h",
    "chars": 3061,
    "preview": "/****************************************************************************\n *   Copyright(C)2013-2014 by TanekLiang<y"
  },
  {
    "path": "sources/gmsi/hal/component/memory/app_cfg.h",
    "chars": 1989,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/hal/component/memory/interface.h",
    "chars": 2228,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/hal/component/memory/mal/app_cfg.h",
    "chars": 1997,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/hal/component/memory/mal/interface.h",
    "chars": 4995,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/hal/component/memory/mal/mal.c",
    "chars": 6275,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/hal/component/memory/mal/mal.h",
    "chars": 2860,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/hal/component/memory/mal/sdf_w25qxxx/app_cfg.h",
    "chars": 2347,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/hal/component/memory/mal/sdf_w25qxxx/interface.h",
    "chars": 2021,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/hal/component/memory/mal/sdf_w25qxxx/sdf_w25qxxx.c",
    "chars": 44614,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/hal/component/memory/mal/sdf_w25qxxx/sdf_w25qxxx.h",
    "chars": 3094,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/hal/component/memory/mal/sram/app_cfg.h",
    "chars": 1953,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/hal/component/memory/mal/sram/interface.h",
    "chars": 2017,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/hal/component/memory/mal/sram/sram.c",
    "chars": 16071,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/hal/component/memory/mal/sram/sram.h",
    "chars": 2215,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/hal/component/memory/memory.h",
    "chars": 1949,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/hal/component/memory/page/app_cfg.h",
    "chars": 1993,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/hal/component/memory/page/interface.h",
    "chars": 2555,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/hal/component/memory/page/page.c",
    "chars": 18427,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/hal/component/memory/page/page.h",
    "chars": 4468,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/hal/component/sw_sdio/app_cfg.h",
    "chars": 1987,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/hal/component/sw_sdio/sw_sdio.c",
    "chars": 40746,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/hal/component/sw_sdio/sw_sdio.h",
    "chars": 5009,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/hal/hal.c",
    "chars": 2368,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/hal/hal.h",
    "chars": 2143,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/service/app_cfg.h",
    "chars": 1988,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/service/communication/app_cfg.h",
    "chars": 2149,
    "preview": "/***************************************************************************\n *   Copyright(C)2009-2012 by Gorgon Meduce"
  },
  {
    "path": "sources/gmsi/service/communication/communication.h",
    "chars": 2181,
    "preview": "/***************************************************************************\n *   Copyright(C)2009-2012 by Gorgon Meduce"
  },
  {
    "path": "sources/gmsi/service/communication/crc/app_cfg.h",
    "chars": 2165,
    "preview": "/***************************************************************************\n *   Copyright(C)2009-2010 by Gorgon Meduce"
  },
  {
    "path": "sources/gmsi/service/communication/crc/crc.c",
    "chars": 2758,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/service/communication/crc/crc.h",
    "chars": 10710,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/service/communication/crc/crc16.c",
    "chars": 26935,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/service/communication/crc/crc32.c",
    "chars": 19373,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/service/communication/crc/crc7.c",
    "chars": 6637,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/service/communication/crc/crc8.c",
    "chars": 15028,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/service/communication/frame/app_cfg.h",
    "chars": 2007,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/service/communication/frame/es_simple_frame/app_cfg.h",
    "chars": 1997,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/service/communication/frame/es_simple_frame/es_simple_frame.c",
    "chars": 23577,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/service/communication/frame/es_simple_frame/es_simple_frame.h",
    "chars": 5175,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/service/communication/frame/frame.h",
    "chars": 2055,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/service/communication/frame/iframe.h",
    "chars": 2235,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/service/communication/telegraph_engine/app_cfg.h",
    "chars": 1930,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/service/communication/telegraph_engine/telegraph_engine.c",
    "chars": 19144,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/service/communication/telegraph_engine/telegraph_engine.h",
    "chars": 6875,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/service/communication/xmodem/app_cfg.h",
    "chars": 2005,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/service/communication/xmodem/xmodem.c",
    "chars": 27138,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/service/communication/xmodem/xmodem.h",
    "chars": 3125,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/service/encryption/app_cfg.h",
    "chars": 2092,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/service/encryption/encryption.h",
    "chars": 1939,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/service/encryption/random/app_cfg.h",
    "chars": 2119,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/service/encryption/random/random.c",
    "chars": 2508,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/service/encryption/random/random.h",
    "chars": 2405,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/service/gui/app_cfg.h",
    "chars": 1983,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/service/gui/gui.h",
    "chars": 1921,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/service/gui/tgui/app_cfg.h",
    "chars": 1985,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/service/gui/tgui/grid/app_cfg.h",
    "chars": 1994,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/service/gui/tgui/grid/grid.c",
    "chars": 2000,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/service/gui/tgui/grid/grid.h",
    "chars": 1976,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/service/gui/tgui/grid/interface.h",
    "chars": 3573,
    "preview": "/***************************************************************************\n *   Copyright(C)2009-2014 by Gorgon Meduce"
  },
  {
    "path": "sources/gmsi/service/gui/tgui/interface.h",
    "chars": 2922,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/service/gui/tgui/tgui.c",
    "chars": 2073,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/service/gui/tgui/tgui.h",
    "chars": 1967,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/service/memory/app_cfg.h",
    "chars": 2002,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/service/memory/block/__class_block.h",
    "chars": 5946,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/service/memory/block/app_cfg.h",
    "chars": 1987,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/service/memory/block/block.c",
    "chars": 15048,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/service/memory/block/block.h",
    "chars": 5852,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/service/memory/block_queue/app_cfg.h",
    "chars": 1999,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/service/memory/block_queue/block_queue.c",
    "chars": 4489,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/service/memory/block_queue/block_queue.h",
    "chars": 2738,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/service/memory/epool/app_cfg.h",
    "chars": 1904,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/service/memory/epool/epool.c",
    "chars": 5266,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/service/memory/epool/epool.h",
    "chars": 9609,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/service/memory/memory.c",
    "chars": 1925,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/service/memory/memory.h",
    "chars": 2052,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/service/memory/stream2block/app_cfg.h",
    "chars": 2005,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/service/memory/stream2block/stream2block.c",
    "chars": 22406,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/service/memory/stream2block/stream2block.h",
    "chars": 35829,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/service/scheduler/app_cfg.h",
    "chars": 2030,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/service/scheduler/scheduler.c",
    "chars": 32001,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/service/scheduler/scheduler.h",
    "chars": 15625,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/service/scheduler/scheduler_internal.h",
    "chars": 15777,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/service/scheduler/shell.c",
    "chars": 2700,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/service/scheduler/task.c",
    "chars": 9201,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/service/scheduler/task.h",
    "chars": 6622,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/service/service.c",
    "chars": 2425,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/service/service.h",
    "chars": 2278,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/service/time/app_cfg.h",
    "chars": 1922,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/service/time/multiple_delay/app_cfg.h",
    "chars": 1926,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/service/time/multiple_delay/multiple_delay.c",
    "chars": 17811,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/service/time/multiple_delay/multiple_delay.h",
    "chars": 6306,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/service/time/time.c",
    "chars": 1933,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/service/time/time.h",
    "chars": 1959,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/utilities/app_type.h",
    "chars": 7655,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/utilities/arm/arm_compiler.h",
    "chars": 22448,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/utilities/arm/signal.c",
    "chars": 4726,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/utilities/arm/signal.h",
    "chars": 11191,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/utilities/avr/app_type.h",
    "chars": 6725,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/utilities/avr/avr_compiler.h",
    "chars": 3195,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/utilities/avr/signal.h",
    "chars": 4843,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/utilities/communicate.h",
    "chars": 2761,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  },
  {
    "path": "sources/gmsi/utilities/compiler.h",
    "chars": 3424,
    "preview": "/****************************************************************************\n*  Copyright 2017 Gorgon Meducer (Email:em"
  }
]

// ... and 17 more files (download for full content)

About this extraction

This page contains the full source code of the GorgonMeducer/Generic_MCU_Software_Infrastructure GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 217 files (2.5 MB), approximately 675.4k tokens, and a symbol index with 498 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!